mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-26 10:21:00 +00:00
Compare commits
36
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0ee529e283 | ||
|
|
7ae76e44b1 | ||
|
|
54c32a54b4 | ||
|
|
037b859447 | ||
|
|
02746cd0f5 | ||
|
|
66b300987b | ||
|
|
9bae19fcb3 | ||
|
|
fcd8131998 | ||
|
|
a8f1061a02 | ||
|
|
b46916a8be | ||
|
|
bf024ed34e | ||
|
|
0211277976 | ||
|
|
7758332406 | ||
|
|
cc883e458d | ||
|
|
24f380963b | ||
|
|
ef956b995a | ||
|
|
82b860480f | ||
|
|
89dc4e1b99 | ||
|
|
01fcd71aa3 | ||
|
|
9851874742 | ||
|
|
ff96cce7c3 | ||
|
|
4a4c649dbb | ||
|
|
fb825acbd5 | ||
|
|
24ddd81d7d | ||
|
|
0fb8f3d487 | ||
|
|
3124943292 | ||
|
|
8240984ca8 | ||
|
|
ce41b5a3cb | ||
|
|
8fd93907fd | ||
|
|
8056b32450 | ||
|
|
fabd08af1e | ||
|
|
33a8265a11 | ||
|
|
d96682a798 | ||
|
|
64d04a75f3 | ||
|
|
bf22ef2a82 | ||
|
|
dfd3444ae7 |
@@ -5,8 +5,9 @@
|
||||
# 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. Nothing here
|
||||
# gates a build or a PR.
|
||||
# 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:
|
||||
@@ -20,9 +21,13 @@ on:
|
||||
required: false
|
||||
default: "main"
|
||||
build_branch:
|
||||
description: "branch whose latest successful build_all artifact to test"
|
||||
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
|
||||
@@ -50,14 +55,53 @@ jobs:
|
||||
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
|
||||
gh run list --workflow build_all.yml \
|
||||
--branch "${{ inputs.build_branch || 'main' }}" \
|
||||
--status success --limit 1 --json databaseId,headSha \
|
||||
--jq '"run_id=\(.[0].databaseId)\nhead_sha=\(.[0].headSha)"' \
|
||||
>> "$GITHUB_OUTPUT"
|
||||
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 }})
|
||||
|
||||
@@ -0,0 +1,220 @@
|
||||
# Deferred Page Construction: High Level Design
|
||||
|
||||
## Why it exists
|
||||
|
||||
The main window is a notebook of tabs. When the first frame appears, one tab is on
|
||||
screen and the others are not; some of them are opened later in the session, some
|
||||
never, and some only exist for certain printers. Building a tab before the first frame
|
||||
adds its cost to every startup, whether or not the tab is used.
|
||||
|
||||
This subsystem builds a tab's panel the first time the tab is shown. It also builds the
|
||||
remaining tabs while the user is idle after startup, in units of tens of milliseconds,
|
||||
so a click that lands in the middle of one waits for that unit and no longer. Startup
|
||||
pays only for what the first frame shows, and the other tabs are usually built before
|
||||
anyone opens them.
|
||||
|
||||
## The parts
|
||||
|
||||
`src/slic3r/GUI/Lazy.hpp`, `LazyPage.hpp`, `StagedBuild.hpp` and `IdleScheduler.hpp/.cpp`
|
||||
(with its wx-free `PrebuildQueue.hpp`) are independent. A holder can hold anything a
|
||||
factory makes, a page is a holder with a placeholder widget, a staged object can live
|
||||
outside a holder, and the scheduler knows none of them; it runs tasks, which `MainFrame`
|
||||
makes from the holders.
|
||||
|
||||
### Lazy<T>: the holder
|
||||
|
||||
Holds an object that a factory makes on first use, under a name for the log and a place
|
||||
in the idle queue, both given by the owner. The header has no wx dependency; the busy
|
||||
cursor for an on-demand build lives in `Lazy.cpp` and is skipped when there is no app,
|
||||
so the holder is unit-tested.
|
||||
|
||||
- `get()` is null until the object is completely built; `built()` says the same.
|
||||
- `ensure()` builds whatever is left now, under a busy cursor, and returns the object, or
|
||||
null in the two cases below. A click on an unbuilt tab or a first open of a dialog goes
|
||||
through this, and it logs the units and time it took.
|
||||
- `build_step()` runs one unit of construction and returns true while more remain. The
|
||||
first unit is the factory call, and each later unit is one `StagedBuild` step if the
|
||||
type has them.
|
||||
- `when_built(fn)` runs `fn(object)` now if it exists, otherwise once it is built.
|
||||
- `pending()` says whether the idle prebuild has work here: not built, and the factory
|
||||
has not returned null. A null factory result is logged and the holder stays unbuilt.
|
||||
- A unit that pumps the event loop cannot re-enter the holder; a nested `build_step()`
|
||||
does nothing and a nested `ensure()` returns null.
|
||||
- After a unit throws, the holder and the scheduler still run the next one.
|
||||
|
||||
The holder does not own the object; its wx parent does, as for any window. A type with
|
||||
one instance in the app derives from `LazyInstance<T>`, which points at that instance's
|
||||
holder (the holder registers itself, and a recreated `MainFrame`'s holder replaces the
|
||||
old frame's) and gives the type the static entry points the rest of the app uses,
|
||||
`T::if_built()`, `T::ensure()` and `T::when_built(fn)`. They return null, or do
|
||||
nothing, while no holder exists, so a caller needs no `mainframe` check.
|
||||
|
||||
`built()` is an atomic flag, since a job worker reads it through the statics
|
||||
(`MainFrame::get_calibration_curr_tab()`); it is set after the object is complete.
|
||||
|
||||
`LazyBase` is the holder's type-free interface (`name()`, `built()`, `pending()`,
|
||||
`build_step()`, `prebuild_order()`) and is what the scheduler side sees.
|
||||
|
||||
### LazyPage<Panel>: the placeholder
|
||||
|
||||
A `wxPanel` placed in the parent in place of the real panel, and a `Lazy<Panel>` whose
|
||||
factory makes the panel inside it (by default `new Panel(parent)`). The notebook needs a
|
||||
page object for the tab to exist and for `show_device()` to insert and remove tabs by
|
||||
pointer, and the placeholder is that object. `MainFrame` creates every page once, named
|
||||
after its `TAB_ID_*`, and keeps it for the frame's life; `show_device()` only moves
|
||||
pages in and out of the book.
|
||||
|
||||
- `Show()` is forwarded to the panel, so a panel's own `Show()` override stays its
|
||||
activation hook (refresh timers, machine sync) and `SelectPageByName()` works
|
||||
unchanged. A show builds the panel unless the frame itself is still hidden, because
|
||||
the book selects its first page as it is inserted; `MainFrame::Show()` shows the
|
||||
current page again when the frame becomes visible, which builds it.
|
||||
- `in_book()` says whether the parent notebook currently lists the page, and
|
||||
`pending()` is that and not built, so a tab `show_device()` has taken out of the book
|
||||
is not prebuilt.
|
||||
- A panel built while its page is hidden stays hidden, and a completed panel gets the
|
||||
dark-mode pass the frame ran before it existed.
|
||||
|
||||
The Compare presets dialog is a holder without a page. `MainFrame` keeps a
|
||||
`Lazy<DiffPresetDialog>` whose factory constructs the dialog and binds its events, the
|
||||
dialog derives from `LazyInstance`, and its callers use
|
||||
`DiffPresetDialog::ensure()->show()` and `DiffPresetDialog::if_built()` like a tab's
|
||||
callers do. Saving a preset refreshes the dialog only while it is shown, since `show()`
|
||||
reloads the presets.
|
||||
|
||||
### StagedBuild: construction in units
|
||||
|
||||
A mixin for a panel whose constructor is too big to be one unit. The constructor builds
|
||||
the skeleton (sizers, and the parts other code may touch) and queues the rest with
|
||||
`add_build_step()`. `build_step()` runs one step, and `add_build_steps_of(child)`
|
||||
forwards a child's steps so a nested panel is spread the same way; the parent is built
|
||||
only once the child is, including steps the child queues later. Steps run in order, on
|
||||
the main thread. A `Lazy<T>` recognises a staged type at compile time and runs its steps
|
||||
one per unit.
|
||||
|
||||
Nothing may touch what a step builds before the last step has run. In practice:
|
||||
|
||||
- nothing paints the panel before it is complete, since a panel built at idle is hidden
|
||||
with its page and one built on demand finishes inside `ensure()` before the event loop
|
||||
runs again;
|
||||
- members created in steps are initialised to null in the header, so a partially built
|
||||
panel can be destroyed;
|
||||
- timers and event handlers that use step content check `built()` first
|
||||
(`MonitorPanel::update_all()`, `CalibrationPanel::update_all()`), and a child's steps
|
||||
are queued before anything in the constructor can fire such a handler;
|
||||
- a destructor that disconnects from step content checks `built()` first;
|
||||
- a constructor or step does not take focus while the panel is off screen
|
||||
(`IsShownOnScreen()` before `SetFocus()`), since it may run while the user is typing
|
||||
elsewhere;
|
||||
- where a step's widgets must keep their place in a sizer that later steps also fill, the
|
||||
constructor adds an empty slot sizer in that position and the step fills the slot
|
||||
(`StatusBasePanel`).
|
||||
|
||||
### IdleScheduler: when to build
|
||||
|
||||
A task is any `LazyBase`: a name for the log, `pending()`, `build_step()` and
|
||||
`prebuild_order()`. `PrebuildQueue` holds the tasks by order (equal order in the order
|
||||
added) and runs a slice, the units of the first pending task until it completes, the
|
||||
budget is spent on the clock it is given, or the interrupt predicate says input arrived.
|
||||
It has no wx dependency and is unit-tested with a fake clock. A task whose work is gone
|
||||
is passed over and stays in the queue, so a tab that `show_device()` removes and later
|
||||
re-inserts is pending again.
|
||||
|
||||
`IdleScheduler` drives the queue with the real clock, the app's input timestamp and the
|
||||
Windows queue check, and logs each unit and slice. Each slice is a timer message: a
|
||||
period of 250 ms while waiting for the user to go quiet, and a one-shot of zero after a
|
||||
slice that left work, so the event loop dispatches whatever it has queued (paint,
|
||||
timers, input) before the next slice runs. Chaining slices with `CallAfter` would not do
|
||||
this: wx drains pending events fully before the next native message, on every platform.
|
||||
On GTK the one-shot is 5 ms, because a due GLib timeout runs ahead of the redraw and
|
||||
idle sources that paint and deliver posted events.
|
||||
A slice runs only once the user has been idle for the quiet time, and the timer stops
|
||||
itself once no task is pending. The tick period, quiet time and slice length are
|
||||
constants in `IdleScheduler.cpp`. A unit cannot be interrupted once started, so the
|
||||
largest unit bounds click latency on Windows; on the other platforms a click also waits
|
||||
for the rest of the slice. A unit that pumps the event loop lets the timer fire inside
|
||||
its own slice, and that tick does nothing.
|
||||
|
||||
The tasks are made by their owners. `MainFrame::prebuild_pages_when_idle()` registers
|
||||
every `LazyPage` the frame created, in or out of the book (`pending()` is false for a
|
||||
page out of the book), the Compare presets holder, and the Prepare sidebar's settings
|
||||
page from `ParamsPanel::settings_page_prebuild()`, whose first unit selects the default
|
||||
tab if none is selected yet and whose later units build one option group each.
|
||||
`show_device()` only restarts the timer. `MainFrame` owns the scheduler because it owns
|
||||
everything the tasks build, and clearing the queue with the frame is what keeps a task
|
||||
from outliving its object.
|
||||
|
||||
Idle time comes from `GUI_App::FilterEvent`, which timestamps mouse and keyboard events
|
||||
(`wxEVT_CATEGORY_USER_INPUT` minus command events, which all claim that category), and
|
||||
`GUI_App::input_idle_ms()` reports it. On Windows a slice additionally refuses to start
|
||||
when the message queue holds keyboard, button, touch or pen input. Mouse moves are
|
||||
excluded because Windows synthesises one whenever a window appears under the cursor,
|
||||
which every unit does. Other platforms use the timestamp alone.
|
||||
|
||||
Once every registered page is built the timer is stopped and the subsystem costs
|
||||
nothing.
|
||||
|
||||
## Rules
|
||||
|
||||
**What builds before the first frame.** The Prepare tab's plater, because `post_init()`
|
||||
needs its GL canvas on screen to initialise OpenGL in every startup state, and the start
|
||||
page the user configured. Home is built by the first `MainFrame::Show()`, Prepare's
|
||||
settings page by selecting the tab. `post_init()` passes through the Prepare tab for GL
|
||||
init under `Freeze()` with `MainFrame::select_prepare_for_gl_init()`, which changes the
|
||||
selection without the page-changed event, so nothing else is built for that pass.
|
||||
|
||||
**Reaching a lazy object.** A caller uses the type's own statics. `T::if_built()` may
|
||||
return null and is for telling the object something it can live without (a rescale, a
|
||||
colour change, a status update). `T::ensure()` builds the object and is for navigating
|
||||
to it or for a caller that is about to show it. A caller that tells the object something
|
||||
it would not fetch for itself on construction uses `T::when_built()`, which keeps the
|
||||
message until the object exists. A panel that pulls its state when constructed (the Home
|
||||
page requests the recent list on load, the Device tab reads the device manager on show)
|
||||
is reached with `if_built()`; one that cannot pull gets `when_built()`.
|
||||
|
||||
**Unit size.** A unit cannot be interrupted, so it should stay within the slice length on
|
||||
a fast machine. A constructor above that is staged. A single widget above it is the
|
||||
floor unless the widget itself is split.
|
||||
|
||||
**Order.** Cheapest and most likely to be opened first, given where `MainFrame` creates
|
||||
each holder. The settings page is 0 (the Prepare tab's own content), Home 10, Device 20
|
||||
(a Bambu user's usual second stop), Calibration 30, Multi-device 40, the web Device
|
||||
view 50, Project 60 (a second WebView2 instance) and the Compare presets dialog 100;
|
||||
steps of ten so a new tab takes a value between its neighbours without renumbering
|
||||
them. `MainFrame::prebuild_pages_when_idle()` registers the tasks once, from
|
||||
`post_init()`.
|
||||
|
||||
**Never prebuilt.** A holder with a negative order, for a tab that few sessions open
|
||||
and that costs more to build unasked than it saves (the Design tab), and plugin-provided
|
||||
tabs, which are Python-side and not lazy pages.
|
||||
|
||||
## Adopting it
|
||||
|
||||
A lazy tab needs:
|
||||
|
||||
1. The panel derived from `LazyInstance<Panel>`, since a tab's panel has one instance.
|
||||
2. A `LazyPage<Panel>*` member in `MainFrame`, created once in `init_tabpanel()` with
|
||||
its `TAB_ID_*` as the name, its place by the order rule (and a factory if
|
||||
`new Panel(parent)` is not enough), added to `m_lazy_pages`, and used wherever the
|
||||
tab is added to or looked up in the notebook.
|
||||
3. Every use of the panel outside `MainFrame` going through one of the panel's statics,
|
||||
chosen by the rule above. When converting an existing member, `grep` for it; the
|
||||
compiler finds the rest.
|
||||
4. A constructor that copes with the frame already existing and the user being busy
|
||||
elsewhere, since `wxGetApp().mainframe` is set, the frame may be shown, and the user
|
||||
may be typing when a lazy panel is built: no `SetFocus()` while off screen, and
|
||||
whatever the constructor did through a `MainFrame` accessor before (a mode update, a
|
||||
deferred URL) done in the constructor itself.
|
||||
|
||||
To stage a heavy constructor, inherit `StagedBuild`, keep the skeleton in the constructor,
|
||||
move the rest into `add_build_step()` lambdas in the original order, and follow the
|
||||
staged-panel rules above. Measure the units. A step that is still one big widget has to
|
||||
be split inside that widget or accepted as the floor.
|
||||
|
||||
Verification is by log. `MainFrame::prebuild_pages_when_idle` lists the queue it
|
||||
registered, `IdleScheduler::tick` reports each completed task by name at info level and
|
||||
each slice and unit at debug level, and `Lazy::ensure` reports an object a user built
|
||||
on demand with the units and time it took. A run from the configured start
|
||||
page shows every registered page complete, in order, with no unit longer than intended.
|
||||
A click on a tab mid-prebuild shows the finished panel with an `ensure` line for what was
|
||||
left, and the slices resume for the remaining tasks once the user is idle again.
|
||||
@@ -1,119 +0,0 @@
|
||||
# G-code preview while dragging
|
||||
|
||||
The sliced preview draws every toolpath segment of the plate as an instanced box. On a large
|
||||
plate that is tens of millions of segments, and the frame is GPU-bound: the cost is the number of
|
||||
instances drawn, not anything the CPU does per frame. Dragging the camera over such a plate cannot
|
||||
keep up. The `preview_reduced_detail_mode` preference (*Graphics > G-code Preview*, off by
|
||||
default) lets the preview draw less while the user drags and put the full toolpaths back when they
|
||||
let go.
|
||||
|
||||
| Preference | Values | Effect |
|
||||
|---|---|---|
|
||||
| `preview_reduced_detail_mode` | `off`, `solid`, `layers`, `outer_walls`, `shell` | what is drawn while dragging |
|
||||
| `preview_reduced_detail_layer_stride` | 1–20 | one layer in every N is kept by the toolpath modes |
|
||||
|
||||
libvgcode (`src/libvgcode`) builds and binds the reduced toolpath set, `GCodeViewer` maps the
|
||||
preferences onto it and draws the solid model, and `GLCanvas3D` decides when the user is dragging.
|
||||
The OpenGL ES path keeps a single set and ignores the preference.
|
||||
|
||||
## Two sets, one walk
|
||||
|
||||
`ViewerImpl::update_enabled_entities()` walks the visible vertex range once and fills two segment
|
||||
index buffers side by side: the **full** set and the **reduced** set (segments and options).
|
||||
Building them together is what makes switching free: starting or ending a drag is a buffer
|
||||
binding, never a rebuild. A change of mode or stride does rebuild. Nothing is built while the mode
|
||||
is off, and the reduced buffers are then uploaded empty so that the last set does not stay
|
||||
allocated.
|
||||
|
||||
Whatever the mode leaves out, the bottom and top layers of the visible range are kept whole: they
|
||||
are the faces the range cuts open, and the top is what the user is looking at.
|
||||
|
||||
### Modes
|
||||
|
||||
- `EndLayersOnly` (`solid` in the preference) keeps only the two end layers. `GCodeViewer` then
|
||||
draws the sliced objects and the prime tower as opaque solids, see below.
|
||||
- `LayersOnly` (`layers`) keeps every role of one layer in every stride.
|
||||
- `OuterWallsOnly` (`outer_walls`) keeps the outer and overhang perimeters of one layer in every
|
||||
stride. The prime tower and supports have other roles and are left out.
|
||||
- `ShellOnly` (`shell`) keeps what the shell extraction below marks as visible surface, of one
|
||||
layer in every stride, plus whatever a view from above or below sees of the skipped layers, so
|
||||
that a step does not vanish. It is the only mode that knows the prime tower's outside from its
|
||||
inside.
|
||||
|
||||
## The solid model
|
||||
|
||||
The preview already loads the sliced objects as shells for its translucent ghost.
|
||||
`GCodeViewer::render_solid_model()` draws those shells opaque, in their filament colors, with the
|
||||
`gouraud` shader, whose z range cuts them to the visible layer range. The two toolpath layers of
|
||||
the reduced set are drawn afterwards and cap the cut with what was really printed there. The
|
||||
shells hold only the objects, so while this mode is on the prime tower is added from its sliced
|
||||
mesh, positioned as the print placed it. It is added or removed on its own when the mode changes,
|
||||
without reloading the objects, keeps its opaque color so that it never appears among the
|
||||
translucent shells, and stays out of their bounding box. Supports have no mesh and are not shown,
|
||||
and `load_shells()` drops every non-model-part volume, so a negative volume is not cut out.
|
||||
|
||||
A plate whose shells are not loaded keeps drawing toolpaths, since the solid model would leave
|
||||
only the end layers.
|
||||
|
||||
## Shell extraction
|
||||
|
||||
`ViewerImpl::update_shell_bitset()` classifies every extrusion segment once per load, on demand
|
||||
the first time the shell mode needs it, and records the result in four bit sets. It is purely
|
||||
geometric so that the wipe tower, whose every segment shares one role, works as well as the
|
||||
objects.
|
||||
|
||||
Each layer is rasterized into a coarse 2D **occupancy grid** over the print's footprint: cells
|
||||
are 0.5 mm, or coarser so that the grid is at most 1024 cells across. The footprint is then
|
||||
**closed** with a radius of 2.5 mm so that sparse infill and support read as the solid area they
|
||||
belong to, while holes wider than 5 mm stay open. The closing dilates each 8-connected component
|
||||
separately and leaves a cell that two components both reach empty, so the gap between two objects
|
||||
standing close together is never bridged and both of their facing walls stay on the shell;
|
||||
fragments under eight cells do not spread and are absorbed by whatever reaches them. A separable
|
||||
erosion shrinks the result back, and the raw cells are OR-ed in again so that a closing never
|
||||
loses one.
|
||||
|
||||
A cell is a **shell cell** when it is filled and any of its six neighbours, four in the layer,
|
||||
one below, one above, is not. A segment is on the shell when at least half of the cells it
|
||||
crosses are shell cells: walls run along the shell, infill only touches it at the ends. The
|
||||
interior infill roles and gap fill are excluded regardless, since short infill segments hugging a
|
||||
wall would otherwise pass by the thousand.
|
||||
|
||||
Two refinements keep sloped surfaces closed:
|
||||
|
||||
- **Near-wall segments.** The step between one layer's outer wall and the next is often
|
||||
narrower than a cell. An inner wall (`Perimeter`) segment whose midpoint lies within a line and
|
||||
a half of an outer or overhang perimeter of the same layer is kept as well. So is any segment,
|
||||
whatever its role, whose midpoint lies within that reach, or a cell if larger, of an outer wall
|
||||
of the layer above or below: that strip is the exposed band of the step, which the cell tests
|
||||
cannot see when it is narrower than a cell.
|
||||
- **Top and bottom visibility.** The same pass records the highest and lowest layer occupying
|
||||
each cell over the whole print. A segment whose layer is the topmost occupant of any cell it
|
||||
crosses is visible from above, and likewise from below with the lowest. These segments are kept
|
||||
even when their layer is skipped by the stride.
|
||||
|
||||
The layer range is split across up to eight `std::async` workers, each owning its grids. An
|
||||
allocation failure on a huge print falls back to marking every segment as shell, which leaves out
|
||||
only the hidden infill roles.
|
||||
|
||||
## Deciding that the user is dragging
|
||||
|
||||
`GLCanvas3D::_update_preview_interaction()` runs at the top of every preview frame, before the
|
||||
canvas decides whether to reuse its cached scene, so that the switch lands in that frame. Dragging
|
||||
is `GLCanvas3D::is_user_interacting()`, the same answer the scene cache reads: the camera, the
|
||||
navigator, a gizmo, the rectangle selection or either slider being held. A slider reports this from
|
||||
ImGui's active id rather than its dirty flag, which is raised and consumed inside one frame. A
|
||||
wheel step has no duration, so it holds the reduced set for a 150 ms settle time instead, and the
|
||||
frame that restores the toolpaths is scheduled for when that time runs out, since the render timer
|
||||
only wakes the idle loop. A drag cut short by focus or capture loss is ended explicitly, and a
|
||||
button release wakes the idle loop, because on some platforms nothing else would until the next
|
||||
input.
|
||||
|
||||
## Reused scene frames
|
||||
|
||||
`GLCanvas3D` keeps its last scene pass for frames that only rebuild the overlay (`SceneCache`). Its
|
||||
key covers the canvas size, the camera and hover state, not what the toolpath sets draw, so a frame
|
||||
that reuses the scene must never be one on which the set is switched.
|
||||
`_update_preview_interaction()` therefore reports whether the bound set changed, and a frame on
|
||||
which it did redraws the scene. The canvas neither captures nor reuses the scene while the user
|
||||
drags, so no reduced frame outlives a drag, and the frame that ends a wheel's settle time is
|
||||
requested as a full frame.
|
||||
+1
-2881
File diff suppressed because it is too large
Load Diff
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "PolyTerra PLA+ @base",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"filament_id": "OFEjbwqG",
|
||||
"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"
|
||||
]
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Polymaker HT-PLA @base",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"filament_id": "OFPoyiFs",
|
||||
"instantiation": "false",
|
||||
"filament_cost": [
|
||||
"26.99"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.28"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.98"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"24"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Polymaker"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"220"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"220"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"230"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"210"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"4"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"60"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"65"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"65"
|
||||
]
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Polymaker HT-PLA-GF @base",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"filament_id": "OFlwmqrC",
|
||||
"instantiation": "false",
|
||||
"filament_cost": [
|
||||
"32.99"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.34"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.98"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"24"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Polymaker"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"220"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"220"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"230"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"210"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"4"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"60"
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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",
|
||||
+1
-1
@@ -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",
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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",
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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",
|
||||
+1
-1
@@ -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",
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
+1
-1
@@ -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"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user