Compare commits

..
Author SHA1 Message Date
Hanif Koh c9c69c7249 Draw the Preview's Toolpath Segments From an Index Buffer
The preview's frame cost is dominated by one call: a single instanced draw of
every visible toolpath segment. On a tall multi-filament print the wipe tower
supplies most of those segments, which is why the preview of a large tower is
slow and why shrinking the layer range speeds it up again.

That draw is not fill bound. Shrinking the model to about a fortieth of its
screen area moved the frame from 419 ms to 401 ms, so the cost is per segment,
not per pixel, and it is paid in the vertex shader: five texelFetch calls plus
several cross/normalize per invocation.

Each segment is a box of eight corners, but it was submitted with
glDrawArraysInstanced over a 24 entry array, so every corner was transformed
once per triangle that touches it and the shader ran 24 times per segment. The
same 24 entries are now an element buffer over the eight distinct corners, which
lets the post-transform cache reuse them and drops the shader to 8 runs per
segment. The triangles, their winding and the vertex_id each corner receives are
unchanged.

Measured over 100 frames on the 636-layer, 351k-vertex three-filament fixture,
the segment draw goes from 381 ms to 322 ms per frame. That is a software
rasterizer, where triangle setup dominates and understates the win; the drop in
shader invocations is the transferable part.

Verified by loading the same project in this build and in a build of the parent
commit and comparing the canvas across three states - the default view, a
rotated camera, and a reduced layer range: pixel identical in all three. The
rotated case matters because the shader picks its corner offsets from the camera
direction. The only pixels that differ anywhere on screen are in the G-code text
panel, which prints a per-process object id that varies between any two runs.
2026-09-23 00:40:22 +08:00
Hanif Koh 6fa9ece38a Answer the Preview's Per-Frame Time Query From a Cached Sum
The G-code preview's cost is linear in the number of toolpath vertices, and on a
tall multi-filament print the wipe tower dominates that count: it emits a roughly
constant 160-180 moves on every layer whatever the object is, measured at 57-61%
of all moves on a three-filament print.

Four places scanned or allocated across the whole vertex array. None of them
needed to.

get_estimated_time_at re-accumulated the estimated time from vertex 0 on every
call, and its caller is the tool marker tooltip, which ImGui re-renders every
frame while the properties panel is unfolded. It now starts from a running sum
kept at each layer's first vertex, built at load in vertex order, and adds only
that layer's vertices: the same additions in the same order, so the float result
is unchanged, at a cost of one float per layer and time mode rather than per
vertex. At the 351k vertices of a 636-layer test print the call scanned the whole
print (238us); it now scans one layer.

update_view_full_range walked from vertex 0 to find where the layer range starts,
on every slider tick. It now starts at the first vertex of that layer. The index
is derived from the vertices rather than from Layers::Item::range, because
Layers::update folds a vertex whose layer_id arrives out of order into whichever
bucket is open, which makes that range the wrong answer in general; the index
costs four bytes per layer, not per vertex.

update_colors_texture allocated one float per vertex of the whole print on every
slider tick. It now reuses a buffer.

render_legend fetched the layer Zs and the per-layer times from inside loops over
the custom G-code items, and built whole vectors only to test them for emptiness.
The times are hoisted, the Zs are built lazily so a print with no colour change
does not pay for them at all, and the emptiness tests use the existing counters.

No rendering behaviour changes.
2026-09-23 00:40:04 +08:00
3488 changed files with 270811 additions and 212549 deletions
-8
View File
@@ -413,14 +413,6 @@ jobs:
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" \
-7
View File
@@ -798,13 +798,6 @@ jobs:
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' \
-88
View File
@@ -1,88 +0,0 @@
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.
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: 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 }}
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"
since="$(gh api "repos/${{ github.repository }}/actions/workflows/ofl-ota-cronjob.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; treating OFL as changed."
changed=true
else
changed_files="$(git log --since="$since" --name-only --pretty=format: "origin/$branch" -- \
resources/profiles/OrcaFilamentLibrary resources/profiles/OrcaFilamentLibrary.json \
| sed '/^$/d')"
if [ -n "$changed_files" ]; then
echo "OFL changed on $branch since $since:"
echo "$changed_files"
changed=true
else
echo "No OFL changes on $branch since $since."
changed=false
fi
fi
if [ "$changed" = true ]; then
gh workflow run post_merge_profiles.yml \
--repo "${{ github.repository }}" \
--ref "$branch" \
-f vendor="$VENDOR"
fi
echo "::endgroup::"
done
+8 -52
View File
@@ -5,9 +5,8 @@
# 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.
# sources checked out at the commit that build was made from. Nothing here
# gates a build or a PR.
name: Parity Nightly
on:
@@ -21,13 +20,9 @@ on:
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)"
description: "branch whose latest successful build_all artifact to test"
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
@@ -55,53 +50,14 @@ 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
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"
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"
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 }})
+5 -86
View File
@@ -8,12 +8,6 @@ name: Post-merge profiles
# 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.
#
# Asset contract expected by OrcaCloud's release scanner:
# ^(\d+\.\d+\.\d+)_([^_]+)_(\d+(?:\.\d+){3})_(\d{12})\.zip$
# <orca_ver>_<vendor>_<profile_version>_<UTC yyyymmddHHMM>.zip (zip root: <vendor>.opc)
@@ -23,25 +17,13 @@ name: Post-merge profiles
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*.*.*
- release/*
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
permissions:
contents: read
@@ -84,23 +66,8 @@ jobs:
shell: bash
env:
FOLDER_MERGERS: ${{ vars.FOLDER_MERGERS }}
DISPATCH_VENDOR: ${{ github.event_name == 'workflow_dispatch' && inputs.vendor || '' }}
run: |
set -euo pipefail
# 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"
json="resources/profiles/$v.json"
if [ ! -f "$json" ] || { [ ! -d "resources/profiles/$v" ] && ! jq -e '.version' "$json" >/dev/null 2>&1; }; 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
@@ -134,9 +101,6 @@ jobs:
# 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:]]*}"}"
@@ -163,21 +127,19 @@ jobs:
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
if ! is_granted "resources/profiles/$v" || ! is_granted "resources/profiles/$v.json"; then
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[*]}"
echo "vendors=" >> "$GITHUB_OUTPUT"
exit 0
fi
echo "vendors=${authorized[*]}" >> "$GITHUB_OUTPUT"
echo "vendors=${vendors[*]}" >> "$GITHUB_OUTPUT"
- name: Resolve Orca version
id: orca
@@ -280,46 +242,3 @@ jobs:
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
# Only the explicit-vendor-dispatch path (e.g. the OFL cron) goes live
# automatically. The ordinary push path stays human-gated: assets land on
# the profiles release above, and a maintainer still has to attach a
# changelog and hit Publish in OrcaCloud's OTA Manager for those.
if: steps.vendors.outputs.vendors != '' && github.event_name == 'workflow_dispatch' && inputs.vendor != ''
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
+10354 -8806
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large Load Diff
@@ -3,7 +3,7 @@
"name": "AliZ PA-CF @P1-X1",
"inherits": "AliZ PA-CF @base",
"from": "system",
"setting_id": "cN0uesF0mZf3KSkj",
"setting_id": "AliZ003_00",
"instantiation": "true",
"enable_pressure_advance": [
"1"
@@ -3,7 +3,7 @@
"name": "AliZ PETG @P1-X1",
"inherits": "AliZ PETG @base",
"from": "system",
"setting_id": "cZp23cC4ong9q6dn",
"setting_id": "AliZ001_00",
"instantiation": "true",
"enable_pressure_advance": [
"1"
@@ -3,7 +3,7 @@
"name": "AliZ PETG-CF @P1-X1",
"inherits": "AliZ PETG-CF @base",
"from": "system",
"setting_id": "HWW5mejsB0SfEfWw",
"setting_id": "AZ01-1_00",
"instantiation": "true",
"enable_pressure_advance": [
"1"
@@ -3,7 +3,7 @@
"name": "AliZ PETG-Metal @P1-X1",
"inherits": "AliZ PETG-Metal @base",
"from": "system",
"setting_id": "JqD0blE4fxaNfXqB",
"setting_id": "AZ01-2_00",
"instantiation": "true",
"enable_pressure_advance": [
"1"
@@ -3,7 +3,7 @@
"name": "AliZ PLA @P1-X1",
"inherits": "AliZ PLA @base",
"from": "system",
"setting_id": "fRELapY8YiP4qrBW",
"setting_id": "AliZ002_00",
"instantiation": "true",
"enable_pressure_advance": [
"1"
@@ -3,7 +3,7 @@
"name": "BETA ABS @BBL A1",
"inherits": "BETA ABS @base",
"from": "system",
"setting_id": "dUGRrmxU89pRaJ2Z",
"setting_id": "BABB00_07",
"instantiation": "true",
"fan_max_speed": [
"20"
@@ -3,7 +3,7 @@
"name": "BETA ABS @BBL H2D",
"inherits": "BETA ABS @base",
"from": "system",
"setting_id": "oxZKTEMd8TpyoH39",
"setting_id": "BABB00_11",
"instantiation": "true",
"chamber_temperatures": [
"65"
@@ -3,7 +3,7 @@
"name": "BETA ABS @BBL P1P",
"inherits": "BETA ABS @base",
"from": "system",
"setting_id": "MPYyfCKMsJZy8GaY",
"setting_id": "BABB00_03",
"instantiation": "true",
"fan_max_speed": [
"20"
@@ -3,7 +3,7 @@
"name": "BETA ABS @BBL X1C",
"inherits": "BETA ABS @base",
"from": "system",
"setting_id": "vMA7EhgNDT4MwMRr",
"setting_id": "BABB00",
"instantiation": "true",
"fan_max_speed": [
"60"
@@ -0,0 +1,21 @@
{
"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"
]
}
@@ -3,7 +3,7 @@
"name": "BETA ASA @BBL A1 0.4 nozzle",
"inherits": "BETA ASA @base",
"from": "system",
"setting_id": "LevRG7t9mTlEseaB",
"setting_id": "BASB00_09",
"instantiation": "true",
"chamber_temperatures": [
"60"
@@ -3,7 +3,7 @@
"name": "BETA ASA @BBL H2D 0.4 nozzle",
"inherits": "BETA ASA @base",
"from": "system",
"setting_id": "3NBkWTXmqi8eRUhi",
"setting_id": "BASB00_13",
"instantiation": "true",
"chamber_temperatures": [
"65"
@@ -3,7 +3,7 @@
"name": "BETA ASA @BBL X1C 0.4 nozzle",
"inherits": "BETA ASA @base",
"from": "system",
"setting_id": "0nWTEZkH7NKXgCib",
"setting_id": "BASB00_02",
"instantiation": "true",
"chamber_temperatures": [
"60"
@@ -53,53 +53,5 @@
],
"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"
]
}
@@ -3,7 +3,7 @@
"name": "BETA HIPS @BBL H2D",
"inherits": "BETA HIPS @base",
"from": "system",
"setting_id": "9nN2uWxlYH1c507A",
"setting_id": "BHIB00_06",
"instantiation": "true",
"filament_deretraction_speed": [
"nil",
@@ -3,7 +3,7 @@
"name": "BETA HIPS @BBL X1C",
"inherits": "BETA HIPS @base",
"from": "system",
"setting_id": "mTcT8sCciWyX5enc",
"setting_id": "BHIB00_00",
"instantiation": "true",
"filament_max_volumetric_speed": [
"8",
@@ -0,0 +1,14 @@
{
"type": "filament",
"name": "BETA HIPS @base",
"inherits": "fdm_filament_hips",
"from": "system",
"filament_id": "OFlmxlDG",
"instantiation": "false",
"filament_is_support": [
"1"
],
"filament_vendor": [
"BETA"
]
}
@@ -3,7 +3,7 @@
"name": "BETA PAHT-CF @BBL H2D",
"inherits": "BETA PAHT-CF @base",
"from": "system",
"setting_id": "YbYCVQd5IR0sQR8S",
"setting_id": "BPAB00_01",
"instantiation": "true",
"chamber_temperatures": [
"60"
@@ -3,7 +3,7 @@
"name": "BETA PAHT-CF @BBL P1P",
"inherits": "BETA PAHT-CF @base",
"from": "system",
"setting_id": "5O5fzmFrT3O1k1H0",
"setting_id": "BPAB00_10",
"instantiation": "true",
"filament_flow_ratio": [
"0.96",
@@ -3,7 +3,7 @@
"name": "BETA PAHT-CF @BBL X1C",
"inherits": "BETA PAHT-CF @base",
"from": "system",
"setting_id": "gB5HLYTDCooFy2W5",
"setting_id": "BPAB00",
"instantiation": "true",
"chamber_temperatures": [
"60"
@@ -0,0 +1,48 @@
{
"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"
]
}
@@ -3,7 +3,7 @@
"name": "BETA PEBA 90A @BBL A1",
"inherits": "BETA PEBA 90A @base",
"from": "system",
"setting_id": "A57Sbar56Ah1NiU7",
"setting_id": "BPBB00_04",
"instantiation": "true",
"filament_density": [
"1.22"
@@ -3,7 +3,7 @@
"name": "BETA PEBA 90A @BBL A1M",
"inherits": "BETA PEBA 90A @base",
"from": "system",
"setting_id": "OoLkWS147R0AasZc",
"setting_id": "BPBB00_05",
"instantiation": "true",
"filament_density": [
"1.22"
@@ -3,7 +3,7 @@
"name": "BETA PEBA 90A @BBL H2D",
"inherits": "BETA PEBA 90A @base",
"from": "system",
"setting_id": "91b8WTzvOky9wAVK",
"setting_id": "BPBB00_02",
"instantiation": "true",
"additional_cooling_fan_speed": [
"100"
@@ -3,7 +3,7 @@
"name": "BETA PEBA 90A @BBL P1P",
"inherits": "BETA PEBA 90A @base",
"from": "system",
"setting_id": "ydudEBLRmj1WSXqB",
"setting_id": "BPBB00_01",
"instantiation": "true",
"filament_max_volumetric_speed": [
"2.8",
@@ -3,7 +3,7 @@
"name": "BETA PEBA 90A @BBL X1C",
"inherits": "BETA PEBA 90A @base",
"from": "system",
"setting_id": "F1hTal3M92tBjv2N",
"setting_id": "BPBB00_00",
"instantiation": "true",
"filament_max_volumetric_speed": [
"2.8",
@@ -0,0 +1,33 @@
{
"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"
]
}
@@ -3,7 +3,7 @@
"name": "BETA PETG @BBL A1",
"inherits": "BETA PETG @base",
"from": "system",
"setting_id": "EpYzxZwVHvLaseku",
"setting_id": "BPGB00_06",
"instantiation": "true",
"fan_max_speed": [
"50"
@@ -3,7 +3,7 @@
"name": "BETA PETG @BBL A1M 0.4 nozzle",
"inherits": "BETA PETG @base",
"from": "system",
"setting_id": "5V0hyhzFoDU8Tfwm",
"setting_id": "BPGB00_03",
"instantiation": "true",
"fan_max_speed": [
"50"
@@ -3,7 +3,7 @@
"name": "BETA PETG @BBL H2D 0.4 nozzle",
"inherits": "BETA PETG @base",
"from": "system",
"setting_id": "KnKvUsD4rSpQU413",
"setting_id": "BPGB00_09",
"instantiation": "true",
"fan_max_speed": [
"30"
@@ -3,7 +3,7 @@
"name": "BETA PETG @BBL X1C",
"inherits": "BETA PETG @base",
"from": "system",
"setting_id": "uM6wHdt0N5ftZRge",
"setting_id": "BPGB00_01",
"instantiation": "true",
"fan_min_speed": [
"20"
@@ -92,48 +92,5 @@
],
"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"
]
}
@@ -3,7 +3,7 @@
"name": "BETA PETG Fluorescence @BBL A1",
"inherits": "BETA PETG Fluorescence @base",
"from": "system",
"setting_id": "ZtyTtAWsZnLGsM0O",
"setting_id": "BPGB02_06",
"instantiation": "true",
"fan_max_speed": [
"50"
@@ -3,7 +3,7 @@
"name": "BETA PETG Fluorescence @BBL A1M 0.4 nozzle",
"inherits": "BETA PETG Fluorescence @base",
"from": "system",
"setting_id": "VUSunTT0OJa7iOSd",
"setting_id": "BPGB02_03",
"instantiation": "true",
"fan_max_speed": [
"50"
@@ -3,7 +3,7 @@
"name": "BETA PETG Fluorescence @BBL H2D 0.4 nozzle",
"inherits": "BETA PETG Fluorescence @base",
"from": "system",
"setting_id": "JHg4y0pxAOtoJSuw",
"setting_id": "BPGB02_09",
"instantiation": "true",
"fan_max_speed": [
"30"
@@ -3,7 +3,7 @@
"name": "BETA PETG Fluorescence @BBL X1C",
"inherits": "BETA PETG Fluorescence @base",
"from": "system",
"setting_id": "pCetfFvyLLw3vS2j",
"setting_id": "BPGB02_01",
"instantiation": "true",
"fan_min_speed": [
"20"
@@ -92,48 +92,5 @@
],
"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"
]
}
@@ -3,7 +3,7 @@
"name": "BETA PETG Glitter @BBL A1",
"inherits": "BETA PETG Glitter @base",
"from": "system",
"setting_id": "cz5dC7OrXDlX1Ctj",
"setting_id": "BPGB03_06",
"instantiation": "true",
"fan_max_speed": [
"50"
@@ -3,7 +3,7 @@
"name": "BETA PETG Glitter @BBL A1M 0.4 nozzle",
"inherits": "BETA PETG Glitter @base",
"from": "system",
"setting_id": "PozWnOfZ2l7HqTpx",
"setting_id": "BPGB03_03",
"instantiation": "true",
"fan_max_speed": [
"50"
@@ -3,7 +3,7 @@
"name": "BETA PETG Glitter @BBL H2D 0.4 nozzle",
"inherits": "BETA PETG Glitter @base",
"from": "system",
"setting_id": "ijW4zvNAQ3DIK984",
"setting_id": "BPGB03_09",
"instantiation": "true",
"fan_max_speed": [
"30"
@@ -3,7 +3,7 @@
"name": "BETA PETG Glitter @BBL X1C",
"inherits": "BETA PETG Glitter @base",
"from": "system",
"setting_id": "UI220qldPoLY8VZN",
"setting_id": "BPGB03_01",
"instantiation": "true",
"fan_min_speed": [
"20"
@@ -92,48 +92,5 @@
],
"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"
]
}
@@ -3,7 +3,7 @@
"name": "BETA PETG Glow @BBL A1",
"inherits": "BETA PETG Glow @base",
"from": "system",
"setting_id": "LudMQeiSJOLw0Aoy",
"setting_id": "BPGB04_06",
"instantiation": "true",
"fan_max_speed": [
"50"
@@ -3,7 +3,7 @@
"name": "BETA PETG Glow @BBL A1M 0.4 nozzle",
"inherits": "BETA PETG Glow @base",
"from": "system",
"setting_id": "cl1Rl9hgrahhhSd3",
"setting_id": "BPGB04_03",
"instantiation": "true",
"fan_max_speed": [
"50"
@@ -3,7 +3,7 @@
"name": "BETA PETG Glow @BBL H2D 0.4 nozzle",
"inherits": "BETA PETG Glow @base",
"from": "system",
"setting_id": "3s9w3mH6M4OdbrUV",
"setting_id": "BPGB04_09",
"instantiation": "true",
"fan_max_speed": [
"30"
@@ -3,7 +3,7 @@
"name": "BETA PETG Glow @BBL X1C",
"inherits": "BETA PETG Glow @base",
"from": "system",
"setting_id": "wv5FRKdnsHaIFA7L",
"setting_id": "BPGB04_01",
"instantiation": "true",
"fan_min_speed": [
"20"
@@ -92,48 +92,5 @@
],
"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"
]
}
@@ -3,7 +3,7 @@
"name": "BETA PETG Gradient @BBL A1",
"inherits": "BETA PETG Gradient @base",
"from": "system",
"setting_id": "L3hZggzEZUgUv0Qv",
"setting_id": "BPGB05_06",
"instantiation": "true",
"fan_max_speed": [
"50"
@@ -3,7 +3,7 @@
"name": "BETA PETG Gradient @BBL A1M 0.4 nozzle",
"inherits": "BETA PETG Gradient @base",
"from": "system",
"setting_id": "zsITnsNFRG7IE6sR",
"setting_id": "BPGB05_03",
"instantiation": "true",
"fan_max_speed": [
"50"
@@ -3,7 +3,7 @@
"name": "BETA PETG Gradient @BBL H2D 0.4 nozzle",
"inherits": "BETA PETG Gradient @base",
"from": "system",
"setting_id": "GqmCuPg6baUxeoYS",
"setting_id": "BPGB05_09",
"instantiation": "true",
"fan_max_speed": [
"30"
@@ -3,7 +3,7 @@
"name": "BETA PETG Gradient @BBL X1C",
"inherits": "BETA PETG Gradient @base",
"from": "system",
"setting_id": "oYJjUiaCI4UBZ0ur",
"setting_id": "BPGB05_01",
"instantiation": "true",
"fan_min_speed": [
"20"
@@ -92,48 +92,5 @@
],
"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"
]
}
@@ -3,7 +3,7 @@
"name": "BETA PETG HF @BBL A1",
"inherits": "BETA PETG HF @base",
"from": "system",
"setting_id": "T2Ea25pM2u9BM7Oa",
"setting_id": "BPGB06_03",
"instantiation": "true",
"fan_cooling_layer_time": [
"15"
@@ -3,7 +3,7 @@
"name": "BETA PETG HF @BBL A1M",
"inherits": "BETA PETG HF @base",
"from": "system",
"setting_id": "nO5R86dkDle1m5Pq",
"setting_id": "BPGB06_06",
"instantiation": "true",
"fan_cooling_layer_time": [
"15"
@@ -3,7 +3,7 @@
"name": "BETA PETG HF @BBL H2D 0.4 nozzle",
"inherits": "BETA PETG HF @base",
"from": "system",
"setting_id": "YOBguayM9PiwkpfT",
"setting_id": "BPGB06_09",
"instantiation": "true",
"counter_coef_2": [
"0.007"
@@ -3,7 +3,7 @@
"name": "BETA PETG HF @BBL X1C",
"inherits": "BETA PETG HF @base",
"from": "system",
"setting_id": "EG3h0IHVO1yyVNMs",
"setting_id": "BPGB06_00",
"instantiation": "true",
"fan_cooling_layer_time": [
"20"
@@ -85,48 +85,5 @@
],
"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"
]
}
@@ -3,7 +3,7 @@
"name": "BETA PETG Heat Color Change @BBL A1",
"inherits": "BETA PETG Heat Color Change @base",
"from": "system",
"setting_id": "ZhHASdXFywqbRuBf",
"setting_id": "BPGB01_06",
"instantiation": "true",
"fan_max_speed": [
"50"
@@ -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": "YiFgzCJDAOW9YSjZ",
"setting_id": "BPGB01_03",
"instantiation": "true",
"fan_max_speed": [
"50"
@@ -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": "DpWgpTiKdm70Xt1i",
"setting_id": "BPGB01_09",
"instantiation": "true",
"fan_max_speed": [
"30"
@@ -3,7 +3,7 @@
"name": "BETA PETG Heat Color Change @BBL X1C",
"inherits": "BETA PETG Heat Color Change @base",
"from": "system",
"setting_id": "3lJe6ftSHQDkQZ1S",
"setting_id": "BPGB01_01",
"instantiation": "true",
"fan_min_speed": [
"20"
@@ -92,48 +92,5 @@
],
"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"
]
}
@@ -3,7 +3,7 @@
"name": "BETA PETG Marble @BBL A1",
"inherits": "BETA PETG Marble @base",
"from": "system",
"setting_id": "tSCDuE4dE44PyIwb",
"setting_id": "BPGB07_06",
"instantiation": "true",
"fan_max_speed": [
"50"
@@ -3,7 +3,7 @@
"name": "BETA PETG Marble @BBL A1M 0.4 nozzle",
"inherits": "BETA PETG Marble @base",
"from": "system",
"setting_id": "n6dguOo5ZleD6Ec4",
"setting_id": "BPGB07_03",
"instantiation": "true",
"fan_max_speed": [
"50"
@@ -3,7 +3,7 @@
"name": "BETA PETG Marble @BBL H2D 0.4 nozzle",
"inherits": "BETA PETG Marble @base",
"from": "system",
"setting_id": "RxCTxdvym4iNOB5j",
"setting_id": "BPGB07_09",
"instantiation": "true",
"fan_max_speed": [
"30"
@@ -3,7 +3,7 @@
"name": "BETA PETG Marble @BBL X1C",
"inherits": "BETA PETG Marble @base",
"from": "system",
"setting_id": "3BgsPAgilo1MgtOV",
"setting_id": "BPGB07_01",
"instantiation": "true",
"fan_min_speed": [
"20"
@@ -92,48 +92,5 @@
],
"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"
]
}
@@ -3,7 +3,7 @@
"name": "BETA PETG Matte @BBL A1",
"inherits": "BETA PETG Matte @base",
"from": "system",
"setting_id": "zYkrzQk11C98R31F",
"setting_id": "BPGB08_06",
"instantiation": "true",
"fan_max_speed": [
"50"
@@ -3,7 +3,7 @@
"name": "BETA PETG Matte @BBL A1M 0.4 nozzle",
"inherits": "BETA PETG Matte @base",
"from": "system",
"setting_id": "rzX5oP4037Ex5Chh",
"setting_id": "BPGB08_03",
"instantiation": "true",
"fan_max_speed": [
"50"
@@ -3,7 +3,7 @@
"name": "BETA PETG Matte @BBL H2D 0.4 nozzle",
"inherits": "BETA PETG Matte @base",
"from": "system",
"setting_id": "sqz8Vluq7GMd3siv",
"setting_id": "BPGB08_09",
"instantiation": "true",
"fan_max_speed": [
"30"
@@ -3,7 +3,7 @@
"name": "BETA PETG Matte @BBL X1C",
"inherits": "BETA PETG Matte @base",
"from": "system",
"setting_id": "NXgqYCqHeVCgFF3I",
"setting_id": "BPGB08_01",
"instantiation": "true",
"fan_min_speed": [
"20"
@@ -92,48 +92,5 @@
],
"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"
]
}
@@ -3,7 +3,7 @@
"name": "BETA PETG Metallic @BBL A1",
"inherits": "BETA PETG Metallic @base",
"from": "system",
"setting_id": "1baUIJ3P8n6DcyRc",
"setting_id": "BPGB09_06",
"instantiation": "true",
"fan_max_speed": [
"50"

Some files were not shown because too many files have changed in this diff Show More