mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-11 01:41:03 +00:00
Merge branch 'main' into main
This commit is contained in:
@@ -34,6 +34,46 @@ jobs:
|
||||
python3 ./scripts/orca_extra_profile_check.py 2>&1 | tee ${{ runner.temp }}/extra_json_check.log
|
||||
exit ${PIPESTATUS[0]}
|
||||
|
||||
- name: Check profile indentation
|
||||
id: indentation_check
|
||||
continue-on-error: true
|
||||
run: |
|
||||
set +e
|
||||
python3 - <<'PY' 2>&1 | tee ${{ runner.temp }}/indentation_check.log
|
||||
import re
|
||||
from pathlib import Path
|
||||
import sys
|
||||
|
||||
profiles_root = Path("resources/profiles")
|
||||
invalid_files = []
|
||||
|
||||
for file_path in sorted(profiles_root.rglob("*.json")):
|
||||
try:
|
||||
for line_number, line in enumerate(file_path.read_text(encoding="utf-8").splitlines(), start=1):
|
||||
if not line.strip():
|
||||
continue
|
||||
leading_ws = re.match(r"^[ \t]*", line).group(0)
|
||||
if " " in leading_ws:
|
||||
invalid_files.append((file_path, line_number))
|
||||
break
|
||||
except Exception as exc:
|
||||
print(f"[ERROR] Unable to read {file_path}: {exc}")
|
||||
invalid_files.append((file_path, 0))
|
||||
|
||||
if invalid_files:
|
||||
for path, line in invalid_files:
|
||||
if line > 0:
|
||||
print(f"[ERROR] Space indentation found in {path}:{line}")
|
||||
else:
|
||||
print(f"[ERROR] Could not validate indentation in {path}")
|
||||
print("Use tab indentation in profile JSON files (1 tab per indentation level).")
|
||||
print("Tip: run python3 ./scripts/orca_filament_lib.py --fix --force to normalize formatting.")
|
||||
sys.exit(1)
|
||||
|
||||
print("All profile JSON files use tab-only indentation.")
|
||||
PY
|
||||
exit ${PIPESTATUS[0]}
|
||||
|
||||
# download
|
||||
- name: Download
|
||||
working-directory: ${{ github.workspace }}
|
||||
@@ -62,7 +102,7 @@ jobs:
|
||||
exit ${PIPESTATUS[0]}
|
||||
|
||||
- name: Prepare comment artifact
|
||||
if: ${{ always() && github.event_name == 'pull_request' && (steps.extra_json_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }}
|
||||
if: ${{ always() && github.event_name == 'pull_request' && (steps.extra_json_check.outcome == 'failure' || steps.indentation_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }}
|
||||
run: |
|
||||
mkdir -p ${{ runner.temp }}/profile-check-results
|
||||
|
||||
@@ -79,6 +119,15 @@ jobs:
|
||||
echo ""
|
||||
fi
|
||||
|
||||
if [ "${{ steps.indentation_check.outcome }}" = "failure" ]; then
|
||||
echo "### Indentation Check Failed"
|
||||
echo ""
|
||||
echo '```'
|
||||
head -c 30000 ${{ runner.temp }}/indentation_check.log || echo "No output captured"
|
||||
echo '```'
|
||||
echo ""
|
||||
fi
|
||||
|
||||
if [ "${{ steps.validate_system.outcome }}" = "failure" ]; then
|
||||
echo "### System Profile Validation Failed"
|
||||
echo ""
|
||||
@@ -104,7 +153,7 @@ jobs:
|
||||
echo "${{ github.event.pull_request.number }}" > ${{ runner.temp }}/profile-check-results/pr_number.txt
|
||||
|
||||
- name: Upload comment artifact
|
||||
if: ${{ always() && github.event_name == 'pull_request' && (steps.extra_json_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }}
|
||||
if: ${{ always() && github.event_name == 'pull_request' && (steps.extra_json_check.outcome == 'failure' || steps.indentation_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }}
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: profile-check-results
|
||||
@@ -112,7 +161,7 @@ jobs:
|
||||
retention-days: 1
|
||||
|
||||
- name: Fail if any check failed
|
||||
if: ${{ always() && (steps.extra_json_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }}
|
||||
if: ${{ always() && (steps.extra_json_check.outcome == 'failure' || steps.indentation_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }}
|
||||
run: |
|
||||
echo "One or more profile checks failed. See above for details."
|
||||
exit 1
|
||||
|
||||
@@ -13121,6 +13121,9 @@ msgstr ""
|
||||
msgid "Contour"
|
||||
msgstr ""
|
||||
|
||||
msgid "Hole"
|
||||
msgstr ""
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -15232,6 +15232,9 @@ msgstr "Només pintat"
|
||||
msgid "Contour"
|
||||
msgstr "Contorn"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "Forat"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "Contorn i forat"
|
||||
|
||||
|
||||
@@ -11072,7 +11072,7 @@ msgid "Gizmo assemble"
|
||||
msgstr "Gizmo sestavit"
|
||||
|
||||
msgid "Gizmo brim ears"
|
||||
msgstr "Gizmo přídavky okraje (uši)"
|
||||
msgstr "Gizmo ouška lemu"
|
||||
|
||||
msgid "Zoom in"
|
||||
msgstr "Přiblížit"
|
||||
@@ -12583,13 +12583,13 @@ msgstr ""
|
||||
"průtokovým poměrem filamentu a případně průtokovým poměrem objektu."
|
||||
|
||||
msgid "Set other flow ratios"
|
||||
msgstr "Set other flow ratios"
|
||||
msgstr "Nastavit další poměry průtoku"
|
||||
|
||||
msgid "Change flow ratios for other extrusion path types."
|
||||
msgstr "Change flow ratios for other extrusion path types."
|
||||
msgstr "Změnit poměry průtoku pro další typy extruzních drah."
|
||||
|
||||
msgid "First layer flow ratio"
|
||||
msgstr "First layer flow ratio"
|
||||
msgstr "Poměr průtoku první vrstvy"
|
||||
|
||||
msgid ""
|
||||
"This factor affects the amount of material on the first layer for the "
|
||||
@@ -12598,14 +12598,14 @@ msgid ""
|
||||
"For the first layer, the actual flow ratio for each path role (does not "
|
||||
"affect brims and skirts) will be multiplied by this value."
|
||||
msgstr ""
|
||||
"This factor affects the amount of material on the first layer for the "
|
||||
"extrusion path roles listed in this section.\n"
|
||||
"Tento faktor ovlivňuje množství materiálu na první vrstvě pro role extruzních "
|
||||
"drah uvedené v této sekci.\n"
|
||||
"\n"
|
||||
"For the first layer, the actual flow ratio for each path role (does not "
|
||||
"affect brims and skirts) will be multiplied by this value."
|
||||
"Pro první vrstvu bude skutečný poměr průtoku pro každou roli dráhy (neovlivňuje "
|
||||
"lem a sukni) vynásoben touto hodnotou."
|
||||
|
||||
msgid "Outer wall flow ratio"
|
||||
msgstr "Outer wall flow ratio"
|
||||
msgstr "Poměr průtoku vnější stěny"
|
||||
|
||||
msgid ""
|
||||
"This factor affects the amount of material for outer walls.\n"
|
||||
@@ -12613,13 +12613,13 @@ msgid ""
|
||||
"The actual outer wall flow used is calculated by multiplying this value by "
|
||||
"the filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"This factor affects the amount of material for outer walls.\n"
|
||||
"Tento faktor ovlivňuje množství materiálu pro vnější stěny.\n"
|
||||
"\n"
|
||||
"The actual outer wall flow used is calculated by multiplying this value by "
|
||||
"the filament flow ratio, and if set, the object's flow ratio."
|
||||
"Skutečný průtok pro vnější stěny se vypočítá vynásobením této hodnoty "
|
||||
"poměrem průtoku filamentu a případně také poměrem průtoku objektu."
|
||||
|
||||
msgid "Inner wall flow ratio"
|
||||
msgstr "Inner wall flow ratio"
|
||||
msgstr "Poměr průtoku vnitřní stěny"
|
||||
|
||||
msgid ""
|
||||
"This factor affects the amount of material for inner walls.\n"
|
||||
@@ -12627,13 +12627,13 @@ msgid ""
|
||||
"The actual inner wall flow used is calculated by multiplying this value by "
|
||||
"the filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"This factor affects the amount of material for inner walls.\n"
|
||||
"Tento faktor ovlivňuje množství materiálu pro vnitřní stěny.\n"
|
||||
"\n"
|
||||
"The actual inner wall flow used is calculated by multiplying this value by "
|
||||
"the filament flow ratio, and if set, the object's flow ratio."
|
||||
"Skutečný průtok pro vnitřní stěny se vypočítá vynásobením této hodnoty "
|
||||
"poměrem průtoku filamentu a případně také poměrem průtoku objektu."
|
||||
|
||||
msgid "Overhang flow ratio"
|
||||
msgstr "Overhang flow ratio"
|
||||
msgstr "Poměr průtoku převisů"
|
||||
|
||||
msgid ""
|
||||
"This factor affects the amount of material for overhangs.\n"
|
||||
@@ -12641,13 +12641,13 @@ msgid ""
|
||||
"The actual overhang flow used is calculated by multiplying this value by the "
|
||||
"filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"This factor affects the amount of material for overhangs.\n"
|
||||
"Tento faktor ovlivňuje množství materiálu pro převisy.\n"
|
||||
"\n"
|
||||
"The actual overhang flow used is calculated by multiplying this value by the "
|
||||
"filament flow ratio, and if set, the object's flow ratio."
|
||||
"Skutečný průtok pro převisy se vypočítá vynásobením této hodnoty "
|
||||
"poměrem průtoku filamentu a případně také poměrem průtoku objektu."
|
||||
|
||||
msgid "Sparse infill flow ratio"
|
||||
msgstr "Sparse infill flow ratio"
|
||||
msgstr "Poměr průtoku řídké výplně"
|
||||
|
||||
msgid ""
|
||||
"This factor affects the amount of material for sparse infill.\n"
|
||||
@@ -12655,13 +12655,13 @@ msgid ""
|
||||
"The actual sparse infill flow used is calculated by multiplying this value "
|
||||
"by the filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"This factor affects the amount of material for sparse infill.\n"
|
||||
"Tento faktor ovlivňuje množství materiálu pro řídkou výplň.\n"
|
||||
"\n"
|
||||
"The actual sparse infill flow used is calculated by multiplying this value "
|
||||
"by the filament flow ratio, and if set, the object's flow ratio."
|
||||
"Skutečný průtok pro řídkou výplň se vypočítá vynásobením této hodnoty "
|
||||
"poměrem průtoku filamentu a případně také poměrem průtoku objektu."
|
||||
|
||||
msgid "Internal solid infill flow ratio"
|
||||
msgstr "Internal solid infill flow ratio"
|
||||
msgstr "Poměr průtoku vnitřní plné výplně"
|
||||
|
||||
msgid ""
|
||||
"This factor affects the amount of material for internal solid infill.\n"
|
||||
@@ -12669,13 +12669,13 @@ msgid ""
|
||||
"The actual internal solid infill flow used is calculated by multiplying this "
|
||||
"value by the filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"This factor affects the amount of material for internal solid infill.\n"
|
||||
"Tento faktor ovlivňuje množství materiálu pro vnitřní plnou výplň.\n"
|
||||
"\n"
|
||||
"The actual internal solid infill flow used is calculated by multiplying this "
|
||||
"value by the filament flow ratio, and if set, the object's flow ratio."
|
||||
"Skutečný průtok pro vnitřní plnou výplň se vypočítá vynásobením této hodnoty "
|
||||
"poměrem průtoku filamentu a případně také poměrem průtoku objektu."
|
||||
|
||||
msgid "Gap fill flow ratio"
|
||||
msgstr "Gap fill flow ratio"
|
||||
msgstr "Poměr průtoku vyplnění mezer"
|
||||
|
||||
msgid ""
|
||||
"This factor affects the amount of material for filling the gaps.\n"
|
||||
@@ -12683,13 +12683,13 @@ msgid ""
|
||||
"The actual gap filling flow used is calculated by multiplying this value by "
|
||||
"the filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"This factor affects the amount of material for filling the gaps.\n"
|
||||
"Tento faktor ovlivňuje množství materiálu pro vyplnění mezer.\n"
|
||||
"\n"
|
||||
"The actual gap filling flow used is calculated by multiplying this value by "
|
||||
"the filament flow ratio, and if set, the object's flow ratio."
|
||||
"Skutečný průtok pro vyplnění mezer se vypočítá vynásobením této hodnoty "
|
||||
"poměrem průtoku filamentu a případně také poměrem průtoku objektu."
|
||||
|
||||
msgid "Support flow ratio"
|
||||
msgstr "Support flow ratio"
|
||||
msgstr "Poměr průtoku podpěr"
|
||||
|
||||
msgid ""
|
||||
"This factor affects the amount of material for support.\n"
|
||||
@@ -12697,13 +12697,13 @@ msgid ""
|
||||
"The actual support flow used is calculated by multiplying this value by the "
|
||||
"filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"This factor affects the amount of material for support.\n"
|
||||
"Tento faktor ovlivňuje množství materiálu pro podpěry.\n"
|
||||
"\n"
|
||||
"The actual support flow used is calculated by multiplying this value by the "
|
||||
"filament flow ratio, and if set, the object's flow ratio."
|
||||
"Skutečný průtok pro podpěry se vypočítá vynásobením této hodnoty "
|
||||
"poměrem průtoku filamentu a případně také poměrem průtoku objektu."
|
||||
|
||||
msgid "Support interface flow ratio"
|
||||
msgstr "Support interface flow ratio"
|
||||
msgstr "Poměr průtoku rozhraní podpěr"
|
||||
|
||||
msgid ""
|
||||
"This factor affects the amount of material for the support interface.\n"
|
||||
@@ -12711,10 +12711,10 @@ msgid ""
|
||||
"The actual support interface flow used is calculated by multiplying this "
|
||||
"value by the filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"This factor affects the amount of material for the support interface.\n"
|
||||
"Tento faktor ovlivňuje množství materiálu pro rozhraní podpěr.\n"
|
||||
"\n"
|
||||
"The actual support interface flow used is calculated by multiplying this "
|
||||
"value by the filament flow ratio, and if set, the object's flow ratio."
|
||||
"Skutečný průtok pro rozhraní podpěr se vypočítá vynásobením této hodnoty "
|
||||
"poměrem průtoku filamentu a případně také poměrem průtoku objektu."
|
||||
|
||||
msgid "Precise wall"
|
||||
msgstr "Přesná stěna"
|
||||
@@ -14821,6 +14821,9 @@ msgstr "Painted only"
|
||||
msgid "Contour"
|
||||
msgstr "Obrys"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "Otvor"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "Obrys a otvor"
|
||||
|
||||
|
||||
@@ -15357,6 +15357,9 @@ msgstr "Nur lackiert"
|
||||
msgid "Contour"
|
||||
msgstr "Kontur"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "Loch"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "Kontur und Loch"
|
||||
|
||||
|
||||
@@ -13403,6 +13403,9 @@ msgstr ""
|
||||
msgid "Contour"
|
||||
msgstr ""
|
||||
|
||||
msgid "Hole"
|
||||
msgstr ""
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -15294,6 +15294,9 @@ msgstr "Solo pintado"
|
||||
msgid "Contour"
|
||||
msgstr "Contorno"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "Orificio"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "Contorno y orificio"
|
||||
|
||||
|
||||
@@ -15433,6 +15433,9 @@ msgstr "Peint uniquement"
|
||||
msgid "Contour"
|
||||
msgstr "Contour"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "Trou"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "Contour et trou"
|
||||
|
||||
|
||||
@@ -15122,6 +15122,9 @@ msgstr "Csak festett"
|
||||
msgid "Contour"
|
||||
msgstr "Kontúr"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "Lyuk"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "Kontúr és lyuk"
|
||||
|
||||
|
||||
@@ -15319,6 +15319,9 @@ msgstr "Solo verniciato"
|
||||
msgid "Contour"
|
||||
msgstr "Contorno"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "Foro"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "Contorno e foro"
|
||||
|
||||
|
||||
@@ -14093,6 +14093,9 @@ msgstr "塗装のみ"
|
||||
msgid "Contour"
|
||||
msgstr "輪郭"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "穴"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "輪郭と穴"
|
||||
|
||||
|
||||
@@ -14240,6 +14240,9 @@ msgstr "도색만"
|
||||
msgid "Contour"
|
||||
msgstr "윤곽"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "구멍"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "윤곽 및 구멍"
|
||||
|
||||
|
||||
@@ -15043,6 +15043,9 @@ msgstr "Tik dažytas"
|
||||
msgid "Contour"
|
||||
msgstr "Kontūras"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "Skylė"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "Kontūras ir skylė"
|
||||
|
||||
|
||||
@@ -15043,6 +15043,9 @@ msgstr "Alleen geverfd"
|
||||
msgid "Contour"
|
||||
msgstr "Contour"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "Gat"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "Contour en gat"
|
||||
|
||||
|
||||
@@ -14539,6 +14539,9 @@ msgstr "Tylko malowane"
|
||||
msgid "Contour"
|
||||
msgstr "Kontur"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "Otwory"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "Kontur i otwory"
|
||||
|
||||
|
||||
@@ -15186,6 +15186,9 @@ msgstr "Somente pintado"
|
||||
msgid "Contour"
|
||||
msgstr "Contorno"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "Furo"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "Contorno e furo"
|
||||
|
||||
|
||||
@@ -15501,6 +15501,9 @@ msgstr "Вручную"
|
||||
msgid "Contour"
|
||||
msgstr "Контур"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "Отверстия"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "Контур и отверстия"
|
||||
|
||||
|
||||
@@ -14883,6 +14883,9 @@ msgstr "Endast målad"
|
||||
msgid "Contour"
|
||||
msgstr "Kontur"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "Hål"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "Kontur och hål"
|
||||
|
||||
|
||||
@@ -13339,6 +13339,9 @@ msgstr "Sadece boyalı"
|
||||
msgid "Contour"
|
||||
msgstr "Kontur"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "Delik"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "Kontur ve delik"
|
||||
|
||||
|
||||
@@ -14536,6 +14536,9 @@ msgstr "Тільки пофарбовані"
|
||||
msgid "Contour"
|
||||
msgstr "Контур"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "Отвір"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "Контур та отвір"
|
||||
|
||||
|
||||
@@ -14730,6 +14730,9 @@ msgstr "Chỉ được sơn"
|
||||
msgid "Contour"
|
||||
msgstr "Đường viền"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "Lỗ"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "Đường viền và lỗ"
|
||||
|
||||
|
||||
@@ -13894,6 +13894,9 @@ msgstr "仅涂漆"
|
||||
msgid "Contour"
|
||||
msgstr "轮廓"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "孔"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "轮廓和孔"
|
||||
|
||||
|
||||
@@ -14006,6 +14006,9 @@ msgstr "僅塗漆"
|
||||
msgid "Contour"
|
||||
msgstr "輪廓"
|
||||
|
||||
msgid "Hole"
|
||||
msgstr "孔洞"
|
||||
|
||||
msgid "Contour and hole"
|
||||
msgstr "輪廓和孔"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "Bambulab",
|
||||
"url": "http://www.bambulab.com/Parameters/vendor/BBL.json",
|
||||
"version": "02.01.00.10",
|
||||
"version": "02.01.00.11",
|
||||
"force_update": "0",
|
||||
"description": "the initial version of BBL configurations",
|
||||
"machine_model_list": [
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -11,6 +11,7 @@
|
||||
"50",
|
||||
"50"
|
||||
],
|
||||
"enable_arc_fitting": "0",
|
||||
"default_acceleration": [
|
||||
"4000",
|
||||
"4000"
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"50",
|
||||
"50"
|
||||
],
|
||||
"enable_arc_fitting": "0",
|
||||
"default_acceleration": [
|
||||
"4000",
|
||||
"4000"
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"50",
|
||||
"50"
|
||||
],
|
||||
"enable_arc_fitting": "0",
|
||||
"default_acceleration": [
|
||||
"4000",
|
||||
"4000"
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"50",
|
||||
"50"
|
||||
],
|
||||
"enable_arc_fitting": "0",
|
||||
"default_acceleration": [
|
||||
"4000",
|
||||
"4000"
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"50",
|
||||
"50"
|
||||
],
|
||||
"enable_arc_fitting": "0",
|
||||
"default_acceleration": [
|
||||
"4000",
|
||||
"4000"
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"50",
|
||||
"50"
|
||||
],
|
||||
"enable_arc_fitting": "0",
|
||||
"default_acceleration": [
|
||||
"4000",
|
||||
"4000"
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"50",
|
||||
"50"
|
||||
],
|
||||
"enable_arc_fitting": "0",
|
||||
"default_acceleration": [
|
||||
"10000",
|
||||
"10000"
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"30",
|
||||
"30"
|
||||
],
|
||||
"enable_arc_fitting": "0",
|
||||
"default_acceleration": [
|
||||
"10000",
|
||||
"10000"
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"50",
|
||||
"50"
|
||||
],
|
||||
"enable_arc_fitting": "0",
|
||||
"default_acceleration": [
|
||||
"4000",
|
||||
"4000"
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"50",
|
||||
"50"
|
||||
],
|
||||
"enable_arc_fitting": "0",
|
||||
"default_acceleration": [
|
||||
"10000",
|
||||
"10000"
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"30",
|
||||
"30"
|
||||
],
|
||||
"enable_arc_fitting": "0",
|
||||
"default_acceleration": [
|
||||
"10000",
|
||||
"10000"
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"30",
|
||||
"30"
|
||||
],
|
||||
"enable_arc_fitting": "0",
|
||||
"default_acceleration": [
|
||||
"10000",
|
||||
"10000"
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"50",
|
||||
"50"
|
||||
],
|
||||
"enable_arc_fitting": "0",
|
||||
"default_acceleration": [
|
||||
"10000",
|
||||
"10000"
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"30",
|
||||
"30"
|
||||
],
|
||||
"enable_arc_fitting": "0",
|
||||
"default_acceleration": [
|
||||
"10000",
|
||||
"10000"
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"30",
|
||||
"30"
|
||||
],
|
||||
"enable_arc_fitting": "0",
|
||||
"default_acceleration": [
|
||||
"10000",
|
||||
"10000"
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"30",
|
||||
"30"
|
||||
],
|
||||
"enable_arc_fitting": "0",
|
||||
"default_acceleration": [
|
||||
"10000",
|
||||
"10000"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "Creality",
|
||||
"version": "02.03.02.70",
|
||||
"version": "02.03.02.71",
|
||||
"force_update": "0",
|
||||
"description": "Creality configurations",
|
||||
"machine_model_list": [
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
"from": "system",
|
||||
"setting_id": "GM001",
|
||||
"instantiation": "true",
|
||||
"printer_variant": "0.2",
|
||||
"printer_settings_id": "Creality",
|
||||
"printer_model": "Creality Ender-3 V3 KE",
|
||||
"gcode_flavor": "klipper",
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
"from": "system",
|
||||
"setting_id": "GM001",
|
||||
"instantiation": "true",
|
||||
"printer_variant": "0.4",
|
||||
"printer_settings_id": "Creality",
|
||||
"printer_model": "Creality Ender-3 V3 KE",
|
||||
"gcode_flavor": "klipper",
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
"from": "system",
|
||||
"setting_id": "GM001",
|
||||
"instantiation": "true",
|
||||
"printer_variant": "0.6",
|
||||
"printer_settings_id": "Creality",
|
||||
"printer_model": "Creality Ender-3 V3 KE",
|
||||
"gcode_flavor": "klipper",
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
"from": "system",
|
||||
"setting_id": "GM001",
|
||||
"instantiation": "true",
|
||||
"printer_variant": "0.8",
|
||||
"printer_settings_id": "Creality",
|
||||
"printer_model": "Creality Ender-3 V3 KE",
|
||||
"gcode_flavor": "klipper",
|
||||
|
||||
@@ -0,0 +1,159 @@
|
||||
{
|
||||
"name": "LH",
|
||||
"url": "https://github.com/lhndo/LH-Stinger",
|
||||
"version": "01.00.00.00",
|
||||
"force_update": "0",
|
||||
"description": "LH 3D Printer Configuration",
|
||||
"machine_model_list": [
|
||||
{
|
||||
"name": "LH Stinger",
|
||||
"sub_path": "machine/LH Stinger.json"
|
||||
},
|
||||
{
|
||||
"name": "LH Stinger MMU",
|
||||
"sub_path": "machine/LH Stinger MMU.json"
|
||||
}
|
||||
],
|
||||
"process_list": [
|
||||
{
|
||||
"name": "fdm_process_common",
|
||||
"sub_path": "process/fdm_process_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_lh_common",
|
||||
"sub_path": "process/fdm_process_lh_common.json"
|
||||
},
|
||||
{
|
||||
"name": "0.20mm Daily @LH Stinger",
|
||||
"sub_path": "process/0.20mm Daily @LH Stinger.json"
|
||||
},
|
||||
{
|
||||
"name": "0.25mm Vase Mode @LH Stinger",
|
||||
"sub_path": "process/0.25mm Vase Mode @LH Stinger.json"
|
||||
},
|
||||
{
|
||||
"name": "0.20mm TPU @LH Stinger",
|
||||
"sub_path": "process/0.20mm TPU @LH Stinger.json"
|
||||
},
|
||||
{
|
||||
"name": "0.20mm Strength @LH Stinger",
|
||||
"sub_path": "process/0.20mm Strength @LH Stinger.json"
|
||||
},
|
||||
{
|
||||
"name": "0.20mm Speed @LH Stinger",
|
||||
"sub_path": "process/0.20mm Speed @LH Stinger.json"
|
||||
},
|
||||
{
|
||||
"name": "0.20mm Solid @LH Stinger",
|
||||
"sub_path": "process/0.20mm Solid @LH Stinger.json"
|
||||
},
|
||||
{
|
||||
"name": "0.20mm Quiet @LH Stinger",
|
||||
"sub_path": "process/0.20mm Quiet @LH Stinger.json"
|
||||
},
|
||||
{
|
||||
"name": "0.20mm PETG @LH Stinger",
|
||||
"sub_path": "process/0.20mm PETG @LH Stinger.json"
|
||||
},
|
||||
{
|
||||
"name": "0.20mm MMU @LH Stinger",
|
||||
"sub_path": "process/0.20mm MMU @LH Stinger.json"
|
||||
},
|
||||
{
|
||||
"name": "0.10mm HueForge @LH Stinger",
|
||||
"sub_path": "process/0.10mm HueForge @LH Stinger.json"
|
||||
},
|
||||
{
|
||||
"name": "0.14mm Detail Strength @LH Stinger",
|
||||
"sub_path": "process/0.14mm Detail Strength @LH Stinger.json"
|
||||
},
|
||||
{
|
||||
"name": "0.14mm Detail @LH Stinger",
|
||||
"sub_path": "process/0.14mm Detail @LH Stinger.json"
|
||||
}
|
||||
],
|
||||
"filament_list": [
|
||||
{
|
||||
"name": "fdm_filament_common",
|
||||
"sub_path": "filament/fdm_filament_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_filament_abs",
|
||||
"sub_path": "filament/fdm_filament_abs.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_filament_asa",
|
||||
"sub_path": "filament/fdm_filament_asa.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_filament_pc",
|
||||
"sub_path": "filament/fdm_filament_pc.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_filament_pet",
|
||||
"sub_path": "filament/fdm_filament_pet.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_filament_pla",
|
||||
"sub_path": "filament/fdm_filament_pla.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_filament_tpu",
|
||||
"sub_path": "filament/fdm_filament_tpu.json"
|
||||
},
|
||||
{
|
||||
"name": "LHS ASA",
|
||||
"sub_path": "filament/LHS ASA.json"
|
||||
},
|
||||
{
|
||||
"name": "LHS ABS",
|
||||
"sub_path": "filament/LHS ABS.json"
|
||||
},
|
||||
{
|
||||
"name": "LHS TPU",
|
||||
"sub_path": "filament/LHS TPU.json"
|
||||
},
|
||||
{
|
||||
"name": "LHS PLA",
|
||||
"sub_path": "filament/LHS PLA.json"
|
||||
},
|
||||
{
|
||||
"name": "LHS TPU Foamy 78A",
|
||||
"sub_path": "filament/LHS TPU Foamy 78A.json"
|
||||
},
|
||||
{
|
||||
"name": "LHS PETG",
|
||||
"sub_path": "filament/LHS PETG.json"
|
||||
},
|
||||
{
|
||||
"name": "LHS PCTG",
|
||||
"sub_path": "filament/LHS PCTG.json"
|
||||
},
|
||||
{
|
||||
"name": "LHS PC CF",
|
||||
"sub_path": "filament/LHS PC CF.json"
|
||||
}
|
||||
],
|
||||
"machine_list": [
|
||||
{
|
||||
"name": "fdm_machine_common",
|
||||
"sub_path": "machine/fdm_machine_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_lh_common",
|
||||
"sub_path": "machine/fdm_lh_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_lh_mmu_common",
|
||||
"sub_path": "machine/fdm_lh_mmu_common.json"
|
||||
},
|
||||
{
|
||||
"name": "LH Stinger 0.4 nozzle",
|
||||
"sub_path": "machine/LH Stinger 0.4 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "LH Stinger MMU 0.4 nozzle",
|
||||
"sub_path": "machine/LH Stinger MMU 0.4 nozzle.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 64 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 65 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
@@ -0,0 +1,355 @@
|
||||
{
|
||||
"name": "LHS ABS",
|
||||
"type": "filament",
|
||||
"filament_id": "LHF_abs",
|
||||
"setting_id": "LHF_S_abs",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_asa",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"activate_chamber_temp_control": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance_bridges": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance_model": [
|
||||
"0,0,0\n0,0,0"
|
||||
],
|
||||
"adaptive_pressure_advance_overhangs": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"chamber_temperature": [
|
||||
"0"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"2"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"0"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"0"
|
||||
],
|
||||
"default_filament_colour": [
|
||||
""
|
||||
],
|
||||
"dont_slow_down_outer_wall": [
|
||||
"0"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"enable_overhang_bridge_fan": [
|
||||
"1"
|
||||
],
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"100"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"105"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"25"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"25"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"25"
|
||||
],
|
||||
"filament_adaptive_volumetric_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"0"
|
||||
],
|
||||
"filament_change_length": [
|
||||
"10"
|
||||
],
|
||||
"filament_cooling_final_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_cooling_initial_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_cooling_moves": [
|
||||
"0"
|
||||
],
|
||||
"filament_cost": [
|
||||
"20"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.04"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode\n"
|
||||
],
|
||||
"filament_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.926"
|
||||
],
|
||||
"filament_flush_temp": [
|
||||
"0"
|
||||
],
|
||||
"filament_flush_volumetric_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_ironing_flow": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_inset": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_spacing": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_loading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_loading_speed_start": [
|
||||
"0"
|
||||
],
|
||||
"filament_long_retractions_when_cut": [
|
||||
"nil"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"45"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming_flow": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming_volume": [
|
||||
"0"
|
||||
],
|
||||
"filament_notes": [
|
||||
""
|
||||
],
|
||||
"filament_printable": [
|
||||
"3"
|
||||
],
|
||||
"filament_ramming_parameters": [
|
||||
"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_above": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_below": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_enforce": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_distances_when_cut": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_settings_id": [
|
||||
"LHS - ASA"
|
||||
],
|
||||
"filament_shrink": [
|
||||
"100%"
|
||||
],
|
||||
"filament_shrinkage_compensation_z": [
|
||||
"100%"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_stamping_distance": [
|
||||
"0"
|
||||
],
|
||||
"filament_stamping_loading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n; MPC_SET HEATER=extruder FILAMENT_DENSITY=1.07 FILAMENT_HEAT_CAPACITY=2.1\nMAX_FAN LINK_AUX=0"
|
||||
],
|
||||
"filament_toolchange_delay": [
|
||||
"0"
|
||||
],
|
||||
"filament_tower_interface_pre_extrusion_dist": [
|
||||
"10"
|
||||
],
|
||||
"filament_tower_interface_pre_extrusion_length": [
|
||||
"0"
|
||||
],
|
||||
"filament_tower_interface_print_temp": [
|
||||
"-1"
|
||||
],
|
||||
"filament_tower_interface_purge_volume": [
|
||||
"20"
|
||||
],
|
||||
"filament_tower_ironing_area": [
|
||||
"4"
|
||||
],
|
||||
"filament_type": [
|
||||
"ASA"
|
||||
],
|
||||
"filament_unloading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_unloading_speed_start": [
|
||||
"0"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"4"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"105"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"105"
|
||||
],
|
||||
"idle_temperature": [
|
||||
"0"
|
||||
],
|
||||
"internal_bridge_fan_speed": [
|
||||
"-1"
|
||||
],
|
||||
"ironing_fan_speed": [
|
||||
"-1"
|
||||
],
|
||||
"long_retractions_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"260"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"260"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"300"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"240"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"50"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"50%"
|
||||
],
|
||||
"pellet_flow_coefficient": [
|
||||
"0.4157"
|
||||
],
|
||||
"pressure_advance": [
|
||||
"0.019"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_for_layer_cooling": [
|
||||
"1"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"15"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"10"
|
||||
],
|
||||
"supertack_plate_temp": [
|
||||
"0"
|
||||
],
|
||||
"supertack_plate_temp_initial_layer": [
|
||||
"0"
|
||||
],
|
||||
"support_material_interface_fan_speed": [
|
||||
"-1"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"110"
|
||||
],
|
||||
"textured_cool_plate_temp": [
|
||||
"40"
|
||||
],
|
||||
"textured_cool_plate_temp_initial_layer": [
|
||||
"40"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"100"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"105"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"LH Stinger"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
""
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,352 @@
|
||||
{
|
||||
"name": "LHS ASA",
|
||||
"filament_id": "LHF_asa",
|
||||
"setting_id": "LHF_S_asa",
|
||||
"type": "filament",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_asa",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"activate_chamber_temp_control": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance_bridges": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance_model": [
|
||||
"0,0,0\n0,0,0"
|
||||
],
|
||||
"adaptive_pressure_advance_overhangs": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"chamber_temperature": [
|
||||
"0"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"2"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"0"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"0"
|
||||
],
|
||||
"default_filament_colour": [
|
||||
""
|
||||
],
|
||||
"dont_slow_down_outer_wall": [
|
||||
"0"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"enable_overhang_bridge_fan": [
|
||||
"1"
|
||||
],
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"100"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"105"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"25"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"25"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"25"
|
||||
],
|
||||
"filament_adaptive_volumetric_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"0"
|
||||
],
|
||||
"filament_change_length": [
|
||||
"10"
|
||||
],
|
||||
"filament_cooling_final_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_cooling_initial_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_cooling_moves": [
|
||||
"0"
|
||||
],
|
||||
"filament_cost": [
|
||||
"20"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.04"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode\n"
|
||||
],
|
||||
"filament_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.926"
|
||||
],
|
||||
"filament_flush_temp": [
|
||||
"0"
|
||||
],
|
||||
"filament_flush_volumetric_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_ironing_flow": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_inset": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_spacing": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_loading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_loading_speed_start": [
|
||||
"0"
|
||||
],
|
||||
"filament_long_retractions_when_cut": [
|
||||
"nil"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"45"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming_flow": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming_volume": [
|
||||
"0"
|
||||
],
|
||||
"filament_notes": [
|
||||
""
|
||||
],
|
||||
"filament_printable": [
|
||||
"3"
|
||||
],
|
||||
"filament_ramming_parameters": [
|
||||
"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_above": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_below": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_enforce": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_distances_when_cut": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_shrink": [
|
||||
"100%"
|
||||
],
|
||||
"filament_shrinkage_compensation_z": [
|
||||
"100%"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_stamping_distance": [
|
||||
"0"
|
||||
],
|
||||
"filament_stamping_loading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n; MPC_SET HEATER=extruder FILAMENT_DENSITY=1.07 FILAMENT_HEAT_CAPACITY=2.1\nMAX_FAN LINK_AUX=0"
|
||||
],
|
||||
"filament_toolchange_delay": [
|
||||
"0"
|
||||
],
|
||||
"filament_tower_interface_pre_extrusion_dist": [
|
||||
"10"
|
||||
],
|
||||
"filament_tower_interface_pre_extrusion_length": [
|
||||
"0"
|
||||
],
|
||||
"filament_tower_interface_print_temp": [
|
||||
"-1"
|
||||
],
|
||||
"filament_tower_interface_purge_volume": [
|
||||
"20"
|
||||
],
|
||||
"filament_tower_ironing_area": [
|
||||
"4"
|
||||
],
|
||||
"filament_type": [
|
||||
"ASA"
|
||||
],
|
||||
"filament_unloading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_unloading_speed_start": [
|
||||
"0"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"4"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"105"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"105"
|
||||
],
|
||||
"idle_temperature": [
|
||||
"0"
|
||||
],
|
||||
"internal_bridge_fan_speed": [
|
||||
"-1"
|
||||
],
|
||||
"ironing_fan_speed": [
|
||||
"-1"
|
||||
],
|
||||
"long_retractions_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"260"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"260"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"300"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"240"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"50"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"50%"
|
||||
],
|
||||
"pellet_flow_coefficient": [
|
||||
"0.4157"
|
||||
],
|
||||
"pressure_advance": [
|
||||
"0.019"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_for_layer_cooling": [
|
||||
"1"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"15"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"10"
|
||||
],
|
||||
"supertack_plate_temp": [
|
||||
"0"
|
||||
],
|
||||
"supertack_plate_temp_initial_layer": [
|
||||
"0"
|
||||
],
|
||||
"support_material_interface_fan_speed": [
|
||||
"-1"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"110"
|
||||
],
|
||||
"textured_cool_plate_temp": [
|
||||
"40"
|
||||
],
|
||||
"textured_cool_plate_temp_initial_layer": [
|
||||
"40"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"100"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"105"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"LH Stinger"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
""
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
{
|
||||
"name": "LHS PC CF",
|
||||
"type": "filament",
|
||||
"filament_id": "LHF_pccf",
|
||||
"setting_id": "LHF_S_pccf",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"4"
|
||||
],
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"11"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"5"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"5"
|
||||
],
|
||||
"filament_cooling_final_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_cooling_initial_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_cooling_moves": [
|
||||
"0"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.18"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.945"
|
||||
],
|
||||
"filament_loading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_loading_speed_start": [
|
||||
"0"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming_flow": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming_volume": [
|
||||
"0"
|
||||
],
|
||||
"filament_notes": [
|
||||
"Extrusion Override set to a higher value\nAux disabled\nZ-Offset increased to 0.025 due to nozzle expansion at 300C"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"0.4"
|
||||
],
|
||||
"filament_shrink": [
|
||||
"99.8%"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n; MPC_SET HEATER=extruder FILAMENT_DENSITY=1.36 FILAMENT_HEAT_CAPACITY=2.6\nMAX_FAN LINK_AUX=0"
|
||||
],
|
||||
"filament_type": [
|
||||
"PC"
|
||||
],
|
||||
"filament_unloading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_unloading_speed_start": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"105"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"105"
|
||||
],
|
||||
"is_custom_defined": "0",
|
||||
"nozzle_temperature": [
|
||||
"300"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"300"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"300"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"270"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"35"
|
||||
],
|
||||
"pressure_advance": [
|
||||
"0.025"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"7"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"12"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"LH Stinger"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"140"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,352 @@
|
||||
{
|
||||
"name": "LHS PCTG",
|
||||
"type": "filament",
|
||||
"filament_id": "LHF_pctg",
|
||||
"setting_id": "LHF_S_pctg",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"activate_chamber_temp_control": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance_bridges": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance_model": [
|
||||
"0,0,0\n0,0,0"
|
||||
],
|
||||
"adaptive_pressure_advance_overhangs": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"chamber_temperature": [
|
||||
"0"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"1"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"35"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"35"
|
||||
],
|
||||
"default_filament_colour": [
|
||||
""
|
||||
],
|
||||
"dont_slow_down_outer_wall": [
|
||||
"0"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"enable_overhang_bridge_fan": [
|
||||
"1"
|
||||
],
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"0"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"13"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"50"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"filament_adaptive_volumetric_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"0"
|
||||
],
|
||||
"filament_change_length": [
|
||||
"10"
|
||||
],
|
||||
"filament_cooling_final_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_cooling_initial_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_cooling_moves": [
|
||||
"0"
|
||||
],
|
||||
"filament_cost": [
|
||||
"20"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.24"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"25"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode\n"
|
||||
],
|
||||
"filament_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.953"
|
||||
],
|
||||
"filament_flush_temp": [
|
||||
"0"
|
||||
],
|
||||
"filament_flush_volumetric_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_ironing_flow": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_inset": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_spacing": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_loading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_loading_speed_start": [
|
||||
"0"
|
||||
],
|
||||
"filament_long_retractions_when_cut": [
|
||||
"nil"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"25"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming_flow": [
|
||||
"10"
|
||||
],
|
||||
"filament_multitool_ramming_volume": [
|
||||
"10"
|
||||
],
|
||||
"filament_notes": [
|
||||
""
|
||||
],
|
||||
"filament_printable": [
|
||||
"3"
|
||||
],
|
||||
"filament_ramming_parameters": [
|
||||
"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_above": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_below": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_enforce": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_distances_when_cut": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"0.6"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"30"
|
||||
],
|
||||
"filament_shrink": [
|
||||
"100%"
|
||||
],
|
||||
"filament_shrinkage_compensation_z": [
|
||||
"100%"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_stamping_distance": [
|
||||
"0"
|
||||
],
|
||||
"filament_stamping_loading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n; MPC_SET HEATER=extruder FILAMENT_DENSITY=1.25 FILAMENT_HEAT_CAPACITY=5.5\nMAX_FAN LINK_AUX=0"
|
||||
],
|
||||
"filament_toolchange_delay": [
|
||||
"0"
|
||||
],
|
||||
"filament_tower_interface_pre_extrusion_dist": [
|
||||
"10"
|
||||
],
|
||||
"filament_tower_interface_pre_extrusion_length": [
|
||||
"0"
|
||||
],
|
||||
"filament_tower_interface_print_temp": [
|
||||
"-1"
|
||||
],
|
||||
"filament_tower_interface_purge_volume": [
|
||||
"20"
|
||||
],
|
||||
"filament_tower_ironing_area": [
|
||||
"4"
|
||||
],
|
||||
"filament_type": [
|
||||
"PCTG"
|
||||
],
|
||||
"filament_unloading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_unloading_speed_start": [
|
||||
"0"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"0"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"3"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"90"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"85"
|
||||
],
|
||||
"idle_temperature": [
|
||||
"0"
|
||||
],
|
||||
"internal_bridge_fan_speed": [
|
||||
"30"
|
||||
],
|
||||
"ironing_fan_speed": [
|
||||
"-1"
|
||||
],
|
||||
"long_retractions_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"280"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"270"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"300"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"230"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"50"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"50%"
|
||||
],
|
||||
"pellet_flow_coefficient": [
|
||||
"0.4157"
|
||||
],
|
||||
"pressure_advance": [
|
||||
"0.038"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_for_layer_cooling": [
|
||||
"1"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"15"
|
||||
],
|
||||
"supertack_plate_temp": [
|
||||
"45"
|
||||
],
|
||||
"supertack_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"support_material_interface_fan_speed": [
|
||||
"50"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"80"
|
||||
],
|
||||
"textured_cool_plate_temp": [
|
||||
"40"
|
||||
],
|
||||
"textured_cool_plate_temp_initial_layer": [
|
||||
"40"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"55"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"55"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"LH Stinger"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
""
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,352 @@
|
||||
{
|
||||
"name": "LHS PETG",
|
||||
"type": "filament",
|
||||
"filament_id": "LHF_petg",
|
||||
"setting_id": "LHF_S_petg",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"activate_chamber_temp_control": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance_bridges": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance_model": [
|
||||
"0,0,0\n0,0,0"
|
||||
],
|
||||
"adaptive_pressure_advance_overhangs": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"chamber_temperature": [
|
||||
"0"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"1"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"35"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"35"
|
||||
],
|
||||
"default_filament_colour": [
|
||||
""
|
||||
],
|
||||
"dont_slow_down_outer_wall": [
|
||||
"0"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"enable_overhang_bridge_fan": [
|
||||
"1"
|
||||
],
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"0"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"15"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"65"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_adaptive_volumetric_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"0"
|
||||
],
|
||||
"filament_change_length": [
|
||||
"10"
|
||||
],
|
||||
"filament_cooling_final_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_cooling_initial_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_cooling_moves": [
|
||||
"0"
|
||||
],
|
||||
"filament_cost": [
|
||||
"20"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.24"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode\n"
|
||||
],
|
||||
"filament_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.923"
|
||||
],
|
||||
"filament_flush_temp": [
|
||||
"0"
|
||||
],
|
||||
"filament_flush_volumetric_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_ironing_flow": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_inset": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_spacing": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_loading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_loading_speed_start": [
|
||||
"0"
|
||||
],
|
||||
"filament_long_retractions_when_cut": [
|
||||
"nil"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"27"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming_flow": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming_volume": [
|
||||
"0"
|
||||
],
|
||||
"filament_notes": [
|
||||
""
|
||||
],
|
||||
"filament_printable": [
|
||||
"3"
|
||||
],
|
||||
"filament_ramming_parameters": [
|
||||
"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_above": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_below": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_enforce": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_distances_when_cut": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"0.6"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_shrink": [
|
||||
"100%"
|
||||
],
|
||||
"filament_shrinkage_compensation_z": [
|
||||
"100%"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_stamping_distance": [
|
||||
"0"
|
||||
],
|
||||
"filament_stamping_loading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n; MPC_SET HEATER=extruder FILAMENT_DENSITY=1.27 FILAMENT_HEAT_CAPACITY=5.5\nMAX_FAN LINK_AUX=0"
|
||||
],
|
||||
"filament_toolchange_delay": [
|
||||
"0"
|
||||
],
|
||||
"filament_tower_interface_pre_extrusion_dist": [
|
||||
"10"
|
||||
],
|
||||
"filament_tower_interface_pre_extrusion_length": [
|
||||
"0"
|
||||
],
|
||||
"filament_tower_interface_print_temp": [
|
||||
"-1"
|
||||
],
|
||||
"filament_tower_interface_purge_volume": [
|
||||
"20"
|
||||
],
|
||||
"filament_tower_ironing_area": [
|
||||
"4"
|
||||
],
|
||||
"filament_type": [
|
||||
"PETG"
|
||||
],
|
||||
"filament_unloading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_unloading_speed_start": [
|
||||
"0"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"3"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"80"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"80"
|
||||
],
|
||||
"idle_temperature": [
|
||||
"0"
|
||||
],
|
||||
"internal_bridge_fan_speed": [
|
||||
"50"
|
||||
],
|
||||
"ironing_fan_speed": [
|
||||
"-1"
|
||||
],
|
||||
"long_retractions_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"260"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"260"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"300"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"230"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"90"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"50%"
|
||||
],
|
||||
"pellet_flow_coefficient": [
|
||||
"0.4157"
|
||||
],
|
||||
"pressure_advance": [
|
||||
"0.047"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_for_layer_cooling": [
|
||||
"1"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"14"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"15"
|
||||
],
|
||||
"supertack_plate_temp": [
|
||||
"45"
|
||||
],
|
||||
"supertack_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"support_material_interface_fan_speed": [
|
||||
"80"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"80"
|
||||
],
|
||||
"textured_cool_plate_temp": [
|
||||
"40"
|
||||
],
|
||||
"textured_cool_plate_temp_initial_layer": [
|
||||
"40"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"55"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"55"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"LH Stinger"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
""
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,352 @@
|
||||
{
|
||||
"name": "LHS PLA",
|
||||
"type": "filament",
|
||||
"filament_id": "LHF_pla",
|
||||
"setting_id": "LHF_S_pla",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"activate_chamber_temp_control": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance_bridges": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance_model": [
|
||||
"0,0,0\n0,0,0"
|
||||
],
|
||||
"adaptive_pressure_advance_overhangs": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"chamber_temperature": [
|
||||
"0"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"1"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"35"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"35"
|
||||
],
|
||||
"default_filament_colour": [
|
||||
""
|
||||
],
|
||||
"dont_slow_down_outer_wall": [
|
||||
"0"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"enable_overhang_bridge_fan": [
|
||||
"1"
|
||||
],
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"0"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"20"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"100"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"65"
|
||||
],
|
||||
"filament_adaptive_volumetric_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"0"
|
||||
],
|
||||
"filament_change_length": [
|
||||
"10"
|
||||
],
|
||||
"filament_cooling_final_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_cooling_initial_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_cooling_moves": [
|
||||
"0"
|
||||
],
|
||||
"filament_cost": [
|
||||
"20"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.24"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode\n"
|
||||
],
|
||||
"filament_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_flush_temp": [
|
||||
"0"
|
||||
],
|
||||
"filament_flush_volumetric_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_ironing_flow": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_inset": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_spacing": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_loading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_loading_speed_start": [
|
||||
"0"
|
||||
],
|
||||
"filament_long_retractions_when_cut": [
|
||||
"nil"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"45"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming_flow": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming_volume": [
|
||||
"0"
|
||||
],
|
||||
"filament_notes": [
|
||||
""
|
||||
],
|
||||
"filament_printable": [
|
||||
"3"
|
||||
],
|
||||
"filament_ramming_parameters": [
|
||||
"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_above": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_below": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_enforce": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_distances_when_cut": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_shrink": [
|
||||
"100%"
|
||||
],
|
||||
"filament_shrinkage_compensation_z": [
|
||||
"100%"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_stamping_distance": [
|
||||
"0"
|
||||
],
|
||||
"filament_stamping_loading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n; MPC_SET HEATER=extruder FILAMENT_DENSITY=1.24 FILAMENT_HEAT_CAPACITY=3.2\n; MAX_FAN LINK_AUX=0"
|
||||
],
|
||||
"filament_toolchange_delay": [
|
||||
"0"
|
||||
],
|
||||
"filament_tower_interface_pre_extrusion_dist": [
|
||||
"10"
|
||||
],
|
||||
"filament_tower_interface_pre_extrusion_length": [
|
||||
"0"
|
||||
],
|
||||
"filament_tower_interface_print_temp": [
|
||||
"-1"
|
||||
],
|
||||
"filament_tower_interface_purge_volume": [
|
||||
"20"
|
||||
],
|
||||
"filament_tower_ironing_area": [
|
||||
"4"
|
||||
],
|
||||
"filament_type": [
|
||||
"PLA"
|
||||
],
|
||||
"filament_unloading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_unloading_speed_start": [
|
||||
"0"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"60"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"60"
|
||||
],
|
||||
"idle_temperature": [
|
||||
"0"
|
||||
],
|
||||
"internal_bridge_fan_speed": [
|
||||
"-1"
|
||||
],
|
||||
"ironing_fan_speed": [
|
||||
"-1"
|
||||
],
|
||||
"long_retractions_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"235"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"230"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"280"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"190"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"100"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"25%"
|
||||
],
|
||||
"pellet_flow_coefficient": [
|
||||
"0.4157"
|
||||
],
|
||||
"pressure_advance": [
|
||||
"0.02"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_for_layer_cooling": [
|
||||
"1"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"8"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"15"
|
||||
],
|
||||
"supertack_plate_temp": [
|
||||
"45"
|
||||
],
|
||||
"supertack_plate_temp_initial_layer": [
|
||||
"45"
|
||||
],
|
||||
"support_material_interface_fan_speed": [
|
||||
"100"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"45"
|
||||
],
|
||||
"textured_cool_plate_temp": [
|
||||
"40"
|
||||
],
|
||||
"textured_cool_plate_temp_initial_layer": [
|
||||
"40"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"55"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"60"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"LH Stinger"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
""
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,352 @@
|
||||
{
|
||||
"name": "LHS TPU Foamy 78A",
|
||||
"type": "filament",
|
||||
"filament_id": "LHF_ftpuf",
|
||||
"setting_id": "LHF_S_ftpuf",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_tpu",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"activate_chamber_temp_control": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance_bridges": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance_model": [
|
||||
"0,0,0\n0,0,0"
|
||||
],
|
||||
"adaptive_pressure_advance_overhangs": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"55"
|
||||
],
|
||||
"chamber_temperature": [
|
||||
"0"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"1"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"30"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"30"
|
||||
],
|
||||
"default_filament_colour": [
|
||||
""
|
||||
],
|
||||
"dont_slow_down_outer_wall": [
|
||||
"0"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"enable_overhang_bridge_fan": [
|
||||
"1"
|
||||
],
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"30"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"30"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"30"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"60"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"60"
|
||||
],
|
||||
"filament_adaptive_volumetric_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"0"
|
||||
],
|
||||
"filament_change_length": [
|
||||
"10"
|
||||
],
|
||||
"filament_cooling_final_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_cooling_initial_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_cooling_moves": [
|
||||
"0"
|
||||
],
|
||||
"filament_cost": [
|
||||
"20"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.02"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"20"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode\n"
|
||||
],
|
||||
"filament_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.85"
|
||||
],
|
||||
"filament_flush_temp": [
|
||||
"0"
|
||||
],
|
||||
"filament_flush_volumetric_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_ironing_flow": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_inset": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_spacing": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_loading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_loading_speed_start": [
|
||||
"0"
|
||||
],
|
||||
"filament_long_retractions_when_cut": [
|
||||
"nil"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"4"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming_flow": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming_volume": [
|
||||
"0"
|
||||
],
|
||||
"filament_notes": [
|
||||
""
|
||||
],
|
||||
"filament_printable": [
|
||||
"3"
|
||||
],
|
||||
"filament_ramming_parameters": [
|
||||
"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_above": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_below": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_enforce": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_distances_when_cut": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"1.2"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"30"
|
||||
],
|
||||
"filament_shrink": [
|
||||
"100%"
|
||||
],
|
||||
"filament_shrinkage_compensation_z": [
|
||||
"100%"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_stamping_distance": [
|
||||
"0"
|
||||
],
|
||||
"filament_stamping_loading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n; MPC_SET HEATER=extruder FILAMENT_DENSITY=1.02 FILAMENT_HEAT_CAPACITY=2\n; MAX_FAN LINK_AUX=0 \nSET_PRESSURE_ADVANCE EXTRUDER=extruder SMOOTH_TIME=0.04"
|
||||
],
|
||||
"filament_toolchange_delay": [
|
||||
"0"
|
||||
],
|
||||
"filament_tower_interface_pre_extrusion_dist": [
|
||||
"10"
|
||||
],
|
||||
"filament_tower_interface_pre_extrusion_length": [
|
||||
"0"
|
||||
],
|
||||
"filament_tower_interface_print_temp": [
|
||||
"-1"
|
||||
],
|
||||
"filament_tower_interface_purge_volume": [
|
||||
"20"
|
||||
],
|
||||
"filament_tower_ironing_area": [
|
||||
"4"
|
||||
],
|
||||
"filament_type": [
|
||||
"TPU"
|
||||
],
|
||||
"filament_unloading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_unloading_speed_start": [
|
||||
"0"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"0"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"0"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"25"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"25"
|
||||
],
|
||||
"idle_temperature": [
|
||||
"0"
|
||||
],
|
||||
"internal_bridge_fan_speed": [
|
||||
"-1"
|
||||
],
|
||||
"ironing_fan_speed": [
|
||||
"-1"
|
||||
],
|
||||
"long_retractions_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"265"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"260"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"280"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"240"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"25%"
|
||||
],
|
||||
"pellet_flow_coefficient": [
|
||||
"0.4157"
|
||||
],
|
||||
"pressure_advance": [
|
||||
"0.06"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_for_layer_cooling": [
|
||||
"1"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"5"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"supertack_plate_temp": [
|
||||
"0"
|
||||
],
|
||||
"supertack_plate_temp_initial_layer": [
|
||||
"0"
|
||||
],
|
||||
"support_material_interface_fan_speed": [
|
||||
"100"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"30"
|
||||
],
|
||||
"textured_cool_plate_temp": [
|
||||
"40"
|
||||
],
|
||||
"textured_cool_plate_temp_initial_layer": [
|
||||
"40"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"35"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"35"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"LH Stinger"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
""
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,352 @@
|
||||
{
|
||||
"name": "LHS TPU",
|
||||
"type": "filament",
|
||||
"filament_id": "LHF_ptpu_pl",
|
||||
"setting_id": "LHF_S_ptpu_pl",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_tpu",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"activate_air_filtration": [
|
||||
"0"
|
||||
],
|
||||
"activate_chamber_temp_control": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance_bridges": [
|
||||
"0"
|
||||
],
|
||||
"adaptive_pressure_advance_model": [
|
||||
"0,0,0\n0,0,0"
|
||||
],
|
||||
"adaptive_pressure_advance_overhangs": [
|
||||
"0"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"55"
|
||||
],
|
||||
"chamber_temperature": [
|
||||
"0"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"1"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"30"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"30"
|
||||
],
|
||||
"default_filament_colour": [
|
||||
""
|
||||
],
|
||||
"dont_slow_down_outer_wall": [
|
||||
"0"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"enable_overhang_bridge_fan": [
|
||||
"1"
|
||||
],
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"30"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"30"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"20"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"100"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"60"
|
||||
],
|
||||
"filament_adaptive_volumetric_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_adhesiveness_category": [
|
||||
"0"
|
||||
],
|
||||
"filament_change_length": [
|
||||
"10"
|
||||
],
|
||||
"filament_cooling_final_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_cooling_initial_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_cooling_moves": [
|
||||
"0"
|
||||
],
|
||||
"filament_cost": [
|
||||
"20"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.22"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"20"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode\n"
|
||||
],
|
||||
"filament_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.965"
|
||||
],
|
||||
"filament_flush_temp": [
|
||||
"0"
|
||||
],
|
||||
"filament_flush_volumetric_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_ironing_flow": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_inset": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_spacing": [
|
||||
"nil"
|
||||
],
|
||||
"filament_ironing_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_is_support": [
|
||||
"0"
|
||||
],
|
||||
"filament_loading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_loading_speed_start": [
|
||||
"0"
|
||||
],
|
||||
"filament_long_retractions_when_cut": [
|
||||
"nil"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"20"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming_flow": [
|
||||
"0"
|
||||
],
|
||||
"filament_multitool_ramming_volume": [
|
||||
"0"
|
||||
],
|
||||
"filament_notes": [
|
||||
""
|
||||
],
|
||||
"filament_printable": [
|
||||
"3"
|
||||
],
|
||||
"filament_ramming_parameters": [
|
||||
"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_above": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_below": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_lift_enforce": [
|
||||
"Bottom Only"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_distances_when_cut": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"0.9"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"35"
|
||||
],
|
||||
"filament_shrink": [
|
||||
"100%"
|
||||
],
|
||||
"filament_shrinkage_compensation_z": [
|
||||
"100%"
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_stamping_distance": [
|
||||
"0"
|
||||
],
|
||||
"filament_stamping_loading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n; MPC_SET HEATER=extruder FILAMENT_DENSITY=1.22 FILAMENT_HEAT_CAPACITY=2\n; MAX_FAN LINK_AUX=0\nSET_PRESSURE_ADVANCE EXTRUDER=extruder SMOOTH_TIME=0.04"
|
||||
],
|
||||
"filament_toolchange_delay": [
|
||||
"0"
|
||||
],
|
||||
"filament_tower_interface_pre_extrusion_dist": [
|
||||
"10"
|
||||
],
|
||||
"filament_tower_interface_pre_extrusion_length": [
|
||||
"0"
|
||||
],
|
||||
"filament_tower_interface_print_temp": [
|
||||
"-1"
|
||||
],
|
||||
"filament_tower_interface_purge_volume": [
|
||||
"20"
|
||||
],
|
||||
"filament_tower_ironing_area": [
|
||||
"4"
|
||||
],
|
||||
"filament_type": [
|
||||
"TPU"
|
||||
],
|
||||
"filament_unloading_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_unloading_speed_start": [
|
||||
"0"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"0"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop_types": [
|
||||
"nil"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"30"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"30"
|
||||
],
|
||||
"idle_temperature": [
|
||||
"0"
|
||||
],
|
||||
"internal_bridge_fan_speed": [
|
||||
"-1"
|
||||
],
|
||||
"ironing_fan_speed": [
|
||||
"-1"
|
||||
],
|
||||
"long_retractions_when_ec": [
|
||||
"0"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"245"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"230"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"300"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"200"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"100"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"25%"
|
||||
],
|
||||
"pellet_flow_coefficient": [
|
||||
"0.4157"
|
||||
],
|
||||
"pressure_advance": [
|
||||
"0.08"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"required_nozzle_HRC": [
|
||||
"3"
|
||||
],
|
||||
"retraction_distances_when_ec": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_for_layer_cooling": [
|
||||
"1"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"12"
|
||||
],
|
||||
"supertack_plate_temp": [
|
||||
"0"
|
||||
],
|
||||
"supertack_plate_temp_initial_layer": [
|
||||
"0"
|
||||
],
|
||||
"support_material_interface_fan_speed": [
|
||||
"100"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"30"
|
||||
],
|
||||
"textured_cool_plate_temp": [
|
||||
"40"
|
||||
],
|
||||
"textured_cool_plate_temp_initial_layer": [
|
||||
"40"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"35"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"35"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"LH Stinger"
|
||||
],
|
||||
"volumetric_speed_coefficients": [
|
||||
""
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "fdm_filament_abs",
|
||||
"inherits": "fdm_filament_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"cool_plate_temp": [
|
||||
"105"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"105"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"105"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"105"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"105"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"105"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"105"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"105"
|
||||
],
|
||||
"slow_down_for_layer_cooling": [
|
||||
"1"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"30"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"28.6"
|
||||
],
|
||||
"filament_type": [
|
||||
"ABS"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.04"
|
||||
],
|
||||
"filament_cost": [
|
||||
"20"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"260"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"80"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"10"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"25%"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"80"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"260"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"110"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"240"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"270"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"3"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "fdm_filament_asa",
|
||||
"inherits": "fdm_filament_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"cool_plate_temp": [
|
||||
"105"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"105"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"105"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"105"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"105"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"105"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"105"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"105"
|
||||
],
|
||||
"slow_down_for_layer_cooling": [
|
||||
"1"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"35"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"28.6"
|
||||
],
|
||||
"filament_type": [
|
||||
"ASA"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.04"
|
||||
],
|
||||
"filament_cost": [
|
||||
"20"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"260"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"80"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"10"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"25%"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"80"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"260"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"110"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"240"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"270"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"3"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,141 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "fdm_filament_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"cool_plate_temp": [
|
||||
"60"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"60"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"60"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"60"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"60"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"60"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"60"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"60"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"95%"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"100"
|
||||
],
|
||||
"slow_down_for_layer_cooling": [
|
||||
"1"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"filament_end_gcode": [
|
||||
"; filament end gcode \n"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"1"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"0"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"60"
|
||||
],
|
||||
"filament_cost": [
|
||||
"0"
|
||||
],
|
||||
"filament_density": [
|
||||
"0"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_diameter": [
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
],
|
||||
"filament_retraction_minimum_travel": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_when_changing_layer": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"nil"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retract_restart_extra": [
|
||||
"nil"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"nil"
|
||||
],
|
||||
"filament_settings_id": [
|
||||
""
|
||||
],
|
||||
"filament_soluble": [
|
||||
"0"
|
||||
],
|
||||
"filament_type": [
|
||||
"PLA"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Generic"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"nil"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"nil"
|
||||
],
|
||||
"bed_type": [
|
||||
"Cool Plate"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"200"
|
||||
],
|
||||
"full_fan_speed_layer": [
|
||||
"0"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"100"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"35"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"8"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; Filament gcode\n"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"200"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"100"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "fdm_filament_pc",
|
||||
"inherits": "fdm_filament_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"cool_plate_temp": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"110"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"110"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"110"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"0"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"110"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"110"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"110"
|
||||
],
|
||||
"slow_down_for_layer_cooling": [
|
||||
"1"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"30"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"23.2"
|
||||
],
|
||||
"filament_type": [
|
||||
"PC"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.04"
|
||||
],
|
||||
"filament_cost": [
|
||||
"20"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"270"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"60"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"10"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"25%"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"60"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"280"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"140"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"260"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"280"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"2"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "fdm_filament_pet",
|
||||
"inherits": "fdm_filament_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"cool_plate_temp": [
|
||||
"60"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"80"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"80"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"60"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"0"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"80"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"80"
|
||||
],
|
||||
"slow_down_for_layer_cooling": [
|
||||
"1"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"3"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"20"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"25"
|
||||
],
|
||||
"filament_type": [
|
||||
"PETG"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.27"
|
||||
],
|
||||
"filament_cost": [
|
||||
"30"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"255"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"100"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"20"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"100"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"255"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"80"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"220"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"260"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "fdm_filament_pla",
|
||||
"inherits": "fdm_filament_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"fan_cooling_layer_time": [
|
||||
"100"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
],
|
||||
"filament_type": [
|
||||
"PLA"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.24"
|
||||
],
|
||||
"filament_cost": [
|
||||
"20"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"60"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"60"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"60"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"60"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"60"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"60"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"60"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"60"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"220"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"slow_down_for_layer_cooling": [
|
||||
"1"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"100"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"100"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"100"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"50%"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"1"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"220"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"60"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"190"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"230"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"10"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"4"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "fdm_filament_tpu",
|
||||
"inherits": "fdm_filament_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"cool_plate_temp": [
|
||||
"30"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"30"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"35"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"35"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"30"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"30"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"35"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"35"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"100"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"15"
|
||||
],
|
||||
"filament_type": [
|
||||
"TPU"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.24"
|
||||
],
|
||||
"filament_cost": [
|
||||
"20"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"0.4"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"240"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"slow_down_for_layer_cooling": [
|
||||
"1"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"100"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"100"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"100"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"70"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"1"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"240"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"60"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"200"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"250"
|
||||
],
|
||||
"filament_start_gcode": [
|
||||
"; filament start gcode\n"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"type": "machine",
|
||||
"name": "LH Stinger 0.4 nozzle",
|
||||
"inherits": "fdm_lh_common",
|
||||
"from": "system",
|
||||
"setting_id": "LHS_m01_04",
|
||||
"instantiation": "true",
|
||||
"printer_model": "LH Stinger",
|
||||
"nozzle_diameter": [
|
||||
"0.4"
|
||||
],
|
||||
"default_filament_profile": [
|
||||
"LHS PLA"
|
||||
],
|
||||
"printer_variant": "0.4"
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"type": "machine",
|
||||
"name": "LH Stinger MMU 0.4 nozzle",
|
||||
"inherits": "fdm_lh_mmu_common",
|
||||
"from": "system",
|
||||
"setting_id": "LHS_m01_mmu_04",
|
||||
"instantiation": "true",
|
||||
"printer_model": "LH Stinger MMU",
|
||||
"nozzle_diameter": [
|
||||
"0.4"
|
||||
],
|
||||
"default_filament_profile": [
|
||||
"LHS PLA"
|
||||
],
|
||||
"printer_variant": "0.4"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"type": "machine_model",
|
||||
"name": "LH Stinger MMU",
|
||||
"model_id": "LHS_M_mmu",
|
||||
"nozzle_diameter": "0.4",
|
||||
"machine_tech": "FFF",
|
||||
"family": "LH",
|
||||
"bed_model": "LH_Stinger_buildplate_model.STL",
|
||||
"bed_texture": "LH_Stinger_MMU_buildplate_texture.png",
|
||||
"hotend_model": "",
|
||||
"default_materials": "LHS PLA;LHS PETG;LHS PCTG;LHS ASA;LHS ABS;LHS PC CF;LHS TPU Foamy 78A;LHS TPU;"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"type": "machine_model",
|
||||
"name": "LH Stinger",
|
||||
"model_id": "LHS_M_base",
|
||||
"nozzle_diameter": "0.4",
|
||||
"machine_tech": "FFF",
|
||||
"family": "LH",
|
||||
"bed_model": "LH_Stinger_buildplate_model.STL",
|
||||
"bed_texture": "LH_Stinger_buildplate_texture.png",
|
||||
"hotend_model": "",
|
||||
"default_materials": "LHS PLA;LHS PETG;LHS PCTG;LHS ASA;LHS ABS;LHS PC CF;LHS TPU Foamy 78A;LHS TPU;"
|
||||
}
|
||||
@@ -0,0 +1,157 @@
|
||||
{
|
||||
"type": "machine",
|
||||
"name": "fdm_lh_common",
|
||||
"inherits": "fdm_machine_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"gcode_flavor": "klipper",
|
||||
"machine_max_acceleration_e": [
|
||||
"5000",
|
||||
"5000"
|
||||
],
|
||||
"machine_max_acceleration_extruding": [
|
||||
"200000",
|
||||
"20000"
|
||||
],
|
||||
"machine_max_acceleration_retracting": [
|
||||
"200000",
|
||||
"5000"
|
||||
],
|
||||
"machine_max_acceleration_travel": [
|
||||
"20000",
|
||||
"20000"
|
||||
],
|
||||
"machine_max_acceleration_x": [
|
||||
"200000",
|
||||
"20000"
|
||||
],
|
||||
"machine_max_acceleration_y": [
|
||||
"200000",
|
||||
"20000"
|
||||
],
|
||||
"machine_max_acceleration_z": [
|
||||
"2000",
|
||||
"200"
|
||||
],
|
||||
"machine_max_speed_e": [
|
||||
"200",
|
||||
"25"
|
||||
],
|
||||
"machine_max_speed_x": [
|
||||
"1000",
|
||||
"200"
|
||||
],
|
||||
"machine_max_speed_y": [
|
||||
"1000",
|
||||
"200"
|
||||
],
|
||||
"machine_max_speed_z": [
|
||||
"100",
|
||||
"12"
|
||||
],
|
||||
"machine_max_jerk_e": [
|
||||
"15",
|
||||
"2.5"
|
||||
],
|
||||
"machine_max_jerk_x": [
|
||||
"15",
|
||||
"9"
|
||||
],
|
||||
"machine_max_jerk_y": [
|
||||
"15",
|
||||
"9"
|
||||
],
|
||||
"machine_max_jerk_z": [
|
||||
"15",
|
||||
"0.4"
|
||||
],
|
||||
"machine_min_extruding_rate": [
|
||||
"0",
|
||||
"0"
|
||||
],
|
||||
"machine_min_travel_rate": [
|
||||
"0",
|
||||
"0"
|
||||
],
|
||||
"max_layer_height": [
|
||||
"0.32"
|
||||
],
|
||||
"min_layer_height": [
|
||||
"0.08"
|
||||
],
|
||||
"printable_area": [
|
||||
"18x38",
|
||||
"218x38",
|
||||
"218x238",
|
||||
"18x238"
|
||||
],
|
||||
"printable_height": "180",
|
||||
"extruder_clearance_radius": "65",
|
||||
"extruder_clearance_height_to_rod": "36",
|
||||
"extruder_clearance_height_to_lid": "140",
|
||||
"printer_settings_id": "",
|
||||
"printer_technology": "FFF",
|
||||
"printer_variant": "0.4",
|
||||
"retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"retract_before_wipe": [
|
||||
"70%"
|
||||
],
|
||||
"retract_when_changing_layer": [
|
||||
"1"
|
||||
],
|
||||
"retraction_length": [
|
||||
"0.3"
|
||||
],
|
||||
"retract_length_toolchange": [
|
||||
"0"
|
||||
],
|
||||
"z_hop": [
|
||||
"0.2"
|
||||
],
|
||||
"retract_restart_extra": [
|
||||
"0"
|
||||
],
|
||||
"retract_restart_extra_toolchange": [
|
||||
"0"
|
||||
],
|
||||
"retraction_speed": [
|
||||
"40"
|
||||
],
|
||||
"deretraction_speed": [
|
||||
"30"
|
||||
],
|
||||
"retract_lift_enforce": [
|
||||
"Top and Bottom"
|
||||
],
|
||||
"z_hop_types": [
|
||||
"Auto Lift"
|
||||
],
|
||||
"silent_mode": "0",
|
||||
"single_extruder_multi_material": "1",
|
||||
"change_filament_gcode": "",
|
||||
"manual_filament_change": "1",
|
||||
"wipe": [
|
||||
"1"
|
||||
],
|
||||
"default_filament_profile": [
|
||||
"LH Generic PLA"
|
||||
],
|
||||
"enable_filament_ramming": "0",
|
||||
"default_print_profile": "0.20mm Daily @LH Stinger",
|
||||
"bed_exclude_area": [
|
||||
"0x0"
|
||||
],
|
||||
"machine_start_gcode": "PRINT_START_LHS BED=[bed_temperature_initial_layer_single] HOTEND=[nozzle_temperature_initial_layer] AUTOMESH=1 AUTOPURGE=1 QUIETMODE={if print_preset =~ /.*Quiet.*/ }1{else}0{endif}\n",
|
||||
"machine_end_gcode": "PRINT_END",
|
||||
"layer_change_gcode": ";AFTER_LAYER_CHANGES\n;[layer_z]",
|
||||
"before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n",
|
||||
"machine_pause_gcode": "PAUSE",
|
||||
"scan_first_layer": "0",
|
||||
"nozzle_type": [
|
||||
"brass"
|
||||
],
|
||||
"bed_temperature_formula": "by_first_filament",
|
||||
"auxiliary_fan": "1"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"type": "machine",
|
||||
"name": "fdm_lh_mmu_common",
|
||||
"inherits": "fdm_lh_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"cooling_tube_length": "0",
|
||||
"cooling_tube_retraction": "0",
|
||||
"enable_filament_ramming": "0",
|
||||
"extra_loading_move": "0",
|
||||
"machine_start_gcode": " _SP_PRINT_START LANE=[initial_tool] TEMP=[nozzle_temperature_initial_layer]\n\nPRINT_START_LHS BED=[bed_temperature_initial_layer_single] HOTEND=[nozzle_temperature_initial_layer] AUTOMESH=1 AUTOPURGE=1 QUIETMODE={if print_preset =~ /.*Quiet.*/ }1{else}0{endif}\n\n",
|
||||
"change_filament_gcode": " _SP_SET_PURGE PURGE=[first_flush_volume] ",
|
||||
"layer_change_gcode": ";AFTER_LAYER_CHANGES\n;[layer_z]",
|
||||
"machine_end_gcode": "PRINT_END\n\n_SP_PRINT_END",
|
||||
"machine_tool_change_time": "20",
|
||||
"parking_pos_retraction": "0",
|
||||
"manual_filament_change": "0",
|
||||
"retract_length_toolchange": [
|
||||
"0"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
{
|
||||
"type": "machine",
|
||||
"name": "fdm_machine_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"printer_technology": "FFF",
|
||||
"deretraction_speed": [
|
||||
"40"
|
||||
],
|
||||
"extruder_colour": [
|
||||
"#FCE94F"
|
||||
],
|
||||
"extruder_offset": [
|
||||
"0x0"
|
||||
],
|
||||
"gcode_flavor": "marlin",
|
||||
"silent_mode": "0",
|
||||
"machine_max_acceleration_e": [
|
||||
"5000"
|
||||
],
|
||||
"machine_max_acceleration_extruding": [
|
||||
"10000"
|
||||
],
|
||||
"machine_max_acceleration_retracting": [
|
||||
"1000"
|
||||
],
|
||||
"machine_max_acceleration_x": [
|
||||
"10000"
|
||||
],
|
||||
"machine_max_acceleration_y": [
|
||||
"10000"
|
||||
],
|
||||
"machine_max_acceleration_z": [
|
||||
"500"
|
||||
],
|
||||
"machine_max_speed_e": [
|
||||
"60"
|
||||
],
|
||||
"machine_max_speed_x": [
|
||||
"500"
|
||||
],
|
||||
"machine_max_speed_y": [
|
||||
"500"
|
||||
],
|
||||
"machine_max_speed_z": [
|
||||
"10"
|
||||
],
|
||||
"machine_max_jerk_e": [
|
||||
"5"
|
||||
],
|
||||
"machine_max_jerk_x": [
|
||||
"8"
|
||||
],
|
||||
"machine_max_jerk_y": [
|
||||
"8"
|
||||
],
|
||||
"machine_max_jerk_z": [
|
||||
"0.4"
|
||||
],
|
||||
"machine_min_extruding_rate": [
|
||||
"0"
|
||||
],
|
||||
"machine_min_travel_rate": [
|
||||
"0"
|
||||
],
|
||||
"max_layer_height": [
|
||||
"0.32"
|
||||
],
|
||||
"min_layer_height": [
|
||||
"0.08"
|
||||
],
|
||||
"printable_height": "250",
|
||||
"extruder_clearance_radius": "65",
|
||||
"extruder_clearance_height_to_rod": "36",
|
||||
"extruder_clearance_height_to_lid": "140",
|
||||
"nozzle_diameter": [
|
||||
"0.4"
|
||||
],
|
||||
"printer_settings_id": "",
|
||||
"printer_variant": "0.4",
|
||||
"retraction_minimum_travel": [
|
||||
"2"
|
||||
],
|
||||
"retract_before_wipe": [
|
||||
"70%"
|
||||
],
|
||||
"retract_when_changing_layer": [
|
||||
"1"
|
||||
],
|
||||
"retraction_length": [
|
||||
"1"
|
||||
],
|
||||
"retract_length_toolchange": [
|
||||
"1"
|
||||
],
|
||||
"z_hop": [
|
||||
"0"
|
||||
],
|
||||
"retract_restart_extra": [
|
||||
"0"
|
||||
],
|
||||
"retract_restart_extra_toolchange": [
|
||||
"0"
|
||||
],
|
||||
"retraction_speed": [
|
||||
"60"
|
||||
],
|
||||
"single_extruder_multi_material": "1",
|
||||
"change_filament_gcode": "",
|
||||
"wipe": [
|
||||
"1"
|
||||
],
|
||||
"default_print_profile": "",
|
||||
"machine_start_gcode": "G0 Z20 F9000\nG92 E0; G1 E-10 F1200\nG28\nM970 Q1 A10 B10 C130 K0\nM970 Q1 A10 B131 C250 K1\nM974 Q1 S1 P0\nM970 Q0 A10 B10 C130 H20 K0\nM970 Q0 A10 B131 C250 K1\nM974 Q0 S1 P0\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nG29 ;Home\nG90;\nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S205;\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder \nG1 X110 Y110 Z2.0 F3000 ;Move Z Axis up",
|
||||
"machine_end_gcode": "M400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-4.0 F3600; retract \nG91\nG1 Z3;\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nG90 \nG0 X110 Y200 F3600 \nprint_end",
|
||||
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]",
|
||||
"before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n",
|
||||
"machine_pause_gcode": "M601"
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.10mm HueForge @LH Stinger",
|
||||
"inherits": "fdm_process_lh_common",
|
||||
"from": "system",
|
||||
"setting_id": "LHS_P_hueforge",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"bottom_shell_layers": "999",
|
||||
"bottom_solid_infill_flow_ratio": "0.98",
|
||||
"detect_narrow_internal_solid_infill": "0",
|
||||
"ensure_vertical_shell_thickness": "none",
|
||||
"initial_layer_acceleration": "1000",
|
||||
"initial_layer_infill_speed": "150",
|
||||
"initial_layer_print_height": "0.16",
|
||||
"initial_layer_speed": "80",
|
||||
"layer_height": "0.1",
|
||||
"max_travel_detour_distance": "60",
|
||||
"print_extruder_id": [
|
||||
"1"
|
||||
],
|
||||
"print_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"reduce_crossing_wall": "1",
|
||||
"skirt_loops": "1",
|
||||
"slice_closing_radius": "0.042",
|
||||
"sparse_infill_density": "0%",
|
||||
"top_bottom_infill_wall_overlap": "15%",
|
||||
"top_shell_layers": "0",
|
||||
"top_solid_infill_flow_ratio": "0.98",
|
||||
"brim_type": "no_brim",
|
||||
"wall_generator": "arachne",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
"reduce_infill_retraction": "1",
|
||||
"gap_fill_target": "nowhere",
|
||||
"filter_out_gap_fill": "0.5",
|
||||
"wall_loops": "1"
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.14mm Detail @LH Stinger",
|
||||
"inherits": "fdm_process_lh_common",
|
||||
"from": "system",
|
||||
"setting_id": "LHS_P_detail",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"bottom_shell_layers": "5",
|
||||
"bridge_flow": "1.2",
|
||||
"default_jerk": "10",
|
||||
"enable_support": "1",
|
||||
"ensure_vertical_shell_thickness": "ensure_moderate",
|
||||
"filter_out_gap_fill": "10",
|
||||
"infill_jerk": "10",
|
||||
"infill_wall_overlap": "10%",
|
||||
"initial_layer_infill_speed": "90",
|
||||
"initial_layer_jerk": "10",
|
||||
"initial_layer_travel_speed": "250",
|
||||
"inner_wall_jerk": "10",
|
||||
"internal_bridge_flow": "1.2",
|
||||
"layer_height": "0.14",
|
||||
"max_travel_detour_distance": "50",
|
||||
"outer_wall_jerk": "10",
|
||||
"print_extruder_id": [
|
||||
"1"
|
||||
],
|
||||
"print_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"reduce_crossing_wall": "1",
|
||||
"skirt_loops": "2",
|
||||
"slow_down_layers": "2",
|
||||
"small_perimeter_speed": "75%",
|
||||
"small_perimeter_threshold": "3",
|
||||
"sparse_infill_pattern": "rectilinear",
|
||||
"sparse_infill_density": "15%",
|
||||
"support_angle": "45",
|
||||
"support_base_pattern": "rectilinear",
|
||||
"support_base_pattern_spacing": "1.5",
|
||||
"support_bottom_z_distance": "0.15",
|
||||
"support_style": "organic",
|
||||
"support_type": "tree(auto)",
|
||||
"top_shell_layers": "6",
|
||||
"top_surface_jerk": "10",
|
||||
"wall_generator": "arachne",
|
||||
"min_length_factor": "0.5",
|
||||
"gap_fill_target": "nowhere",
|
||||
"wall_loops": "3",
|
||||
"travel_jerk": "10"
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.14mm Detail Strength @LH Stinger",
|
||||
"inherits": "fdm_process_lh_common",
|
||||
"from": "system",
|
||||
"setting_id": "LHS_P_detail_strength",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"bottom_shell_layers": "6",
|
||||
"bottom_shell_thickness": "0.8",
|
||||
"bridge_acceleration": "7500",
|
||||
"bridge_flow": "1.2",
|
||||
"brim_width": "3",
|
||||
"default_acceleration": "15000",
|
||||
"default_jerk": "10",
|
||||
"gap_infill_speed": "200",
|
||||
"infill_anchor": "1000",
|
||||
"infill_anchor_max": "1000",
|
||||
"infill_jerk": "10",
|
||||
"initial_layer_infill_speed": "90",
|
||||
"initial_layer_jerk": "10",
|
||||
"initial_layer_travel_speed": "250",
|
||||
"inner_wall_acceleration": "10000",
|
||||
"inner_wall_speed": "200",
|
||||
"inner_wall_jerk": "10",
|
||||
"internal_solid_infill_acceleration": "15000",
|
||||
"internal_solid_infill_speed": "200",
|
||||
"layer_height": "0.14",
|
||||
"max_travel_detour_distance": "50",
|
||||
"outer_wall_acceleration": "7500",
|
||||
"outer_wall_jerk": "10",
|
||||
"outer_wall_speed": "200",
|
||||
"print_extruder_id": [
|
||||
"1"
|
||||
],
|
||||
"print_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"reduce_crossing_wall": "1",
|
||||
"skirt_loops": "2",
|
||||
"slow_down_layers": "2",
|
||||
"small_perimeter_speed": "75%",
|
||||
"small_perimeter_threshold": "3",
|
||||
"sparse_infill_acceleration": "15000",
|
||||
"sparse_infill_speed": "200",
|
||||
"sparse_infill_density": "40%",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"support_base_pattern_spacing": "1.5",
|
||||
"support_bottom_interface_spacing": "0.3",
|
||||
"support_bottom_z_distance": "0.15",
|
||||
"support_interface_speed": "300",
|
||||
"support_speed": "200",
|
||||
"support_type": "normal(manual)",
|
||||
"top_shell_layers": "7",
|
||||
"top_shell_thickness": "1",
|
||||
"top_surface_acceleration": "7500",
|
||||
"top_surface_jerk": "10",
|
||||
"top_surface_speed": "200",
|
||||
"travel_jerk": "10",
|
||||
"wall_generator": "arachne",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
"top_bottom_infill_wall_overlap": "25%",
|
||||
"wall_loops": "4"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.20mm Daily @LH Stinger",
|
||||
"inherits": "fdm_process_lh_common",
|
||||
"from": "system",
|
||||
"setting_id": "LHS_P_daily",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.20mm MMU @LH Stinger",
|
||||
"inherits": "fdm_process_lh_common",
|
||||
"from": "system",
|
||||
"setting_id": "LHS_P_mmu",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"bottom_surface_pattern": "monotonicline",
|
||||
"bridge_acceleration": "7000",
|
||||
"default_jerk": "10",
|
||||
"detect_narrow_internal_solid_infill": "0",
|
||||
"filter_out_gap_fill": "1",
|
||||
"gap_infill_speed": "220",
|
||||
"infill_jerk": "10",
|
||||
"infill_wall_overlap": "8%",
|
||||
"initial_layer_infill_speed": "120",
|
||||
"initial_layer_jerk": "10",
|
||||
"initial_layer_line_width": "0.4",
|
||||
"inner_wall_acceleration": "15000",
|
||||
"inner_wall_jerk": "10",
|
||||
"inner_wall_speed": "220",
|
||||
"internal_solid_infill_acceleration": "15000",
|
||||
"internal_solid_infill_speed": "220",
|
||||
"only_one_wall_first_layer": "1",
|
||||
"outer_wall_jerk": "10",
|
||||
"outer_wall_speed": "220",
|
||||
"prime_tower_width": "80",
|
||||
"print_extruder_id": [
|
||||
"1"
|
||||
],
|
||||
"print_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"raft_first_layer_density": "50%",
|
||||
"small_perimeter_threshold": "2",
|
||||
"sparse_infill_acceleration": "15000",
|
||||
"sparse_infill_pattern": "rectilinear",
|
||||
"sparse_infill_speed": "220",
|
||||
"top_bottom_infill_wall_overlap": "8%",
|
||||
"top_surface_jerk": "10",
|
||||
"top_surface_speed": "150",
|
||||
"wall_generator": "arachne",
|
||||
"sparse_infill_density": "15%",
|
||||
"travel_jerk": "10"
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.20mm PETG @LH Stinger",
|
||||
"inherits": "fdm_process_lh_common",
|
||||
"from": "system",
|
||||
"setting_id": "LHS_P_petg",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"accel_to_decel_factor": "90%",
|
||||
"bottom_shell_layers": "5",
|
||||
"bridge_acceleration": "3000",
|
||||
"bridge_density": "95%",
|
||||
"bridge_flow": "1.1",
|
||||
"bridge_speed": "30",
|
||||
"brim_ears_max_angle": "180",
|
||||
"brim_object_gap": "0.04",
|
||||
"default_acceleration": "15000",
|
||||
"default_jerk": "10",
|
||||
"filter_out_gap_fill": "1",
|
||||
"gap_infill_speed": "200",
|
||||
"infill_jerk": "10",
|
||||
"infill_wall_overlap": "10%",
|
||||
"initial_layer_infill_speed": "100",
|
||||
"initial_layer_jerk": "10",
|
||||
"initial_layer_print_height": "0.25",
|
||||
"initial_layer_travel_speed": "250",
|
||||
"inner_wall_acceleration": "15000",
|
||||
"inner_wall_speed": "200",
|
||||
"inner_wall_jerk": "10",
|
||||
"inner_wall_line_width": "0.44",
|
||||
"internal_bridge_speed": "50",
|
||||
"internal_solid_infill_acceleration": "15000",
|
||||
"internal_solid_infill_speed": "200",
|
||||
"internal_solid_infill_line_width": "0.44",
|
||||
"line_width": "0.44",
|
||||
"max_travel_detour_distance": "50",
|
||||
"outer_wall_jerk": "10",
|
||||
"outer_wall_line_width": "0.44",
|
||||
"outer_wall_speed": "200",
|
||||
"overhang_1_4_speed": "60%",
|
||||
"overhang_2_4_speed": "40",
|
||||
"overhang_3_4_speed": "20",
|
||||
"overhang_reverse_internal_only": "1",
|
||||
"overhang_reverse_threshold": "0%",
|
||||
"print_extruder_id": [
|
||||
"1"
|
||||
],
|
||||
"print_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"raft_first_layer_density": "60%",
|
||||
"reduce_crossing_wall": "1",
|
||||
"skirt_loops": "2",
|
||||
"slow_down_layers": "2",
|
||||
"small_perimeter_threshold": "10",
|
||||
"sparse_infill_acceleration": "15000",
|
||||
"sparse_infill_speed": "200",
|
||||
"sparse_infill_line_width": "0.44",
|
||||
"support_interface_speed": "200",
|
||||
"support_line_width": "0.42",
|
||||
"support_speed": "200",
|
||||
"top_bottom_infill_wall_overlap": "18%",
|
||||
"top_shell_layers": "6",
|
||||
"top_surface_acceleration": "5000",
|
||||
"top_surface_jerk": "10",
|
||||
"top_surface_speed": "130",
|
||||
"travel_jerk": "10",
|
||||
"wall_loops": "3",
|
||||
"gap_fill_target": "nowhere",
|
||||
"wipe_tower_max_purge_speed": "150"
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.20mm Quiet @LH Stinger",
|
||||
"inherits": "fdm_process_lh_common",
|
||||
"from": "system",
|
||||
"setting_id": "LHS_P_quiet",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"accel_to_decel_factor": "75%",
|
||||
"bridge_acceleration": "5000",
|
||||
"bridge_speed": "40",
|
||||
"default_acceleration": "10000",
|
||||
"default_jerk": "5",
|
||||
"filter_out_gap_fill": "10",
|
||||
"gap_infill_speed": "200",
|
||||
"infill_jerk": "5",
|
||||
"infill_wall_overlap": "10%",
|
||||
"initial_layer_infill_speed": "100",
|
||||
"initial_layer_jerk": "5",
|
||||
"initial_layer_travel_speed": "180",
|
||||
"inner_wall_acceleration": "10000",
|
||||
"inner_wall_jerk": "5",
|
||||
"internal_bridge_speed": "60",
|
||||
"internal_solid_infill_acceleration": "10000",
|
||||
"outer_wall_acceleration": "5000",
|
||||
"outer_wall_jerk": "5",
|
||||
"outer_wall_speed": "200",
|
||||
"print_extruder_id": [
|
||||
"1"
|
||||
],
|
||||
"print_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"raft_first_layer_density": "60%",
|
||||
"sparse_infill_acceleration": "10000",
|
||||
"sparse_infill_pattern": "rectilinear",
|
||||
"support_interface_speed": "170",
|
||||
"support_speed": "170",
|
||||
"top_surface_jerk": "5",
|
||||
"top_surface_speed": "200",
|
||||
"inner_wall_speed": "200",
|
||||
"sparse_infill_speed": "200",
|
||||
"internal_solid_infill_speed": "200",
|
||||
"travel_acceleration": "10000",
|
||||
"travel_jerk": "5",
|
||||
"sparse_infill_density": "15%",
|
||||
"accel_to_decel_enable": "1",
|
||||
"gap_fill_target": "nowhere",
|
||||
"travel_speed": "200"
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.20mm Solid @LH Stinger",
|
||||
"inherits": "fdm_process_lh_common",
|
||||
"from": "system",
|
||||
"setting_id": "LHS_P_solid",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"accel_to_decel_factor": "90%",
|
||||
"bottom_shell_layers": "2",
|
||||
"bridge_acceleration": "5000",
|
||||
"bridge_density": "97%",
|
||||
"brim_object_gap": "0.04",
|
||||
"default_acceleration": "15000",
|
||||
"default_jerk": "10",
|
||||
"detect_narrow_internal_solid_infill": "0",
|
||||
"enable_support": "1",
|
||||
"ensure_vertical_shell_thickness": "none",
|
||||
"filter_out_gap_fill": "2",
|
||||
"gap_infill_speed": "200",
|
||||
"infill_jerk": "10",
|
||||
"infill_wall_overlap": "18%",
|
||||
"initial_layer_jerk": "10",
|
||||
"initial_layer_line_width": "0.45",
|
||||
"initial_layer_print_height": "0.25",
|
||||
"inner_wall_acceleration": "15000",
|
||||
"inner_wall_jerk": "10",
|
||||
"internal_solid_infill_acceleration": "15000",
|
||||
"outer_wall_jerk": "10",
|
||||
"outer_wall_speed": "200",
|
||||
"overhang_1_4_speed": "60%",
|
||||
"overhang_2_4_speed": "40",
|
||||
"overhang_3_4_speed": "20",
|
||||
"print_extruder_id": [
|
||||
"1"
|
||||
],
|
||||
"print_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"raft_first_layer_density": "60%",
|
||||
"small_perimeter_threshold": "7",
|
||||
"sparse_infill_acceleration": "15000",
|
||||
"sparse_infill_density": "98%",
|
||||
"sparse_infill_pattern": "rectilinear",
|
||||
"support_interface_speed": "200",
|
||||
"support_speed": "200",
|
||||
"top_shell_layers": "2",
|
||||
"top_shell_thickness": "0.6",
|
||||
"top_solid_infill_flow_ratio": "0.96",
|
||||
"top_surface_acceleration": "5000",
|
||||
"top_surface_jerk": "10",
|
||||
"top_surface_speed": "150",
|
||||
"inner_wall_speed": "200",
|
||||
"sparse_infill_speed": "200",
|
||||
"internal_solid_infill_speed": "200",
|
||||
"internal_bridge_density": "95%",
|
||||
"internal_bridge_speed": "150",
|
||||
"gap_fill_target": "nowhere",
|
||||
"wall_loops": "3",
|
||||
"travel_jerk": "10"
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.20mm Speed @LH Stinger",
|
||||
"inherits": "fdm_process_lh_common",
|
||||
"from": "system",
|
||||
"setting_id": "LHS_P_speed",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"bridge_acceleration": "15000",
|
||||
"default_acceleration": "30000",
|
||||
"filter_out_gap_fill": "10",
|
||||
"infill_wall_overlap": "10%",
|
||||
"initial_layer_speed": "90",
|
||||
"inner_wall_acceleration": "30000",
|
||||
"inner_wall_speed": "600",
|
||||
"internal_solid_infill_acceleration": "30000",
|
||||
"internal_solid_infill_speed": "600",
|
||||
"outer_wall_acceleration": "15000",
|
||||
"outer_wall_speed": "600",
|
||||
"print_extruder_id": [
|
||||
"1"
|
||||
],
|
||||
"print_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"raft_first_layer_density": "80%",
|
||||
"sparse_infill_acceleration": "30000",
|
||||
"sparse_infill_pattern": "rectilinear",
|
||||
"sparse_infill_speed": "600",
|
||||
"support_bottom_z_distance": "0.15",
|
||||
"support_expansion": "2",
|
||||
"support_interface_top_layers": "3",
|
||||
"support_object_xy_distance": "0.25",
|
||||
"top_surface_acceleration": "15000",
|
||||
"top_surface_speed": "300",
|
||||
"travel_acceleration": "30000",
|
||||
"sparse_infill_density": "15%",
|
||||
"gap_fill_target": "nowhere",
|
||||
"travel_speed": "600"
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.20mm Strength @LH Stinger",
|
||||
"inherits": "fdm_process_lh_common",
|
||||
"from": "system",
|
||||
"setting_id": "LHS_P_strength",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"accel_to_decel_factor": "90%",
|
||||
"bottom_shell_layers": "5",
|
||||
"bridge_acceleration": "5000",
|
||||
"bridge_flow": "1.4",
|
||||
"brim_object_gap": "0.04",
|
||||
"default_acceleration": "15000",
|
||||
"default_jerk": "10",
|
||||
"filter_out_gap_fill": "1",
|
||||
"gap_infill_speed": "200",
|
||||
"infill_anchor": "1000",
|
||||
"infill_anchor_max": "1000",
|
||||
"infill_jerk": "10",
|
||||
"initial_layer_infill_speed": "120",
|
||||
"initial_layer_jerk": "10",
|
||||
"initial_layer_speed": "90",
|
||||
"initial_layer_travel_speed": "250",
|
||||
"inner_wall_acceleration": "15000",
|
||||
"inner_wall_jerk": "10",
|
||||
"inner_wall_line_width": "0.46",
|
||||
"internal_solid_infill_acceleration": "15000",
|
||||
"internal_solid_infill_line_width": "0.46",
|
||||
"line_width": "0.46",
|
||||
"outer_wall_jerk": "10",
|
||||
"outer_wall_line_width": "0.46",
|
||||
"outer_wall_speed": "200",
|
||||
"overhang_1_4_speed": "60%",
|
||||
"overhang_2_4_speed": "40",
|
||||
"overhang_3_4_speed": "20",
|
||||
"precise_outer_wall": "0",
|
||||
"print_extruder_id": [
|
||||
"1"
|
||||
],
|
||||
"print_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"sparse_infill_acceleration": "15000",
|
||||
"sparse_infill_density": "40%",
|
||||
"sparse_infill_line_width": "0.46",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"support_bottom_z_distance": "0.15",
|
||||
"support_interface_speed": "200",
|
||||
"support_line_width": "0.42",
|
||||
"support_speed": "200",
|
||||
"top_shell_layers": "6",
|
||||
"top_shell_thickness": "1",
|
||||
"top_surface_acceleration": "5000",
|
||||
"top_surface_jerk": "10",
|
||||
"top_surface_speed": "200",
|
||||
"inner_wall_speed": "200",
|
||||
"sparse_infill_speed": "200",
|
||||
"internal_solid_infill_speed": "200",
|
||||
"travel_jerk": "10",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
"wall_loops": "4"
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.20mm TPU @LH Stinger",
|
||||
"inherits": "fdm_process_lh_common",
|
||||
"from": "system",
|
||||
"setting_id": "LHS_P_tpu",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"accel_to_decel_factor": "90%",
|
||||
"bridge_acceleration": "5000",
|
||||
"bridge_density": "95%",
|
||||
"bridge_flow": "1.4",
|
||||
"bridge_speed": "40",
|
||||
"brim_ears_max_angle": "180",
|
||||
"brim_object_gap": "0.02",
|
||||
"default_acceleration": "15000",
|
||||
"default_jerk": "5",
|
||||
"elefant_foot_compensation": "0.15",
|
||||
"filter_out_gap_fill": "40",
|
||||
"gap_infill_speed": "200",
|
||||
"infill_jerk": "5",
|
||||
"initial_layer_infill_speed": "70",
|
||||
"initial_layer_jerk": "5",
|
||||
"initial_layer_print_height": "0.25",
|
||||
"initial_layer_speed": "40",
|
||||
"initial_layer_travel_speed": "200",
|
||||
"inner_wall_acceleration": "15000",
|
||||
"inner_wall_jerk": "5",
|
||||
"inner_wall_line_width": "0.46",
|
||||
"internal_bridge_flow": "1.2",
|
||||
"internal_bridge_speed": "50",
|
||||
"internal_solid_infill_acceleration": "15000",
|
||||
"internal_solid_infill_line_width": "0.46",
|
||||
"internal_solid_infill_speed": "180",
|
||||
"line_width": "0.46",
|
||||
"max_travel_detour_distance": "50",
|
||||
"outer_wall_jerk": "5",
|
||||
"outer_wall_line_width": "0.46",
|
||||
"outer_wall_speed": "150",
|
||||
"overhang_1_4_speed": "60%",
|
||||
"overhang_2_4_speed": "40",
|
||||
"overhang_3_4_speed": "20",
|
||||
"print_extruder_id": [
|
||||
"1"
|
||||
],
|
||||
"print_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"raft_first_layer_density": "80%",
|
||||
"reduce_crossing_wall": "1",
|
||||
"skirt_loops": "2",
|
||||
"slow_down_layers": "2",
|
||||
"small_perimeter_speed": "60%",
|
||||
"small_perimeter_threshold": "10",
|
||||
"sparse_infill_acceleration": "15000",
|
||||
"sparse_infill_line_width": "0.46",
|
||||
"sparse_infill_speed": "150",
|
||||
"sparse_infill_density": "15%",
|
||||
"staggered_inner_seams": "1",
|
||||
"support_expansion": "2",
|
||||
"support_interface_speed": "200",
|
||||
"support_line_width": "0.42",
|
||||
"support_speed": "200",
|
||||
"top_bottom_infill_wall_overlap": "18%",
|
||||
"top_surface_acceleration": "5000",
|
||||
"top_surface_jerk": "5",
|
||||
"top_surface_line_width": "0.42",
|
||||
"top_surface_speed": "150",
|
||||
"travel_jerk": "10",
|
||||
"wipe_speed": "80",
|
||||
"inner_wall_speed": "200",
|
||||
"ensure_vertical_shell_thickness": "ensure_moderate",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
"wall_loops": "3",
|
||||
"gap_fill_target": "nowhere",
|
||||
"reduce_infill_retraction": "1",
|
||||
"infill_wall_overlap": "22%",
|
||||
"wipe_tower_max_purge_speed": "80"
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.25mm Vase Mode @LH Stinger",
|
||||
"inherits": "fdm_process_lh_common",
|
||||
"from": "system",
|
||||
"setting_id": "LHS_P_vase_mode",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"LH Stinger 0.4 nozzle",
|
||||
"LH Stinger MMU 0.4 nozzle"
|
||||
],
|
||||
"accel_to_decel_factor": "90%",
|
||||
"bottom_shell_layers": "5",
|
||||
"bridge_acceleration": "5000",
|
||||
"bridge_flow": "1.4",
|
||||
"brim_object_gap": "0.04",
|
||||
"default_acceleration": "15000",
|
||||
"default_jerk": "10",
|
||||
"filter_out_gap_fill": "1",
|
||||
"gap_infill_speed": "200",
|
||||
"infill_jerk": "10",
|
||||
"infill_wall_overlap": "10%",
|
||||
"initial_layer_jerk": "10",
|
||||
"initial_layer_line_width": "0.65",
|
||||
"initial_layer_print_height": "0.25",
|
||||
"initial_layer_speed": "80",
|
||||
"initial_layer_travel_speed": "250",
|
||||
"inner_wall_acceleration": "15000",
|
||||
"inner_wall_jerk": "10",
|
||||
"inner_wall_line_width": "0.46",
|
||||
"internal_solid_infill_acceleration": "15000",
|
||||
"internal_solid_infill_line_width": "0.46",
|
||||
"layer_height": "0.25",
|
||||
"line_width": "0.46",
|
||||
"notes": "Decrease your Filament - Minimum layer time to ~2 seconds and set your fan speeds to be constant",
|
||||
"outer_wall_jerk": "10",
|
||||
"outer_wall_line_width": "0.65",
|
||||
"outer_wall_speed": "200",
|
||||
"overhang_1_4_speed": "60%",
|
||||
"overhang_2_4_speed": "40",
|
||||
"overhang_3_4_speed": "20",
|
||||
"print_extruder_id": [
|
||||
"1"
|
||||
],
|
||||
"print_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"sparse_infill_acceleration": "15000",
|
||||
"sparse_infill_density": "0%",
|
||||
"sparse_infill_line_width": "0.46",
|
||||
"sparse_infill_pattern": "3dhoneycomb",
|
||||
"spiral_mode": "1",
|
||||
"spiral_mode_smooth": "1",
|
||||
"support_interface_speed": "200",
|
||||
"support_line_width": "0.42",
|
||||
"support_speed": "200",
|
||||
"top_bottom_infill_wall_overlap": "10%",
|
||||
"top_shell_layers": "0",
|
||||
"top_shell_thickness": "1",
|
||||
"top_surface_acceleration": "5000",
|
||||
"top_surface_jerk": "10",
|
||||
"top_surface_speed": "200",
|
||||
"inner_wall_speed": "200",
|
||||
"sparse_infill_speed": "200",
|
||||
"internal_solid_infill_speed": "200",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
"travel_jerk": "10",
|
||||
"skirt_loops": "1",
|
||||
"wall_loops": "1"
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "fdm_process_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"adaptive_layer_height": "0",
|
||||
"reduce_crossing_wall": "0",
|
||||
"max_travel_detour_distance": "0",
|
||||
"bottom_surface_pattern": "monotonic",
|
||||
"bottom_shell_thickness": "0",
|
||||
"bridge_speed": "50",
|
||||
"brim_width": "5",
|
||||
"brim_object_gap": "0.1",
|
||||
"compatible_printers": [],
|
||||
"compatible_printers_condition": "",
|
||||
"print_sequence": "by layer",
|
||||
"default_acceleration": "1000",
|
||||
"initial_layer_acceleration": "500",
|
||||
"top_surface_acceleration": "1000",
|
||||
"travel_acceleration": "1000",
|
||||
"inner_wall_acceleration": "1000",
|
||||
"outer_wall_acceleration": "700",
|
||||
"bridge_no_support": "0",
|
||||
"draft_shield": "disabled",
|
||||
"elefant_foot_compensation": "0",
|
||||
"enable_arc_fitting": "0",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"infill_direction": "45",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"initial_layer_print_height": "0.2",
|
||||
"infill_combination": "0",
|
||||
"infill_wall_overlap": "25%",
|
||||
"interface_shells": "0",
|
||||
"ironing_flow": "10%",
|
||||
"ironing_spacing": "0.15",
|
||||
"ironing_speed": "30",
|
||||
"ironing_type": "no ironing",
|
||||
"reduce_infill_retraction": "1",
|
||||
"filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[initial_tool]}_{printer_model}_{print_time}.gcode",
|
||||
"detect_overhang_wall": "1",
|
||||
"slowdown_for_curled_perimeters": "1",
|
||||
"overhang_1_4_speed": "0",
|
||||
"overhang_2_4_speed": "50",
|
||||
"overhang_3_4_speed": "30",
|
||||
"overhang_4_4_speed": "10",
|
||||
"line_width": "110%",
|
||||
"inner_wall_line_width": "110%",
|
||||
"outer_wall_line_width": "100%",
|
||||
"top_surface_line_width": "93.75%",
|
||||
"sparse_infill_line_width": "110%",
|
||||
"initial_layer_line_width": "120%",
|
||||
"internal_solid_infill_line_width": "120%",
|
||||
"support_line_width": "96%",
|
||||
"wall_loops": "3",
|
||||
"print_settings_id": "",
|
||||
"raft_layers": "0",
|
||||
"seam_position": "aligned",
|
||||
"skirt_distance": "2",
|
||||
"skirt_height": "3",
|
||||
"min_skirt_length": "4",
|
||||
"skirt_loops": "0",
|
||||
"minimum_sparse_infill_area": "15",
|
||||
"spiral_mode": "0",
|
||||
"standby_temperature_delta": "-5",
|
||||
"enable_support": "0",
|
||||
"resolution": "0.012",
|
||||
"support_type": "normal(auto)",
|
||||
"support_on_build_plate_only": "0",
|
||||
"support_top_z_distance": "0.2",
|
||||
"support_bottom_z_distance": "0.2",
|
||||
"support_filament": "0",
|
||||
"support_interface_loop_pattern": "0",
|
||||
"support_interface_filament": "0",
|
||||
"support_interface_top_layers": "2",
|
||||
"support_interface_bottom_layers": "2",
|
||||
"support_interface_spacing": "0.5",
|
||||
"support_interface_speed": "80",
|
||||
"support_base_pattern": "default",
|
||||
"support_base_pattern_spacing": "2.5",
|
||||
"support_speed": "150",
|
||||
"support_threshold_angle": "30",
|
||||
"support_object_xy_distance": "0.35",
|
||||
"tree_support_branch_angle": "30",
|
||||
"tree_support_wall_count": "0",
|
||||
"tree_support_with_infill": "0",
|
||||
"detect_thin_wall": "0",
|
||||
"top_surface_pattern": "monotonicline",
|
||||
"top_shell_thickness": "0.8",
|
||||
"enable_prime_tower": "0",
|
||||
"wipe_tower_no_sparse_layers": "0",
|
||||
"prime_tower_width": "60",
|
||||
"xy_hole_compensation": "0",
|
||||
"xy_contour_compensation": "0",
|
||||
"layer_height": "0.2",
|
||||
"bottom_shell_layers": "3",
|
||||
"top_shell_layers": "4",
|
||||
"bridge_flow": "1",
|
||||
"initial_layer_speed": "45",
|
||||
"initial_layer_infill_speed": "45",
|
||||
"outer_wall_speed": "45",
|
||||
"inner_wall_speed": "80",
|
||||
"sparse_infill_speed": "150",
|
||||
"internal_solid_infill_speed": "150",
|
||||
"top_surface_speed": "50",
|
||||
"gap_infill_speed": "30",
|
||||
"travel_speed": "200"
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "fdm_process_lh_common",
|
||||
"inherits": "fdm_process_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"exclude_object": "1",
|
||||
"accel_to_decel_enable": "0",
|
||||
"bottom_shell_layers": "4",
|
||||
"bridge_acceleration": "10000",
|
||||
"bridge_density": "100%",
|
||||
"brim_object_gap": "0.05",
|
||||
"brim_width": "4",
|
||||
"default_acceleration": "20000",
|
||||
"dont_filter_internal_bridges": "limited",
|
||||
"elefant_foot_compensation": "0.05",
|
||||
"ensure_vertical_shell_thickness": "ensure_critical_only",
|
||||
"filter_out_gap_fill": "1",
|
||||
"gap_fill_target": "everywhere",
|
||||
"gap_infill_speed": "400",
|
||||
"independent_support_layer_height": "0",
|
||||
"infill_jerk": "15",
|
||||
"infill_wall_overlap": "15%",
|
||||
"top_bottom_infill_wall_overlap": "22%",
|
||||
"initial_layer_acceleration": "600",
|
||||
"initial_layer_infill_speed": "140",
|
||||
"initial_layer_jerk": "15",
|
||||
"initial_layer_line_width": "0.5",
|
||||
"initial_layer_speed": "60",
|
||||
"initial_layer_travel_speed": "300",
|
||||
"inner_wall_acceleration": "20000",
|
||||
"inner_wall_jerk": "15",
|
||||
"inner_wall_line_width": "0.4",
|
||||
"inner_wall_speed": "400",
|
||||
"internal_bridge_speed": "70",
|
||||
"internal_solid_infill_acceleration": "20000",
|
||||
"internal_solid_infill_line_width": "0.4",
|
||||
"internal_solid_infill_speed": "400",
|
||||
"ironing_flow": "19%",
|
||||
"ironing_inset": "0.3",
|
||||
"ironing_speed": "50",
|
||||
"line_width": "0.4",
|
||||
"min_bead_width": "75%",
|
||||
"min_feature_size": "20%",
|
||||
"min_length_factor": "1.5",
|
||||
"min_width_top_surface": "200%",
|
||||
"only_one_wall_top": "1",
|
||||
"outer_wall_acceleration": "10000",
|
||||
"outer_wall_jerk": "15",
|
||||
"outer_wall_line_width": "0.4",
|
||||
"outer_wall_speed": "400",
|
||||
"overhang_1_4_speed": "70%",
|
||||
"overhang_4_4_speed": "15",
|
||||
"prime_tower_brim_width": "2",
|
||||
"prime_tower_width": "80",
|
||||
"prime_volume": "75",
|
||||
"raft_first_layer_density": "70%",
|
||||
"reduce_infill_retraction": "0",
|
||||
"resolution": "0.01",
|
||||
"role_based_wipe_speed": "0",
|
||||
"seam_gap": "0",
|
||||
"skirt_distance": "8",
|
||||
"skirt_height": "1",
|
||||
"skirt_speed": "100",
|
||||
"skirt_start_angle": "-25",
|
||||
"slice_closing_radius": "0.04",
|
||||
"slowdown_for_curled_perimeters": "0",
|
||||
"sparse_infill_acceleration": "20000",
|
||||
"sparse_infill_density": "20%",
|
||||
"sparse_infill_line_width": "0.4",
|
||||
"sparse_infill_pattern": "3dhoneycomb",
|
||||
"sparse_infill_speed": "400",
|
||||
"support_angle": "135",
|
||||
"support_base_pattern_spacing": "2",
|
||||
"support_expansion": "1",
|
||||
"support_interface_spacing": "0.3",
|
||||
"support_interface_speed": "400",
|
||||
"support_line_width": "0.4",
|
||||
"support_object_xy_distance": "0.2",
|
||||
"support_on_build_plate_only": "1",
|
||||
"support_speed": "400",
|
||||
"support_style": "snug",
|
||||
"support_top_z_distance": "0.15",
|
||||
"thick_internal_bridges": "0",
|
||||
"top_shell_layers": "5",
|
||||
"top_surface_acceleration": "10000",
|
||||
"top_surface_jerk": "15",
|
||||
"top_surface_line_width": "0.4",
|
||||
"top_surface_speed": "250",
|
||||
"travel_acceleration": "20000",
|
||||
"travel_jerk": "15",
|
||||
"travel_speed": "400",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "outer wall/inner wall",
|
||||
"wipe_speed": "150",
|
||||
"wipe_tower_bridging": "15",
|
||||
"wipe_tower_extra_flow": "120%",
|
||||
"wipe_tower_max_purge_speed": "200",
|
||||
"enable_prime_tower": "1",
|
||||
"precise_outer_wall": "0",
|
||||
"print_extruder_id": [
|
||||
"1"
|
||||
],
|
||||
"brim_type": "auto_brim",
|
||||
"print_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
]
|
||||
}
|
||||
@@ -6,7 +6,9 @@
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_pet",
|
||||
"filament_type": "PP",
|
||||
"filament_type": [
|
||||
"PP"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"185"
|
||||
],
|
||||
|
||||
@@ -71,6 +71,7 @@ body
|
||||
|
||||
#LeftBoard
|
||||
{
|
||||
display: none; /* shown by cloud_providers_info from backend */
|
||||
border-right-width: 1px;
|
||||
border-right-style: solid;
|
||||
width:262px;
|
||||
|
||||
@@ -103,11 +103,20 @@ function HandleStudio( pVal )
|
||||
|
||||
GotoMenu(strName);
|
||||
} else if (strCmd == "cloud_providers_info") {
|
||||
if (pVal["data"]["providers"] && pVal["data"]["providers"].indexOf("bbl") >= 0) {
|
||||
var providers = (pVal["data"] && pVal["data"]["providers"]) || [];
|
||||
|
||||
if (providers.indexOf("bbl") >= 0) {
|
||||
$("#BambuCloudSection").show();
|
||||
} else {
|
||||
SetBambuUserOffline();
|
||||
$("#BambuCloudSection").hide();
|
||||
}
|
||||
|
||||
if (providers.indexOf("orca") >= 0) {
|
||||
$("#LeftBoard").show();
|
||||
} else {
|
||||
$("#LeftBoard").hide();
|
||||
}
|
||||
} else if (strCmd == "network_plugin_installtip") {
|
||||
let nShow = pVal["show"] * 1;
|
||||
|
||||
|
||||
@@ -360,6 +360,50 @@ CONFLICT_KEYS = [
|
||||
['extruder_clearance_radius', 'extruder_clearance_max_radius'],
|
||||
]
|
||||
|
||||
VECTOR_KEYS = {
|
||||
"filament_type",
|
||||
}
|
||||
|
||||
def check_vector_type_keys(profiles_dir, vendor_name):
|
||||
"""
|
||||
Check that properties expected to be vectors (JSON arrays) are not stored as scalars.
|
||||
For example, `filament_type` must be a list like ["PA-CF"], not a string "PA-CF".
|
||||
|
||||
Parameters:
|
||||
profiles_dir (Path): Base profiles directory
|
||||
vendor_name (str): Vendor name
|
||||
|
||||
Returns:
|
||||
int: Number of errors found
|
||||
"""
|
||||
error_count = 0
|
||||
vendor_path = profiles_dir / vendor_name
|
||||
|
||||
if not vendor_path.exists():
|
||||
return 0
|
||||
|
||||
for file_path in vendor_path.rglob("*.json"):
|
||||
try:
|
||||
with open(file_path, "r", encoding="UTF-8") as fp:
|
||||
data = json.load(fp)
|
||||
except Exception as e:
|
||||
print_error(f"Error processing {file_path.relative_to(profiles_dir)}: {e}")
|
||||
error_count += 1
|
||||
continue
|
||||
|
||||
if not isinstance(data, dict):
|
||||
continue
|
||||
|
||||
for key in VECTOR_KEYS:
|
||||
if key in data and not isinstance(data[key], list):
|
||||
print_error(
|
||||
f"'{key}' must be an array in {file_path.relative_to(profiles_dir)}, "
|
||||
f"got {type(data[key]).__name__}: {data[key]!r}"
|
||||
)
|
||||
error_count += 1
|
||||
|
||||
return error_count
|
||||
|
||||
def check_conflict_keys(profiles_dir, vendor_name):
|
||||
"""
|
||||
Check for keys that could not be specified at the same time,
|
||||
@@ -448,6 +492,8 @@ def main():
|
||||
errors_found += new_errors
|
||||
warnings_found += new_warnings
|
||||
|
||||
errors_found += check_vector_type_keys(profiles_dir, vendor_name)
|
||||
|
||||
errors_found += check_filament_id(vendor_name, vendor_path / "filament")
|
||||
checked_vendor_count += 1
|
||||
|
||||
|
||||
@@ -132,6 +132,7 @@ def update_profile_library(vendor="",profile_type="filament"):
|
||||
library[profile_section] = sorted_profiles
|
||||
f.seek(0)
|
||||
json.dump(library, f, indent="\t", ensure_ascii=False)
|
||||
f.write('\n')
|
||||
f.truncate()
|
||||
|
||||
print(f"Profile library for {vendor} updated successfully!")
|
||||
@@ -230,6 +231,7 @@ def clean_up_profile(vendor="", profile_type="", force=False):
|
||||
f.seek(0)
|
||||
ordered_profile = create_ordered_profile(_profile, ['type', 'name', 'renamed_from', 'inherits', 'from', 'setting_id', 'filament_id', 'instantiation'])
|
||||
json.dump(ordered_profile, f, indent="\t", ensure_ascii=False)
|
||||
f.write('\n')
|
||||
f.truncate()
|
||||
print(f"Updated profile: {full_path}")
|
||||
except Exception as e:
|
||||
@@ -274,6 +276,7 @@ def rename_filament_system(vendor="OrcaFilamentLibrary"):
|
||||
if modified:
|
||||
with open(full_path, 'w', encoding='utf-8') as f:
|
||||
json.dump(data, f, indent="\t", ensure_ascii=False)
|
||||
f.write('\n')
|
||||
print(f"Updated {full_path}")
|
||||
|
||||
except Exception as e:
|
||||
|
||||
@@ -299,7 +299,7 @@ void AppConfig::set_defaults()
|
||||
set_bool("enable_ssl_for_ftp", true);
|
||||
|
||||
if (get("log_severity_level").empty())
|
||||
set("log_severity_level", "warning");
|
||||
set("log_severity_level", "info");
|
||||
|
||||
if (get("internal_developer_mode").empty())
|
||||
set_bool("internal_developer_mode", false);
|
||||
|
||||
+20
-11
@@ -37,7 +37,7 @@ static bool contour_extrusion_path(LayerRegion *region, const sla::IndexedMesh &
|
||||
}
|
||||
|
||||
Layer *layer = region->layer();
|
||||
coordf_t mesh_z = layer->print_z + mesh.ground_level();
|
||||
coordf_t mesh_slice_z = layer->slice_z + mesh.ground_level();
|
||||
coordf_t min_z = region->region().config().zaa_min_z;
|
||||
|
||||
const Points3 &points = path.polyline.points;
|
||||
@@ -50,7 +50,12 @@ static bool contour_extrusion_path(LayerRegion *region, const sla::IndexedMesh &
|
||||
Pointf3s contoured_points;
|
||||
bool was_contoured = false;
|
||||
|
||||
for (Points3::const_iterator it = points.begin(); it != points.end()-1; ++it) {
|
||||
if (points.size() < 2) {
|
||||
// Safety check. The loop below does not handle paths with less than two points correctly.
|
||||
return false;
|
||||
}
|
||||
|
||||
for (Points3::const_iterator it = points.begin(); it != points.end()-1; ++it) {
|
||||
Vec2d p1d(unscale_(it->x()), unscale_(it->y()));
|
||||
Vec2d p2d(unscale_((it+1)->x()), unscale_((it+1)->y()));
|
||||
Linef line(p1d, p2d);
|
||||
@@ -69,14 +74,10 @@ static bool contour_extrusion_path(LayerRegion *region, const sla::IndexedMesh &
|
||||
coordf_t x = p.x();
|
||||
coordf_t y = p.y();
|
||||
|
||||
sla::IndexedMesh::hit_result hit_up = mesh.query_ray_hit({x, y, mesh_z}, {0.0, 0.0, 1.0});
|
||||
sla::IndexedMesh::hit_result hit_down = mesh.query_ray_hit({x, y, mesh_z}, {0.0, 0.0, -1.0});
|
||||
sla::IndexedMesh::hit_result hit_up = mesh.query_ray_hit({x, y, mesh_slice_z}, {0.0, 0.0, 1.0});
|
||||
|
||||
double d = hit_up.distance() - (layer->print_z - layer->slice_z);
|
||||
|
||||
double up = hit_up.distance();
|
||||
double down = hit_down.distance();
|
||||
double d = up < down ? up : -down;
|
||||
const Vec3d &normal = (up < down ? hit_up : hit_down).normal();
|
||||
|
||||
double max_up = min_z;
|
||||
double min_down = -(height - min_z);
|
||||
double half_width = path.width / 2.0;
|
||||
@@ -85,7 +86,8 @@ static bool contour_extrusion_path(LayerRegion *region, const sla::IndexedMesh &
|
||||
min_down = -(height + 0.1);
|
||||
}
|
||||
|
||||
if (is_perimeter(path.role())) {
|
||||
if (is_perimeter(path.role()) && hit_up.is_hit()) {
|
||||
const Vec3d &normal = hit_up.normal();
|
||||
double slope_rad = slope_from_normal(normal);
|
||||
double slope_degrees = slope_rad * 180.0 / M_PI;
|
||||
|
||||
@@ -123,7 +125,14 @@ static bool contour_extrusion_path(LayerRegion *region, const sla::IndexedMesh &
|
||||
|
||||
Vec3d new_point = {p.x(), p.y(), d};
|
||||
|
||||
if (contoured_points.size() >= 2) {
|
||||
if (contoured_points.size() >= 2 && i != 0) {
|
||||
// Normally, if the new point is collinear with the last two points, we do not add
|
||||
// it to the list of contoured points. Instead we update the last point to be the
|
||||
// new point. This is to avoid creating a large number of very short segments.
|
||||
//
|
||||
// However, if the new point corresponds to a point in the original path (i == 0),
|
||||
// even if it is collinear, we add it anyway. This is to avoid creating a degenerate
|
||||
// polygon with only two points, which may cause issues in downstream code.
|
||||
double dist = Linef3::distance_to_infinite_squared(new_point, contoured_points[contoured_points.size() - 2],
|
||||
contoured_points[contoured_points.size() - 1]);
|
||||
if (dist < EPSILON * EPSILON) {
|
||||
|
||||
@@ -491,7 +491,11 @@ public:
|
||||
{ Polygons out; this->polygons_covered_by_spacing(out, scaled_epsilon); return out; }
|
||||
// Minimum volumetric velocity of this extrusion entity. Used by the constant nozzle pressure algorithm.
|
||||
double min_mm3_per_mm() const override;
|
||||
Polyline as_polyline() const override { return this->polygon().split_at_first_point(); }
|
||||
Polyline as_polyline() const override {
|
||||
if (this->paths.empty() || this->length() <= 0.)
|
||||
return Polyline();
|
||||
return this->polygon().split_at_first_point();
|
||||
}
|
||||
void collect_polylines(Polylines &dst) const override { Polyline pl = this->as_polyline(); if (! pl.empty()) dst.emplace_back(std::move(pl)); }
|
||||
void collect_points(Points &dst) const override {
|
||||
size_t n = std::accumulate(paths.begin(), paths.end(), 0, [](const size_t n, const ExtrusionPath &p){ return n + p.polyline.size(); });
|
||||
|
||||
@@ -66,9 +66,240 @@ static std::unique_ptr<noise::module::Module> get_noise_module(const FuzzySkinCo
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Ripple noise — deterministic sine-wave displacement along the path arc length.
|
||||
//
|
||||
// Unlike the other noise types, the ripple pattern is driven by cumulative arc
|
||||
// length along the print path rather than world-space (x, y, z) coordinates.
|
||||
// This gives a uniform wave period regardless of the polygon's geometry.
|
||||
//
|
||||
// A consistent visual anchor is established by finding the leftmost Y=0 crossing
|
||||
// of the polygon (the point where the sine wave always peaks when phase shift is
|
||||
// zero), ensuring the pattern aligns across layers.
|
||||
//
|
||||
// Per-layer-group phase shifting works as follows:
|
||||
// period_index = floor(layer_id / layers_between_ripple_offset)
|
||||
// phase_shift = period_index * (ripple_offset / 100) * 2π [radians]
|
||||
//
|
||||
// Setting layers_between_ripple_offset = 1 shifts the phase on every layer;
|
||||
// setting it to N makes N consecutive layers share the same pattern.
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
// Compute the per-layer-group phase shift in radians.
|
||||
static double ripple_phase_shift_rad(const FuzzySkinConfig& cfg)
|
||||
{
|
||||
if (cfg.ripple_offset == 0.0 || cfg.layers_between_ripple_offset <= 0)
|
||||
return 0.0;
|
||||
|
||||
const int effective_layer = std::max(cfg.layer_id, 0);
|
||||
const int period_index = effective_layer / std::max(cfg.layers_between_ripple_offset, 1);
|
||||
const double raw_shift = period_index * (cfg.ripple_offset/100) * (2.0 * M_PI);
|
||||
return fmod(raw_shift, 2.0 * M_PI);
|
||||
}
|
||||
|
||||
// Find the arc-length (in mm) of the visual anchor point along the polygon perimeter.
|
||||
// The anchor is the leftmost Y=0 crossing, falling back to the vertex with the
|
||||
// smallest |y| if no crossing exists. The anchor is where sin(phase) = 1 (a peak)
|
||||
// when the phase shift is zero, giving a stable reference across layers.
|
||||
static double ripple_anchor_arc_mm(const Points& poly)
|
||||
{
|
||||
const size_t np = poly.size();
|
||||
|
||||
// Find anchor world position: leftmost Y=0 crossing.
|
||||
Vec2d anchor_world(std::numeric_limits<double>::max(), std::numeric_limits<double>::max());
|
||||
bool found_crossing = false;
|
||||
for (size_t i = 0; i < np; ++i) {
|
||||
const double ya = unscale_(poly[i].y());
|
||||
const double yb = unscale_(poly[(i + 1) % np].y());
|
||||
if ((ya <= 0.0 && yb >= 0.0) || (ya >= 0.0 && yb <= 0.0)) {
|
||||
const double t = (std::abs(yb - ya) < 1e-9) ? 0.0 : ya / (ya - yb);
|
||||
const double x_cross = unscale_(poly[i].x()) +
|
||||
std::max(0.0, std::min(1.0, t)) * (unscale_(poly[(i + 1) % np].x()) - unscale_(poly[i].x()));
|
||||
if (!found_crossing || x_cross < anchor_world.x()) {
|
||||
anchor_world = Vec2d(x_cross, 0.0);
|
||||
found_crossing = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!found_crossing) {
|
||||
double best_abs_y = std::numeric_limits<double>::max();
|
||||
for (const Point& p : poly) {
|
||||
const double ay = std::abs(unscale_(p.y()));
|
||||
if (ay < best_abs_y) {
|
||||
best_abs_y = ay;
|
||||
anchor_world = Vec2d(unscale_(p.x()), unscale_(p.y()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Find the arc-length of the closest point on the polyline to anchor_world.
|
||||
double anchor_arc_mm = 0.0;
|
||||
double best_dist_sq = std::numeric_limits<double>::max();
|
||||
double accum_mm = 0.0;
|
||||
for (size_t i = 0; i < np; ++i) {
|
||||
const Vec2d pa_mm(unscale_(poly[i].x()), unscale_(poly[i].y()));
|
||||
const Vec2d pb_mm(unscale_(poly[(i + 1) % np].x()), unscale_(poly[(i + 1) % np].y()));
|
||||
const Vec2d seg = pb_mm - pa_mm;
|
||||
const double seg_len = seg.norm();
|
||||
if (seg_len > 1e-9) {
|
||||
const double t = std::max(0.0, std::min(1.0, (anchor_world - pa_mm).dot(seg) / (seg_len * seg_len)));
|
||||
const double dist_sq = (pa_mm + seg * t - anchor_world).squaredNorm();
|
||||
if (dist_sq < best_dist_sq) {
|
||||
best_dist_sq = dist_sq;
|
||||
anchor_arc_mm = accum_mm + t * seg_len;
|
||||
}
|
||||
}
|
||||
accum_mm += seg_len;
|
||||
}
|
||||
return anchor_arc_mm;
|
||||
}
|
||||
|
||||
// Apply a sine-wave ripple displacement to a closed polygon.
|
||||
// Points are resampled at cfg.point_distance intervals along the perimeter.
|
||||
static void fuzzy_polyline_ripple(Points& poly, const FuzzySkinConfig& cfg)
|
||||
{
|
||||
const double amplitude = unscale_(cfg.thickness);
|
||||
const double N = static_cast<double>(cfg.ripples_per_layer);
|
||||
const double fill_step_mm = unscale_(cfg.point_distance);
|
||||
|
||||
if (N <= 0.0 || fill_step_mm < 1e-6)
|
||||
return;
|
||||
|
||||
// Compute total perimeter length in mm.
|
||||
const size_t np = poly.size();
|
||||
double perimeter_mm = 0.0;
|
||||
for (size_t i = 0; i < np; ++i)
|
||||
perimeter_mm += unscale_((poly[(i + 1) % np] - poly[i]).cast<double>().norm());
|
||||
|
||||
if (perimeter_mm < 1e-6)
|
||||
return;
|
||||
|
||||
const double anchor_arc_mm = ripple_anchor_arc_mm(poly);
|
||||
const double phase_shift_rad = ripple_phase_shift_rad(cfg);
|
||||
|
||||
// Phase function: φ(s) = N·2π·(s - anchor_arc) / perimeter + π/2 + phase_shift
|
||||
// Adding π/2 ensures sin(φ) = 1 at the anchor when phase_shift = 0 (a peak).
|
||||
const double phase_at_anchor = M_PI * 2.0 + phase_shift_rad;
|
||||
auto arc_phase = [&](double arc_mm) -> double { return N * (2.0 * M_PI) * (arc_mm - anchor_arc_mm) / perimeter_mm + phase_at_anchor; };
|
||||
|
||||
Points out;
|
||||
out.reserve(static_cast<size_t>(perimeter_mm / fill_step_mm) + np * 2);
|
||||
|
||||
double accum_mm = 0.0;
|
||||
for (size_t i = 0; i < np; ++i) {
|
||||
const Point& p0 = poly[i];
|
||||
const Point& p1 = poly[(i + 1) % np];
|
||||
const Vec2d seg = (p1 - p0).cast<double>();
|
||||
const double seg_len = seg.norm();
|
||||
if (seg_len < EPSILON)
|
||||
continue;
|
||||
|
||||
const double seg_len_mm = unscale_(seg_len);
|
||||
const Vec2d seg_unit = seg / seg_len;
|
||||
const Vec2d seg_perp = perp(seg_unit);
|
||||
const double seg_end_mm = accum_mm + seg_len_mm;
|
||||
const double first_s = std::ceil(accum_mm / fill_step_mm) * fill_step_mm;
|
||||
|
||||
for (double s = first_s; s < seg_end_mm; s += fill_step_mm) {
|
||||
const double t = (s - accum_mm) / seg_len_mm;
|
||||
const double disp = std::sin(arc_phase(s)) * amplitude;
|
||||
const Point pt = p0 + (seg * t).cast<coord_t>();
|
||||
out.emplace_back(pt + (seg_perp * scale_(disp)).cast<coord_t>());
|
||||
}
|
||||
|
||||
accum_mm = seg_end_mm;
|
||||
}
|
||||
|
||||
while (out.size() < 3)
|
||||
out.emplace_back(poly[poly.size() - 2]);
|
||||
|
||||
if (out.size() >= 3)
|
||||
poly = std::move(out);
|
||||
}
|
||||
|
||||
// Apply a sine-wave ripple displacement to an Arachne extrusion line.
|
||||
// Mirrors fuzzy_polyline_ripple but operates on ExtrusionJunction vectors so
|
||||
// that per-point line width (j.w) is preserved correctly.
|
||||
static void fuzzy_extrusion_line_ripple(Arachne::ExtrusionJunctions& ext_lines, const FuzzySkinConfig& cfg)
|
||||
{
|
||||
const double amplitude = unscale_(cfg.thickness);
|
||||
const double N = static_cast<double>(cfg.ripples_per_layer);
|
||||
const double fill_step_mm = unscale_(cfg.point_distance);
|
||||
|
||||
if (N <= 0.0 || fill_step_mm < 1e-6)
|
||||
return;
|
||||
|
||||
// Build a Points vector for perimeter/anchor calculations.
|
||||
Points poly;
|
||||
poly.reserve(ext_lines.size());
|
||||
for (const auto& j : ext_lines)
|
||||
poly.push_back(j.p);
|
||||
|
||||
// Compute total length in mm.
|
||||
const size_t np = poly.size();
|
||||
double perimeter_mm = 0.0;
|
||||
for (size_t i = 0; i + 1 < np; ++i)
|
||||
perimeter_mm += unscale_((poly[i + 1] - poly[i]).cast<double>().norm());
|
||||
|
||||
if (perimeter_mm < 1e-6)
|
||||
return;
|
||||
|
||||
const double anchor_arc_mm = ripple_anchor_arc_mm(poly);
|
||||
const double phase_shift_rad = ripple_phase_shift_rad(cfg);
|
||||
const double phase_at_anchor = M_PI * 2.0 + phase_shift_rad;
|
||||
|
||||
auto arc_phase = [&](double arc_mm) -> double { return N * (2.0 * M_PI) * (arc_mm - anchor_arc_mm) / perimeter_mm + phase_at_anchor; };
|
||||
|
||||
Arachne::ExtrusionJunctions out;
|
||||
out.reserve(static_cast<size_t>(perimeter_mm / fill_step_mm) + np * 2);
|
||||
|
||||
double accum_mm = 0.0;
|
||||
for (size_t i = 0; i + 1 < np; ++i) {
|
||||
const Arachne::ExtrusionJunction& j0 = ext_lines[i];
|
||||
const Arachne::ExtrusionJunction& j1 = ext_lines[i + 1];
|
||||
const Vec2d seg = (j1.p - j0.p).cast<double>();
|
||||
const double seg_len = seg.norm();
|
||||
if (seg_len < EPSILON)
|
||||
continue;
|
||||
|
||||
const double seg_len_mm = unscale_(seg_len);
|
||||
const Vec2d seg_unit = seg / seg_len;
|
||||
const Vec2d seg_perp = perp(seg_unit);
|
||||
const double seg_end_mm = accum_mm + seg_len_mm;
|
||||
const double first_s = std::ceil(accum_mm / fill_step_mm) * fill_step_mm;
|
||||
|
||||
for (double s = first_s; s < seg_end_mm; s += fill_step_mm) {
|
||||
const double t = (s - accum_mm) / seg_len_mm;
|
||||
const double disp = std::sin(arc_phase(s)) * amplitude;
|
||||
const Point pt = j0.p + (seg * t).cast<coord_t>();
|
||||
out.emplace_back(pt + (seg_perp * scale_(disp)).cast<coord_t>(), j1.w, j1.perimeter_index);
|
||||
}
|
||||
|
||||
accum_mm = seg_end_mm;
|
||||
}
|
||||
|
||||
while (out.size() < 3) {
|
||||
size_t point_idx = ext_lines.size() - 2;
|
||||
out.emplace_back(ext_lines[point_idx].p, ext_lines[point_idx].w, ext_lines[point_idx].perimeter_index);
|
||||
if (point_idx == 0)
|
||||
break;
|
||||
--point_idx;
|
||||
}
|
||||
|
||||
if (out.size() >= 3)
|
||||
ext_lines = std::move(out);
|
||||
}
|
||||
|
||||
// Thanks Cura developers for this function.
|
||||
void fuzzy_polyline(Points& poly, bool closed, coordf_t slice_z, const FuzzySkinConfig& cfg)
|
||||
{
|
||||
if (cfg.noise_type == NoiseType::Ripple) {
|
||||
if (poly.size() < 3)
|
||||
return;
|
||||
fuzzy_polyline_ripple(poly, cfg);
|
||||
return;
|
||||
}
|
||||
|
||||
std::unique_ptr<noise::module::Module> noise = get_noise_module(cfg);
|
||||
|
||||
const double min_dist_between_points = cfg.point_distance * 3. / 4.; // hardcoded: the point distance may vary between 3/4 and 5/4 the supplied value
|
||||
@@ -113,6 +344,14 @@ void fuzzy_polyline(Points& poly, bool closed, coordf_t slice_z, const FuzzySkin
|
||||
// Thanks Cura developers for this function.
|
||||
void fuzzy_extrusion_line(Arachne::ExtrusionJunctions& ext_lines, coordf_t slice_z, const FuzzySkinConfig& cfg, bool closed)
|
||||
{
|
||||
|
||||
if (cfg.noise_type == NoiseType::Ripple) {
|
||||
if (ext_lines.size() < 3)
|
||||
return;
|
||||
fuzzy_extrusion_line_ripple(ext_lines, cfg);
|
||||
return;
|
||||
}
|
||||
|
||||
std::unique_ptr<noise::module::Module> noise = get_noise_module(cfg);
|
||||
|
||||
const double min_dist_between_points = cfg.point_distance * 3. / 4.; // hardcoded: the point distance may vary between 3/4 and 5/4 the supplied value
|
||||
@@ -179,7 +418,13 @@ void group_region_by_fuzzify(PerimeterGenerator& g)
|
||||
g.has_fuzzy_skin = false;
|
||||
g.has_fuzzy_hole = false;
|
||||
|
||||
std::unordered_map<FuzzySkinConfig, SurfacesPtr> regions;
|
||||
struct ConfigSurfaces {
|
||||
FuzzySkinConfig config;
|
||||
SurfacesPtr surfaces;
|
||||
};
|
||||
|
||||
std::vector<ConfigSurfaces> regions;
|
||||
regions.reserve(g.compatible_regions->size());
|
||||
for (auto region : *g.compatible_regions) {
|
||||
const auto& region_config = region->region().config();
|
||||
const FuzzySkinConfig cfg{region_config.fuzzy_skin,
|
||||
@@ -190,27 +435,41 @@ void group_region_by_fuzzify(PerimeterGenerator& g)
|
||||
region_config.fuzzy_skin_scale,
|
||||
region_config.fuzzy_skin_octaves,
|
||||
region_config.fuzzy_skin_persistence,
|
||||
region_config.fuzzy_skin_mode};
|
||||
auto& surfaces = regions[cfg];
|
||||
region_config.fuzzy_skin_mode,
|
||||
region_config.fuzzy_skin_ripples_per_layer,
|
||||
region_config.fuzzy_skin_ripple_offset,
|
||||
region_config.fuzzy_skin_layers_between_ripple_offset,
|
||||
g.layer_id};
|
||||
|
||||
auto it = std::find_if(regions.begin(), regions.end(), [&cfg](const ConfigSurfaces& item) {
|
||||
return item.config == cfg;
|
||||
});
|
||||
if (it == regions.end()) {
|
||||
regions.push_back({cfg, {}});
|
||||
it = regions.end() - 1;
|
||||
}
|
||||
|
||||
auto& surfaces = it->surfaces;
|
||||
for (const auto& surface : region->slices.surfaces) {
|
||||
surfaces.push_back(&surface);
|
||||
}
|
||||
|
||||
if (cfg.type != FuzzySkinType::None && cfg.type != FuzzySkinType::Disabled_fuzzy) {
|
||||
if (should_fuzzify(cfg, g.layer_id, 0, true)) {
|
||||
g.has_fuzzy_skin = true;
|
||||
if (cfg.type != FuzzySkinType::External) {
|
||||
g.has_fuzzy_hole = true;
|
||||
}
|
||||
}
|
||||
if (should_fuzzify(cfg, g.layer_id, 0, false)) {
|
||||
g.has_fuzzy_hole = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (regions.size() == 1) { // optimization
|
||||
g.regions_by_fuzzify[regions.begin()->first] = {};
|
||||
g.regions_by_fuzzify.push_back({regions.front().config, {}});
|
||||
return;
|
||||
}
|
||||
|
||||
for (auto& it : regions) {
|
||||
g.regions_by_fuzzify[it.first] = offset_ex(it.second, ClipperSafetyOffset);
|
||||
g.regions_by_fuzzify.reserve(regions.size());
|
||||
for (const auto& region : regions) {
|
||||
g.regions_by_fuzzify.push_back({region.config, offset_ex(region.surfaces, ClipperSafetyOffset)});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -226,12 +485,79 @@ bool should_fuzzify(const FuzzySkinConfig& config, const int layer_id, const siz
|
||||
return false;
|
||||
}
|
||||
|
||||
const bool fuzzify_contours = loop_idx == 0 || fuzziy_type == FuzzySkinType::AllWalls;
|
||||
const bool fuzzify_holes = fuzzify_contours && (fuzziy_type == FuzzySkinType::All || fuzziy_type == FuzzySkinType::AllWalls);
|
||||
const bool fuzzify_contours = (loop_idx == 0 && fuzziy_type != FuzzySkinType::Hole) || fuzziy_type == FuzzySkinType::AllWalls;
|
||||
const bool fuzzify_holes = (fuzziy_type == FuzzySkinType::Hole || fuzziy_type == FuzzySkinType::All || fuzziy_type == FuzzySkinType::AllWalls)
|
||||
&& (loop_idx == 0 || fuzziy_type == FuzzySkinType::AllWalls);
|
||||
|
||||
return is_contour ? fuzzify_contours : fuzzify_holes;
|
||||
}
|
||||
|
||||
struct MergedFuzzyRegion {
|
||||
const FuzzySkinConfig *config;
|
||||
ExPolygons expolygons;
|
||||
};
|
||||
|
||||
// Compare whether two configs produce the same fuzzy effect (ignoring type/first_layer
|
||||
// which only control which loops get fuzzified, not the noise itself).
|
||||
static bool same_fuzzy_effect(const FuzzySkinConfig& a, const FuzzySkinConfig& b)
|
||||
{
|
||||
return a.thickness == b.thickness
|
||||
&& a.point_distance == b.point_distance
|
||||
&& a.noise_type == b.noise_type
|
||||
&& a.noise_scale == b.noise_scale
|
||||
&& a.noise_octaves == b.noise_octaves
|
||||
&& a.noise_persistence == b.noise_persistence
|
||||
&& a.mode == b.mode
|
||||
&& a.ripples_per_layer == b.ripples_per_layer
|
||||
&& a.ripple_offset == b.ripple_offset
|
||||
&& a.layers_between_ripple_offset == b.layers_between_ripple_offset;
|
||||
}
|
||||
|
||||
static std::vector<MergedFuzzyRegion> collect_merged_fuzzy_regions(const std::vector<std::pair<FuzzySkinConfig, ExPolygons>>& regions,
|
||||
const int layer_id,
|
||||
const size_t loop_idx,
|
||||
const bool is_contour)
|
||||
{
|
||||
// Merge regions that produce identical fuzzy effects (differ only in type).
|
||||
// When the style (e.g. External) and a painted region (All) both fuzzify this loop
|
||||
// with the same noise parameters, merging their ExPolygons avoids splitting the
|
||||
// perimeter at the painted boundary — eliminating discontinuity artifacts.
|
||||
std::vector<MergedFuzzyRegion> merged_regions;
|
||||
merged_regions.reserve(regions.size());
|
||||
for (const auto& region : regions) {
|
||||
if (!should_fuzzify(region.first, layer_id, loop_idx, is_contour)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
bool merged = false;
|
||||
for (auto& merged_region : merged_regions) {
|
||||
if (same_fuzzy_effect(*merged_region.config, region.first)) {
|
||||
if (merged_region.expolygons.empty()) {
|
||||
// Already full coverage, nothing to add.
|
||||
} else if (region.second.empty()) {
|
||||
merged_region.expolygons.clear();
|
||||
} else {
|
||||
append(merged_region.expolygons, region.second);
|
||||
}
|
||||
merged = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!merged) {
|
||||
merged_regions.push_back({®ion.first, region.second});
|
||||
}
|
||||
}
|
||||
|
||||
for (auto& merged_region : merged_regions) {
|
||||
if (!merged_region.expolygons.empty()) {
|
||||
merged_region.expolygons = union_ex(merged_region.expolygons);
|
||||
}
|
||||
}
|
||||
|
||||
return merged_regions;
|
||||
}
|
||||
|
||||
Polygon apply_fuzzy_skin(const Polygon& polygon, const PerimeterGenerator& perimeter_generator, const size_t loop_idx, const bool is_contour)
|
||||
{
|
||||
Polygon fuzzified;
|
||||
@@ -250,22 +576,30 @@ Polygon apply_fuzzy_skin(const Polygon& polygon, const PerimeterGenerator& perim
|
||||
return fuzzified;
|
||||
}
|
||||
|
||||
// Find all affective regions
|
||||
std::vector<std::pair<const FuzzySkinConfig&, const ExPolygons&>> fuzzified_regions;
|
||||
fuzzified_regions.reserve(regions.size());
|
||||
for (const auto& region : regions) {
|
||||
if (should_fuzzify(region.first, perimeter_generator.layer_id, loop_idx, is_contour)) {
|
||||
fuzzified_regions.emplace_back(region.first, region.second);
|
||||
}
|
||||
}
|
||||
if (fuzzified_regions.empty()) {
|
||||
// Merge regions that produce identical fuzzy effects (differ only in type).
|
||||
// When the style (e.g. External) and a painted region (All) both fuzzify this loop
|
||||
// with the same noise parameters, merging their ExPolygons avoids splitting the
|
||||
// perimeter at the painted boundary — eliminating discontinuity artifacts.
|
||||
auto merged_regions = collect_merged_fuzzy_regions(regions, perimeter_generator.layer_id, loop_idx, is_contour);
|
||||
if (merged_regions.empty()) {
|
||||
return polygon;
|
||||
}
|
||||
|
||||
// Fast path: single merged region — apply directly without splitting
|
||||
if (merged_regions.size() == 1) {
|
||||
const auto& mr = merged_regions.front();
|
||||
if (mr.expolygons.empty()) {
|
||||
fuzzified = polygon;
|
||||
fuzzy_polyline(fuzzified.points, true, slice_z, *mr.config);
|
||||
return fuzzified;
|
||||
}
|
||||
// Fall through to split_line with a single region below
|
||||
}
|
||||
|
||||
#ifdef DEBUG_FUZZY
|
||||
{
|
||||
int i = 0;
|
||||
for (const auto& r : fuzzified_regions) {
|
||||
for (const auto& r : merged_regions) {
|
||||
BoundingBox bbox = get_extents(perimeter_generator.slices->surfaces);
|
||||
bbox.offset(scale_(1.));
|
||||
::Slic3r::SVG svg(debug_out_path("fuzzy_traverse_loops_%d_%d_%d_region_%d.svg", perimeter_generator.layer_id,
|
||||
@@ -274,18 +608,26 @@ Polygon apply_fuzzy_skin(const Polygon& polygon, const PerimeterGenerator& perim
|
||||
bbox);
|
||||
svg.draw_outline(perimeter_generator.slices->surfaces);
|
||||
svg.draw_outline(polygon, "green");
|
||||
svg.draw(r.second, "red", 0.5);
|
||||
svg.draw_outline(r.second, "red");
|
||||
svg.draw(r.expolygons, "red", 0.5);
|
||||
svg.draw_outline(r.expolygons, "red");
|
||||
svg.Close();
|
||||
i++;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// Make each region's ExPolygons exclusive so overlapping regions don't double-fuzz
|
||||
// the same perimeter section. Later regions in the list take priority over earlier ones
|
||||
// in overlapping areas (matching modifier precedence order).
|
||||
for (size_t i = 0; i < merged_regions.size(); ++i)
|
||||
for (size_t j = i + 1; j < merged_regions.size(); ++j)
|
||||
if (!merged_regions[i].expolygons.empty() && !merged_regions[j].expolygons.empty())
|
||||
merged_regions[i].expolygons = diff_ex(merged_regions[i].expolygons, merged_regions[j].expolygons);
|
||||
|
||||
// Split the loops into lines with different config, and fuzzy them separately
|
||||
fuzzified = polygon;
|
||||
for (const auto& r : fuzzified_regions) {
|
||||
auto splitted = Algorithm::split_line(fuzzified, r.second, true);
|
||||
for (const auto& r : merged_regions) {
|
||||
auto splitted = Algorithm::split_line(fuzzified, r.expolygons, true);
|
||||
if (splitted.empty()) {
|
||||
// No intersection, skip
|
||||
continue;
|
||||
@@ -294,7 +636,7 @@ Polygon apply_fuzzy_skin(const Polygon& polygon, const PerimeterGenerator& perim
|
||||
// Fuzzy splitted polygon
|
||||
if (std::all_of(splitted.begin(), splitted.end(), [](const Algorithm::SplitLineJunction& j) { return j.clipped; })) {
|
||||
// The entire polygon is fuzzified
|
||||
fuzzy_polyline(fuzzified.points, true, slice_z, r.first);
|
||||
fuzzy_polyline(fuzzified.points, true, slice_z, *r.config);
|
||||
} else {
|
||||
// Start from a non-clipped junction so wrapped clipped segments do
|
||||
// not need an artificial reconnection across the seam.
|
||||
@@ -311,7 +653,7 @@ Polygon apply_fuzzy_skin(const Polygon& polygon, const PerimeterGenerator& perim
|
||||
const auto fuzzy_current_segment = [&segment, &fuzzified, &r, slice_z]() {
|
||||
fuzzified.points.push_back(segment.front());
|
||||
const auto back = segment.back();
|
||||
fuzzy_polyline(segment, false, slice_z, r.first);
|
||||
fuzzy_polyline(segment, false, slice_z, *r.config);
|
||||
fuzzified.points.insert(fuzzified.points.end(), segment.begin(), segment.end());
|
||||
fuzzified.points.push_back(back);
|
||||
segment.clear();
|
||||
@@ -350,20 +692,23 @@ void apply_fuzzy_skin(Arachne::ExtrusionLine* extrusion, const PerimeterGenerato
|
||||
if (fuzzify)
|
||||
fuzzy_extrusion_line(extrusion->junctions, slice_z, config);
|
||||
} else {
|
||||
// Find all affective regions
|
||||
std::vector<std::pair<const FuzzySkinConfig&, const ExPolygons&>> fuzzified_regions;
|
||||
fuzzified_regions.reserve(regions.size());
|
||||
for (const auto& region : regions) {
|
||||
if (should_fuzzify(region.first, perimeter_generator.layer_id, extrusion->inset_idx, is_contour)) {
|
||||
fuzzified_regions.emplace_back(region.first, region.second);
|
||||
// Merge regions that produce identical fuzzy effects (differ only in type).
|
||||
// When the style (e.g. External) and a painted region (All) both fuzzify this loop
|
||||
// with the same noise parameters, merging avoids splitting the perimeter at the
|
||||
// painted boundary — eliminating discontinuity artifacts.
|
||||
auto merged_regions = collect_merged_fuzzy_regions(regions, perimeter_generator.layer_id, extrusion->inset_idx, is_contour);
|
||||
if (!merged_regions.empty()) {
|
||||
|
||||
// Fast path: single merged region — apply directly without splitting
|
||||
if (merged_regions.size() == 1 && merged_regions.front().expolygons.empty()) {
|
||||
fuzzy_extrusion_line(extrusion->junctions, slice_z, *merged_regions.front().config);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (!fuzzified_regions.empty()) {
|
||||
|
||||
|
||||
#ifdef DEBUG_FUZZY
|
||||
{
|
||||
int i = 0;
|
||||
for (const auto& r : fuzzified_regions) {
|
||||
for (const auto& r : merged_regions) {
|
||||
BoundingBox bbox = get_extents(perimeter_generator.slices->surfaces);
|
||||
bbox.offset(scale_(1.));
|
||||
::Slic3r::SVG svg(debug_out_path("fuzzy_traverse_loops_%d_%d_%d_region_%d.svg", perimeter_generator.layer_id,
|
||||
@@ -380,17 +725,25 @@ void apply_fuzzy_skin(Arachne::ExtrusionLine* extrusion, const PerimeterGenerato
|
||||
|
||||
svg.draw_outline(perimeter_generator.slices->surfaces);
|
||||
svg.draw_outline(extrusion_polygon, "green");
|
||||
svg.draw(r.second, "red", 0.5);
|
||||
svg.draw_outline(r.second, "red");
|
||||
svg.draw(r.expolygons, "red", 0.5);
|
||||
svg.draw_outline(r.expolygons, "red");
|
||||
svg.Close();
|
||||
i++;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// Make each region's ExPolygons exclusive so overlapping regions don't double-fuzz
|
||||
// the same perimeter section. Later regions in the list take priority over earlier ones
|
||||
// in overlapping areas.
|
||||
for (size_t i = 0; i < merged_regions.size(); ++i)
|
||||
for (size_t j = i + 1; j < merged_regions.size(); ++j)
|
||||
if (!merged_regions[i].expolygons.empty() && !merged_regions[j].expolygons.empty())
|
||||
merged_regions[i].expolygons = diff_ex(merged_regions[i].expolygons, merged_regions[j].expolygons);
|
||||
|
||||
// Split the loops into lines with different config, and fuzzy them separately
|
||||
for (const auto& r : fuzzified_regions) {
|
||||
const auto splitted = Algorithm::split_line(*extrusion, r.second, false);
|
||||
for (const auto& r : merged_regions) {
|
||||
const auto splitted = Algorithm::split_line(*extrusion, r.expolygons, false);
|
||||
if (splitted.empty()) {
|
||||
// No intersection, skip
|
||||
continue;
|
||||
@@ -399,7 +752,7 @@ void apply_fuzzy_skin(Arachne::ExtrusionLine* extrusion, const PerimeterGenerato
|
||||
// Fuzzy splitted extrusion
|
||||
if (std::all_of(splitted.begin(), splitted.end(), [](const Algorithm::SplitLineJunction& j) { return j.clipped; })) {
|
||||
// The entire polygon is fuzzified
|
||||
fuzzy_extrusion_line(extrusion->junctions, slice_z, r.first);
|
||||
fuzzy_extrusion_line(extrusion->junctions, slice_z, *r.config);
|
||||
continue;
|
||||
} else {
|
||||
const auto current_ext = extrusion->junctions;
|
||||
@@ -412,7 +765,7 @@ void apply_fuzzy_skin(Arachne::ExtrusionLine* extrusion, const PerimeterGenerato
|
||||
const auto front = segment.front();
|
||||
const auto back = segment.back();
|
||||
|
||||
fuzzy_extrusion_line(segment, slice_z, r.first, false);
|
||||
fuzzy_extrusion_line(segment, slice_z, *r.config, false);
|
||||
// Orca: only add non fuzzy point if it's not in the extrusion closing point.
|
||||
if (!extrusion->junctions.empty() && extrusion->junctions.front().p != front.p) {
|
||||
extrusion->junctions.push_back(front);
|
||||
|
||||
@@ -1324,12 +1324,12 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive:
|
||||
params.density = f->print_object_config->internal_bridge_density.get_abs_value(1.0);
|
||||
params.dont_adjust = true;
|
||||
}
|
||||
// Orca: Elefant foot compensation for solid layers above bottommost by infill density manipulation.
|
||||
// Orca: Elephant foot compensation for solid layers above bottommost by infill density manipulation.
|
||||
float elefant_density = f->print_object_config->elefant_foot_layers_density.get_abs_value(1.0);
|
||||
if (!is_approx(elefant_density, 1.0f) && surface_fill.surface.is_solid_infill()) {
|
||||
size_t elefant_layers = f->print_object_config->elefant_foot_compensation_layers.value;
|
||||
if (f->layer_id > 0 && f->layer_id <= elefant_layers)
|
||||
params.density = elefant_density * (elefant_layers - (f->layer_id - 1)) / elefant_layers;
|
||||
params.density = 1.0f - (1.0f - elefant_density) * (elefant_layers - (f->layer_id - 1)) / elefant_layers; // Reverse calculation - The higher layer number means the higher density. Counting starts from the second layer.
|
||||
}
|
||||
// make fill
|
||||
f->fill_surface_extrusion(&surface_fill.surface,
|
||||
|
||||
@@ -3050,7 +3050,7 @@ bool FillRectilinear::fill_surface_trapezoidal(
|
||||
FillParams params,
|
||||
const std::initializer_list<SweepParams>& sweep_params,
|
||||
Polylines& polylines_out,
|
||||
int Pattern_type) // 0=grid, 1=triangular
|
||||
int Pattern_type) // 0=grid, 1=triangular, 2=stars
|
||||
{
|
||||
assert(params.multiline > 1);
|
||||
|
||||
@@ -3069,9 +3069,9 @@ bool FillRectilinear::fill_surface_trapezoidal(
|
||||
period = coord_t((2.0 * d1 / params.density) * std::sqrt(2.0));
|
||||
base_angle = rotate_vector.first + M_PI_4; // 45
|
||||
} else {
|
||||
// Triangular pattern parameters
|
||||
period = coord_t(( 2.0 * d1 / params.density) * std::sqrt(3.0));
|
||||
base_angle = rotate_vector.first + M_PI_2; //90
|
||||
// Triangular-family pattern parameters (triangles / stars)
|
||||
period = coord_t((2.0 * d1 / params.density) * std::sqrt(3.0));
|
||||
base_angle = rotate_vector.first + M_PI_2; // 90
|
||||
}
|
||||
|
||||
// Obtain the expolygon and rotate to align with pattern base angle
|
||||
@@ -3257,6 +3257,85 @@ bool FillRectilinear::fill_surface_trapezoidal(
|
||||
break;
|
||||
}
|
||||
|
||||
case 2: // Tri-hexagon / FillStars
|
||||
{
|
||||
// Pattern parameters
|
||||
const coord_t hex_height = coord_t(0.5 * std::sqrt(3.0) * period);
|
||||
const coord_t tri_height = hex_height / 2;
|
||||
const coord_t d1_half = d1 / 2;
|
||||
const coord_t chamfer_height = std::sqrt(3.0) * d1_half;
|
||||
const coord_t d1_half_base = d1_half / std::sqrt(3.0);
|
||||
const coord_t half_period = period / 2;
|
||||
const coord_t quarter_period = period / 4;
|
||||
|
||||
bb.merge(align_to_grid(bb.center(), Point(period, tri_height)));
|
||||
const size_t layer_mod = infill_layer_id % 3;
|
||||
const double angle = layer_mod * 2.0 * M_PI / 3.0;
|
||||
|
||||
const coord_t half_w = bb.size().x() / 2;
|
||||
const coord_t half_h = bb.size().y() / 2;
|
||||
|
||||
const coord_t num_periods_x = coord_t(std::ceil(half_w / double(period)));
|
||||
coord_t num_periods_y = coord_t(std::ceil(half_h / double(hex_height)));
|
||||
if ((num_periods_y % 2) != 0)
|
||||
++num_periods_y;
|
||||
|
||||
const coord_t x_alignment_shift = half_period;
|
||||
const coord_t y_alignment_shift = (2 * tri_height) / 3;
|
||||
const coord_t x_min_aligned = -num_periods_x * period - x_alignment_shift;
|
||||
const coord_t x_max_aligned = num_periods_x * period - x_alignment_shift;
|
||||
const coord_t y_min_aligned = -num_periods_y * hex_height - y_alignment_shift;
|
||||
const coord_t y_max_aligned = num_periods_y * hex_height - y_alignment_shift;
|
||||
|
||||
const size_t estimated_rows = (y_max_aligned - y_min_aligned) / hex_height + 2;
|
||||
const size_t estimated_polylines = (estimated_rows + 1) * 2;
|
||||
polylines.reserve(estimated_polylines);
|
||||
|
||||
Polyline star_row_normal;
|
||||
star_row_normal.points.reserve(((x_max_aligned - x_min_aligned) / period + 1) * 7);
|
||||
Polyline star_row_mirrored;
|
||||
star_row_mirrored.points.reserve(((x_max_aligned - x_min_aligned) / period + 1) * 7);
|
||||
|
||||
for (coord_t x = x_min_aligned; x < x_max_aligned; x += period) {
|
||||
star_row_normal.points.emplace_back(Point(x, hex_height)); // P0
|
||||
star_row_normal.points.emplace_back(Point(x + quarter_period - d1, hex_height)); // P1
|
||||
star_row_normal.points.emplace_back(Point(x + quarter_period + d1_half, hex_height - chamfer_height)); // P2
|
||||
star_row_normal.points.emplace_back(Point(x + half_period - d1_half_base, tri_height + d1_half)); // P3
|
||||
star_row_normal.points.emplace_back(Point(x + half_period + d1_half_base, tri_height + d1_half)); // P4
|
||||
star_row_normal.points.emplace_back(Point(x + (period * 3) / 4 - d1_half, hex_height - chamfer_height)); // P5
|
||||
star_row_normal.points.emplace_back(Point(x + (period * 3) / 4 + d1, hex_height)); // P6
|
||||
}
|
||||
|
||||
star_row_mirrored.points = star_row_normal.points;
|
||||
for (auto& p : star_row_mirrored.points)
|
||||
p.y() = hex_height - p.y();
|
||||
|
||||
size_t pair_idx = 0;
|
||||
const coord_t global_x_shift = half_period;
|
||||
const coord_t global_y_shift = tri_height;
|
||||
auto append_row_with_shift = [&polylines](const Polyline& row_template, coord_t x_shift, coord_t y_shift) {
|
||||
Polyline row = row_template;
|
||||
for (Point& p : row.points) {
|
||||
p.x() += x_shift;
|
||||
p.y() += y_shift;
|
||||
}
|
||||
if (!row.points.empty())
|
||||
polylines.emplace_back(std::move(row));
|
||||
};
|
||||
|
||||
for (coord_t y = y_min_aligned; y < y_max_aligned; y += hex_height, ++pair_idx) {
|
||||
const coord_t x_shift = (pair_idx % 2 == 0) ? 0 : half_period;
|
||||
append_row_with_shift(star_row_normal, x_shift + global_x_shift, y + global_y_shift);
|
||||
append_row_with_shift(star_row_mirrored, x_shift + global_x_shift, y + global_y_shift);
|
||||
}
|
||||
|
||||
if (layer_mod)
|
||||
for (auto& pl : polylines)
|
||||
pl.rotate(angle, Point(0, 0));
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
// Handle unknown pattern type
|
||||
break;
|
||||
@@ -3408,11 +3487,19 @@ Polylines FillTriangles::fill_surface(const Surface *surface, const FillParams &
|
||||
Polylines FillStars::fill_surface(const Surface *surface, const FillParams ¶ms)
|
||||
{
|
||||
Polylines polylines_out;
|
||||
if (! this->fill_surface_by_multilines(
|
||||
surface, params,
|
||||
{ { 0.f, 0.f }, { float(M_PI / 3.), 0.f }, { float(2. * M_PI / 3.), float((3./2.) * this->spacing * params.multiline / params.density) } },
|
||||
polylines_out))
|
||||
BOOST_LOG_TRIVIAL(error) << "FillStars::fill_surface() failed to fill a region.";
|
||||
if (params.multiline > 1) {
|
||||
if (!this->fill_surface_trapezoidal(
|
||||
surface, params,
|
||||
{{0.f, 0.f}, {float(M_PI / 3.), 0.f}, {float(2. * M_PI / 3.), float((3. / 2.) * this->spacing * params.multiline / params.density)}},
|
||||
polylines_out, 2))
|
||||
BOOST_LOG_TRIVIAL(error) << "FillStars::fill_surface_trapezoidal() failed.";
|
||||
} else {
|
||||
if (! this->fill_surface_by_multilines(
|
||||
surface, params,
|
||||
{ { 0.f, 0.f }, { float(M_PI / 3.), 0.f }, { float(2. * M_PI / 3.), float((3./2.) * this->spacing * params.multiline / params.density) } },
|
||||
polylines_out))
|
||||
BOOST_LOG_TRIVIAL(error) << "FillStars::fill_surface() failed to fill a region.";
|
||||
}
|
||||
return polylines_out;
|
||||
}
|
||||
|
||||
|
||||
@@ -2456,6 +2456,7 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato
|
||||
m_max_layer_z = 0.f;
|
||||
m_last_width = 0.f;
|
||||
m_is_role_based_fan_on.fill(false);
|
||||
m_role_based_fan_marker_layer.fill(-1);
|
||||
|
||||
m_fan_mover.release();
|
||||
|
||||
@@ -6397,7 +6398,6 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description,
|
||||
|
||||
gcode += this->travel_to(first_point, path.role(), "move to first " + description + " point", z);
|
||||
|
||||
m_need_change_layer_lift_z = false;
|
||||
// Orca: ensure Z matches planned layer height
|
||||
if (!slope_need_z_travel && (_last_pos_undefined || m_need_change_layer_lift_z)) {
|
||||
const std::string z_sync_comment = _last_pos_undefined ?
|
||||
@@ -6912,11 +6912,14 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description,
|
||||
assert(m_enable_cooling_markers);
|
||||
|
||||
if (fan_on) {
|
||||
if (!m_is_role_based_fan_on[role]) {
|
||||
// Orca: CoolingBuffer consumes role fan markers per layer, so continuing
|
||||
// role-based fan regions need a fresh START marker on each new layer.
|
||||
if (!m_is_role_based_fan_on[role] || m_role_based_fan_marker_layer[role] != m_layer_index) {
|
||||
gcode += ";";
|
||||
gcode += marker_prefix;
|
||||
gcode += "_FAN_START\n";
|
||||
m_is_role_based_fan_on[role] = true;
|
||||
m_role_based_fan_marker_layer[role] = m_layer_index;
|
||||
}
|
||||
} else {
|
||||
if (m_is_role_based_fan_on[role]) {
|
||||
@@ -6924,6 +6927,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description,
|
||||
gcode += marker_prefix;
|
||||
gcode += "_FAN_END\n";
|
||||
m_is_role_based_fan_on[role] = false;
|
||||
m_role_based_fan_marker_layer[role] = -1;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user