mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-06-14 16:02:55 +00:00
Compare commits
4 Commits
feature/pr
...
fix/cli-se
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e9ea8a8eb7 | ||
|
|
8c6f0b4b47 | ||
|
|
1a2118f696 | ||
|
|
899bbafc99 |
6
.github/workflows/build_all.yml
vendored
6
.github/workflows/build_all.yml
vendored
@@ -211,12 +211,6 @@ jobs:
|
||||
sed -i "/name: OrcaSlicer/{n;s|buildsystem: simple|buildsystem: simple\n build-options:\n env:\n git_commit_hash: \"$git_commit_hash\"|}" \
|
||||
scripts/flatpak/com.orcaslicer.OrcaSlicer.yml
|
||||
shell: bash
|
||||
- name: Generate config sources
|
||||
run: |
|
||||
python3 -m venv /tmp/codegen_venv
|
||||
/tmp/codegen_venv/bin/pip install grpcio-tools pyyaml -q
|
||||
/tmp/codegen_venv/bin/python tools/run_codegen.py
|
||||
shell: bash
|
||||
- uses: flatpak/flatpak-github-actions/flatpak-builder@master
|
||||
with:
|
||||
bundle: OrcaSlicer-Linux-flatpak_${{ env.ver }}_${{ matrix.variant.arch }}.flatpak
|
||||
|
||||
20
.github/workflows/build_orca.yml
vendored
20
.github/workflows/build_orca.yml
vendored
@@ -50,26 +50,6 @@ jobs:
|
||||
useLocalCache: true # <--= Use the local cache (default is 'false').
|
||||
useCloudCache: true
|
||||
|
||||
- name: Install codegen tools and generate config sources
|
||||
run: |
|
||||
pip install grpcio-tools
|
||||
python tools/run_codegen.py
|
||||
if: runner.os == 'Windows'
|
||||
shell: pwsh
|
||||
|
||||
- name: Install codegen tools and generate config sources
|
||||
run: |
|
||||
if [ "$(uname)" = "Linux" ]; then
|
||||
pip3 install grpcio-tools pyyaml
|
||||
python3 tools/run_codegen.py
|
||||
else
|
||||
python3 -m venv /tmp/codegen_venv
|
||||
/tmp/codegen_venv/bin/pip install grpcio-tools pyyaml -q
|
||||
/tmp/codegen_venv/bin/python tools/run_codegen.py
|
||||
fi
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
|
||||
- name: Get the version and date on Ubuntu and macOS
|
||||
if: runner.os != 'Windows'
|
||||
run: |
|
||||
|
||||
65
.github/workflows/check_profiles.yml
vendored
65
.github/workflows/check_profiles.yml
vendored
@@ -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 }}
|
||||
@@ -61,18 +101,12 @@ jobs:
|
||||
./OrcaSlicer_profile_validator -p ${{ github.workspace }}/resources/profiles -l 2 2>&1 | tee ${{ runner.temp }}/validate_custom.log
|
||||
exit ${PIPESTATUS[0]}
|
||||
|
||||
- name: Prepare PR number for comment workflow
|
||||
if: ${{ always() && github.event_name == 'pull_request' }}
|
||||
- name: Prepare comment artifact
|
||||
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
|
||||
echo "${{ github.event.pull_request.number }}" > ${{ runner.temp }}/profile-check-results/pr_number.txt
|
||||
|
||||
- name: Prepare comment artifact
|
||||
if: ${{ always() && github.event_name == 'pull_request' && (steps.extra_json_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }}
|
||||
run: |
|
||||
{
|
||||
# Marker matched by check_profiles_comment.yml to delete prior comments.
|
||||
echo "<!-- profile-validation-comment -->"
|
||||
echo "## :x: Profile Validation Errors"
|
||||
echo ""
|
||||
|
||||
@@ -85,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 ""
|
||||
@@ -107,8 +150,10 @@ jobs:
|
||||
echo "*Please fix the above errors and push a new commit.*"
|
||||
} > ${{ runner.temp }}/profile-check-results/pr_comment.md
|
||||
|
||||
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' }}
|
||||
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
|
||||
@@ -116,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
|
||||
|
||||
30
.github/workflows/check_profiles_comment.yml
vendored
30
.github/workflows/check_profiles_comment.yml
vendored
@@ -10,19 +10,12 @@ on:
|
||||
|
||||
permissions:
|
||||
pull-requests: write
|
||||
# Needed to delete outdated bot comments via the issues/comments endpoint.
|
||||
issues: write
|
||||
|
||||
# Serialize handlers per source branch so parallel runs don't race delete-and-post.
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.workflow_run.head_repository.full_name }}-${{ github.event.workflow_run.head_branch }}
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
post_comment:
|
||||
name: Post PR comment
|
||||
runs-on: ubuntu-24.04
|
||||
if: ${{ github.event.workflow_run.event == 'pull_request' && (github.event.workflow_run.conclusion == 'success' || github.event.workflow_run.conclusion == 'failure') }}
|
||||
if: ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'failure' }}
|
||||
steps:
|
||||
- name: Download artifact
|
||||
id: download
|
||||
@@ -33,14 +26,14 @@ jobs:
|
||||
run-id: ${{ github.event.workflow_run.id }}
|
||||
github-token: ${{ github.token }}
|
||||
|
||||
- name: Update PR comment
|
||||
- name: Post comment on PR
|
||||
if: ${{ steps.download.outcome == 'success' }}
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
GH_REPO: ${{ github.repository }}
|
||||
run: |
|
||||
if [ ! -f pr_number.txt ]; then
|
||||
echo "No pr_number.txt in artifact, skipping."
|
||||
if [ ! -f pr_number.txt ] || [ ! -f pr_comment.md ]; then
|
||||
echo "No comment artifact found, skipping."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
@@ -50,17 +43,4 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Delete prior comments matching the marker (from check_profiles.yml) or the legacy heading.
|
||||
OLD_IDS=$(gh api --paginate "repos/${GH_REPO}/issues/${PR_NUMBER}/comments" \
|
||||
--jq '.[] | select(.user.login == "github-actions[bot]") | select((.body | startswith("<!-- profile-validation-comment -->")) or (.body | startswith("## :x: Profile Validation Errors"))) | .id')
|
||||
for comment_id in $OLD_IDS; do
|
||||
echo "Deleting outdated profile-validation comment ${comment_id}"
|
||||
gh api -X DELETE "repos/${GH_REPO}/issues/comments/${comment_id}" || true
|
||||
done
|
||||
|
||||
# Post a new comment only when validation failed (pr_comment.md present).
|
||||
if [ -f pr_comment.md ]; then
|
||||
gh pr comment "$PR_NUMBER" --body-file pr_comment.md
|
||||
else
|
||||
echo "Validation succeeded; cleaned up prior comments without posting."
|
||||
fi
|
||||
gh pr comment "$PR_NUMBER" --body-file pr_comment.md
|
||||
|
||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -45,7 +45,4 @@ test.js
|
||||
.clangd
|
||||
internal_docs/
|
||||
*.flatpak
|
||||
/flatpak-repo/
|
||||
config.desc
|
||||
tools/__pycache__/
|
||||
src/slic3r/GUI/generated/
|
||||
/flatpak-repo/
|
||||
@@ -721,6 +721,7 @@ foreach(po_file ${BBL_L10N_PO_FILES})
|
||||
add_custom_command(
|
||||
TARGET gettext_merge_po_with_pot PRE_BUILD
|
||||
COMMAND msgmerge -N -o ${po_file} ${po_file} "${BBL_L18N_DIR}/OrcaSlicer.pot"
|
||||
DEPENDS ${po_file}
|
||||
)
|
||||
endforeach()
|
||||
add_custom_target(gettext_po_to_mo
|
||||
@@ -736,6 +737,7 @@ foreach(po_file ${BBL_L10N_PO_FILES})
|
||||
TARGET gettext_po_to_mo PRE_BUILD
|
||||
COMMAND msgfmt ARGS --check-format -o ${mo_file} ${po_file}
|
||||
#COMMAND msgfmt ARGS --check-compatibility -o ${mo_file} ${po_file}
|
||||
DEPENDS ${po_file}
|
||||
)
|
||||
endforeach()
|
||||
|
||||
@@ -870,11 +872,6 @@ function(orcaslicer_copy_dlls target config postfix output_dlls)
|
||||
endfunction()
|
||||
|
||||
|
||||
# Config codegen — generates src/slic3r/GUI/generated/*.cpp from src/PrintConfigs/*.proto.
|
||||
# Must run before compiling libslic3r (PrintConfig.cpp #includes the generated files).
|
||||
# Requires: pip install grpcio-tools OR standalone protoc in PATH.
|
||||
include(cmake/modules/ConfigCodegen.cmake)
|
||||
|
||||
# libslic3r, OrcaSlicer GUI and the OrcaSlicer executable.
|
||||
add_subdirectory(deps_src)
|
||||
add_subdirectory(src)
|
||||
|
||||
@@ -545,10 +545,6 @@ if [[ -n "${BUILD_ORCA}" ]] || [[ -n "${BUILD_TESTS}" ]] ; then
|
||||
BUILD_ARGS+=(-DORCA_UPDATER_SIG_KEY="${ORCA_UPDATER_SIG_KEY}")
|
||||
fi
|
||||
|
||||
echo "Generating config sources from proto..."
|
||||
pip install grpcio-tools -q
|
||||
python3 tools/run_codegen.py || { echo "ERROR: config codegen failed"; exit 1; }
|
||||
|
||||
print_and_run cmake -S . -B $BUILD_DIR "${CMAKE_C_CXX_COMPILER_CLANG[@]}" "${CMAKE_LLD_LINKER_ARGS[@]}" "${CMAKE_CCACHE_ARGS[@]}" -G "Ninja Multi-Config" \
|
||||
-DSLIC3R_PCH=${SLIC3R_PRECOMPILED_HEADERS} \
|
||||
-DORCA_TOOLS=ON \
|
||||
|
||||
@@ -180,12 +180,6 @@ function pack_deps() {
|
||||
}
|
||||
|
||||
function build_slicer() {
|
||||
echo "Generating config sources from proto..."
|
||||
python3 -m venv /tmp/codegen_venv
|
||||
/tmp/codegen_venv/bin/pip install grpcio-tools pyyaml -q
|
||||
/tmp/codegen_venv/bin/python tools/run_codegen.py || { echo "ERROR: config codegen failed"; exit 1; }
|
||||
CODEGEN_PYTHON="/tmp/codegen_venv/bin/python3"
|
||||
|
||||
# iterate over two architectures: x86_64 and arm64
|
||||
for _ARCH in x86_64 arm64; do
|
||||
# if ARCH is universal or equal to _ARCH
|
||||
@@ -210,7 +204,6 @@ function build_slicer() {
|
||||
-DCMAKE_OSX_ARCHITECTURES="${_ARCH}" \
|
||||
-DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}" \
|
||||
-DCMAKE_IGNORE_PREFIX_PATH="${CMAKE_IGNORE_PREFIX_PATH}" \
|
||||
-DPython3_EXECUTABLE="${CODEGEN_PYTHON}" \
|
||||
${CMAKE_POLICY_COMPAT}
|
||||
fi
|
||||
cmake --build . --config "$BUILD_CONFIG" --target "$SLICER_BUILD_TARGET"
|
||||
|
||||
@@ -126,15 +126,6 @@ if "%1"=="deps" goto :done
|
||||
:slicer
|
||||
echo "building Orca Slicer..."
|
||||
cd %WP%
|
||||
|
||||
echo "generating config sources from proto..."
|
||||
pip install grpcio-tools -q
|
||||
python tools/run_codegen.py
|
||||
if errorlevel 1 (
|
||||
echo "ERROR: config codegen failed"
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
mkdir %build_dir%
|
||||
cd %build_dir%
|
||||
|
||||
|
||||
@@ -57,15 +57,6 @@ if "%1"=="deps" exit /b 0
|
||||
:slicer
|
||||
echo "building Orca Slicer..."
|
||||
cd %WP%
|
||||
|
||||
echo "generating config sources from proto..."
|
||||
pip install grpcio-tools -q
|
||||
python tools/run_codegen.py
|
||||
if errorlevel 1 (
|
||||
echo "ERROR: config codegen failed"
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
mkdir %build_dir%
|
||||
cd %build_dir%
|
||||
|
||||
|
||||
@@ -1,99 +0,0 @@
|
||||
# OrcaSlicer Config Codegen CMake Module
|
||||
#
|
||||
# Generates C++ source files from protobuf schema definitions.
|
||||
# Generated files live in src/slic3r/GUI/generated/ and are gitignored.
|
||||
# Run 'python tools/run_codegen.py' (requires grpcio-tools or protoc) to regenerate.
|
||||
#
|
||||
# Targets:
|
||||
# codegen_config - Custom target to regenerate C++ from .proto files
|
||||
# validate_config - Custom target to validate generated vs original
|
||||
#
|
||||
# Usage in parent CMakeLists.txt:
|
||||
# include(cmake/modules/ConfigCodegen.cmake)
|
||||
|
||||
find_program(PROTOC_EXECUTABLE protoc)
|
||||
find_package(Python3 COMPONENTS Interpreter QUIET)
|
||||
|
||||
# If generated files are missing (fresh clone), run codegen immediately at configure time.
|
||||
# This allows cmake configure + build to work without a separate pre-build step.
|
||||
set(_generated_marker "${CMAKE_SOURCE_DIR}/src/slic3r/GUI/generated/PrintConfigDef_generated.cpp")
|
||||
if(Python3_EXECUTABLE AND NOT EXISTS "${_generated_marker}")
|
||||
message(STATUS "Config codegen: generated files missing — running codegen now...")
|
||||
execute_process(
|
||||
COMMAND ${Python3_EXECUTABLE} "${CMAKE_SOURCE_DIR}/tools/run_codegen.py" --no-validate
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
RESULT_VARIABLE _codegen_result
|
||||
)
|
||||
if(NOT _codegen_result EQUAL 0)
|
||||
message(FATAL_ERROR "Config codegen failed. Install grpcio-tools: pip install grpcio-tools")
|
||||
endif()
|
||||
message(STATUS "Config codegen: generated files created successfully")
|
||||
elseif(NOT Python3_EXECUTABLE AND NOT EXISTS "${_generated_marker}")
|
||||
message(FATAL_ERROR "Config codegen: generated files missing and Python3 not found.\n"
|
||||
"Install Python and grpcio-tools: pip install grpcio-tools\n"
|
||||
"Then run: python tools/run_codegen.py")
|
||||
endif()
|
||||
|
||||
set(CONFIG_PROTO_DIR "${CMAKE_SOURCE_DIR}/src/PrintConfigs")
|
||||
set(CONFIG_CODEGEN_DIR "${CMAKE_SOURCE_DIR}/src/slic3r/GUI/generated")
|
||||
set(CONFIG_LAYOUT_YAML "${CMAKE_SOURCE_DIR}/src/PrintConfigs/layout.yaml")
|
||||
set(CONFIG_DESC_FILE "${CMAKE_BINARY_DIR}/config.desc")
|
||||
|
||||
set(CODEGEN_TOOL "${CMAKE_SOURCE_DIR}/tools/config_codegen.py")
|
||||
set(VALIDATE_TOOL "${CMAKE_SOURCE_DIR}/tools/validate_codegen.py")
|
||||
set(RUN_CODEGEN_TOOL "${CMAKE_SOURCE_DIR}/tools/run_codegen.py")
|
||||
|
||||
# Generated output files (TabLayout_generated.cpp is also generated from layout.yaml)
|
||||
set(CONFIG_GENERATED_SOURCES
|
||||
"${CONFIG_CODEGEN_DIR}/PrintConfigDef_generated.cpp"
|
||||
"${CONFIG_CODEGEN_DIR}/Preset_options_generated.cpp"
|
||||
"${CONFIG_CODEGEN_DIR}/Invalidation_generated.cpp"
|
||||
"${CONFIG_CODEGEN_DIR}/OptionKeys_generated.cpp"
|
||||
"${CONFIG_CODEGEN_DIR}/TabLayout_generated.cpp"
|
||||
)
|
||||
|
||||
# Collect all .proto source files (flat in src/PrintConfigs/, excluding config_metadata.proto)
|
||||
file(GLOB CONFIG_PROTO_FILES
|
||||
"${CONFIG_PROTO_DIR}/filament.proto"
|
||||
"${CONFIG_PROTO_DIR}/print.proto"
|
||||
"${CONFIG_PROTO_DIR}/printer.proto"
|
||||
)
|
||||
set(CONFIG_PROTO_FILES
|
||||
"${CONFIG_PROTO_DIR}/config_metadata.proto"
|
||||
${CONFIG_PROTO_FILES}
|
||||
)
|
||||
|
||||
if(Python3_EXECUTABLE)
|
||||
# Single command: run_codegen.py handles protoc/grpcio-tools detection internally.
|
||||
# Proto files → generated .cpp files. Runs automatically when any .proto changes.
|
||||
add_custom_command(
|
||||
OUTPUT ${CONFIG_GENERATED_SOURCES}
|
||||
COMMAND ${Python3_EXECUTABLE} ${RUN_CODEGEN_TOOL} --no-validate
|
||||
DEPENDS ${CONFIG_PROTO_FILES} ${CONFIG_LAYOUT_YAML} ${CODEGEN_TOOL}
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
COMMENT "Re-generating config C++ from changed .proto files"
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
# codegen_config is part of ALL — runs before every build, checks if protos changed.
|
||||
add_custom_target(codegen_config ALL
|
||||
DEPENDS ${CONFIG_GENERATED_SOURCES}
|
||||
COMMENT "Config codegen up to date"
|
||||
)
|
||||
|
||||
# Validation target: cmake --build . --target validate_config
|
||||
add_custom_target(validate_config
|
||||
COMMAND ${Python3_EXECUTABLE} ${VALIDATE_TOOL}
|
||||
DEPENDS ${CONFIG_GENERATED_SOURCES}
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
COMMENT "Validating generated config code against PrintConfig.cpp"
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
# Export for use by subdirectories (libslic3r, etc.)
|
||||
set(CONFIG_GENERATED_SOURCES "${CONFIG_GENERATED_SOURCES}" CACHE INTERNAL "Generated config cpp files")
|
||||
|
||||
message(STATUS "Config codegen: enabled — proto changes auto-regenerate on next build")
|
||||
else()
|
||||
message(STATUS "Config codegen: Python3 not found — run: pip install grpcio-tools && python tools/run_codegen.py")
|
||||
endif()
|
||||
6
deps/Eigen/Eigen.cmake
vendored
6
deps/Eigen/Eigen.cmake
vendored
@@ -1,11 +1,5 @@
|
||||
set(_eigen_extra_flags "")
|
||||
if (MSVC)
|
||||
set(_eigen_extra_flags "-DCMAKE_CXX_FLAGS:STRING=/bigobj")
|
||||
endif ()
|
||||
|
||||
orcaslicer_add_cmake_project(Eigen
|
||||
URL https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip
|
||||
URL_HASH SHA256=0dbb1f9e3aaad66f352c03227d8c983f6f0b49e0b07e71a7300f4abcc01aee12
|
||||
CMAKE_ARGS "${_eigen_extra_flags}"
|
||||
DEPENDS dep_Boost dep_GMP dep_MPFR
|
||||
)
|
||||
|
||||
@@ -1,490 +0,0 @@
|
||||
# PrintConfig Codegen — Design Document
|
||||
|
||||
## 1. Problem Statement
|
||||
|
||||
Every config setting in OrcaSlicer (e.g. `travel_speed`, `wipe_distance`) is independently maintained as string literals across ~12 locations in the codebase with zero compile-time validation linking them.
|
||||
|
||||
A single setting like `wipe_distance` appears in:
|
||||
|
||||
| # | Location | What's duplicated |
|
||||
|---|----------|-------------------|
|
||||
| 1 | `PrintConfig.cpp` `init_fff_params()` | Key, type, label, tooltip, default, constraints |
|
||||
| 2 | `PrintConfig.hpp` struct members | Type + member name (must match key string) |
|
||||
| 3 | `Preset.cpp` option lists | Key string in serialization lists |
|
||||
| 4 | `PrintConfig.cpp` extruder/filament lists | Key string in 4 sub-lists |
|
||||
| 5 | `PrintConfig.cpp` variant option sets | Key string in variant sets |
|
||||
| 6 | `Print.cpp` invalidation chains | `opt_key == "..."` checks |
|
||||
| 7 | `Tab.cpp` GUI layout | `append_single_option_line("key")` |
|
||||
| 8 | GUI files (`Field.cpp`, `OptionsGroup.cpp`) | `opt_key == "..."` special-case handling |
|
||||
| 9 | `PrintConfig.cpp` `handle_legacy()` | Old-to-new key name mapping |
|
||||
| 10 | `PrintConfig.cpp` `new_def` G-code placeholders | Re-declared type, label, tooltip |
|
||||
| 11 | `resources/profiles/*.json` | Key strings as JSON keys |
|
||||
|
||||
### Consequences
|
||||
|
||||
- Adding a new setting requires editing ~12 files manually
|
||||
- A typo in any one location causes a silent bug (no compile-time validation)
|
||||
- Print providers cannot add/customize settings without forking the C++ codebase
|
||||
- No cross-language tooling (Python scripts, web editors) can consume the schema
|
||||
- No build-time validation of profile JSONs against the canonical option list
|
||||
|
||||
---
|
||||
|
||||
## 2. Goals
|
||||
|
||||
- **Single source of truth** for all setting definitions
|
||||
- **Compile-time safety** against key mismatches across the codebase
|
||||
- **Adding a new setting = editing 1 file** (instead of ~12)
|
||||
- **Enable print providers** to customize settings (defaults, constraints, visibility) without C++ changes
|
||||
- **Cross-language API generation** (Python, TypeScript, JSON Schema)
|
||||
- **Build-time validation** of profile JSONs
|
||||
- **Hidden mode** — setting exists in config/serialization but is not shown in UI
|
||||
- **Disabled mode** — setting shown in UI but greyed out / non-editable
|
||||
- **Automated UI layout** — new settings with GUI annotations appear in UI without manual `Tab.cpp` edits
|
||||
|
||||
### Non-goals
|
||||
|
||||
- Runtime performance changes (slicing engine untouched)
|
||||
- Changing the `.3mf` wire format (cereal/JSON serialization preserved)
|
||||
|
||||
---
|
||||
|
||||
## 3. Current Architecture
|
||||
|
||||
### 3.1 Type System
|
||||
|
||||
`Config.hpp` defines ~15 `ConfigOptionType` variants:
|
||||
|
||||
```cpp
|
||||
coFloat, coInt, coBool, coString, coPercent, coFloatOrPercent,
|
||||
coPoint, coPoint3, coEnum,
|
||||
coFloats, coInts, coBools, coStrings, coPercents, coFloatsOrPercents,
|
||||
coPoints, coEnums
|
||||
```
|
||||
|
||||
Each has a corresponding C++ class (`ConfigOptionFloat`, `ConfigOptionBools`, etc.) with virtual `serialize()`/`deserialize()` methods:
|
||||
|
||||
```cpp
|
||||
class ConfigOption {
|
||||
virtual ConfigOptionType type() const = 0;
|
||||
virtual std::string serialize() const = 0;
|
||||
virtual bool deserialize(const std::string &str, bool append = false) = 0;
|
||||
virtual ConfigOption* clone() const = 0;
|
||||
// ...
|
||||
};
|
||||
|
||||
class ConfigOptionFloat : public ConfigOptionSingle<double> {
|
||||
ConfigOptionType type() const override { return coFloat; }
|
||||
std::string serialize() const override { /* double -> string */ }
|
||||
bool deserialize(const std::string &str, bool append) override { /* string -> double */ }
|
||||
};
|
||||
```
|
||||
|
||||
### 3.2 Definition Layer
|
||||
|
||||
`ConfigOptionDef` holds all metadata for one setting:
|
||||
|
||||
```
|
||||
opt_key, type, nullable, default_value,
|
||||
label, full_label, category, tooltip, sidetext,
|
||||
mode (Simple/Advanced/Develop),
|
||||
min, max, max_literal, ratio_over,
|
||||
gui_type, multiline, full_width, height,
|
||||
enum_values, enum_labels, enum_keys_map,
|
||||
aliases, shortcut
|
||||
```
|
||||
|
||||
All ~500 settings are registered in `PrintConfigDef::init_fff_params()` (~6000 lines) into the global `print_config_def` singleton. Each registration block:
|
||||
|
||||
```cpp
|
||||
def = this->add("bridge_flow", coFloat); // register key + type
|
||||
def->label = L("Bridge flow ratio"); // UI label
|
||||
def->category = L("Quality"); // tab category
|
||||
def->tooltip = L("..."); // tooltip
|
||||
def->min = 0; // constraint
|
||||
def->max = 2.0; // constraint
|
||||
def->mode = comAdvanced; // visibility mode
|
||||
def->set_default_value(new ConfigOptionFloat(1)); // default
|
||||
```
|
||||
|
||||
### 3.3 Storage Layer
|
||||
|
||||
Two parallel systems:
|
||||
|
||||
**StaticPrintConfig** — compiled-in struct fields via `PRINT_CONFIG_CLASS_DEFINE` macro. Name-to-byte-offset cache. Used in the slicing engine for direct member access (performance-critical).
|
||||
|
||||
**DynamicPrintConfig** — `std::map<string, ConfigOptionUniquePtr>`. Used in GUI and for diff/apply operations.
|
||||
|
||||
Class hierarchy:
|
||||
|
||||
```
|
||||
FullPrintConfig
|
||||
├── PrintObjectConfig (~120 fields)
|
||||
├── PrintRegionConfig (~80 fields)
|
||||
└── PrintConfig
|
||||
├── MachineEnvelopeConfig (~25 fields)
|
||||
└── GCodeConfig (~80 fields)
|
||||
```
|
||||
|
||||
### 3.4 Serialization
|
||||
|
||||
- **JSON presets**: `ConfigBase::save_to_json()` / `load_from_json()` — iterates option keys, calls `opt->serialize()` to string, writes JSON key-value pairs
|
||||
- **Binary .3mf**: cereal archives via `load_option_from_archive()` / `save_option_to_archive()`
|
||||
- Both formats use the same string keys as identifiers
|
||||
|
||||
### 3.5 Invalidation
|
||||
|
||||
`Print::invalidate_state_by_config_options()` contains large `opt_key == "..."` chains that classify each changed option key into pipeline steps to invalidate:
|
||||
|
||||
```
|
||||
posSlice, posPerimeters, posInfill, posSupportMaterial,
|
||||
psGCodeExport, psSkirtBrim, psWipeTower
|
||||
```
|
||||
|
||||
### 3.6 GUI Binding
|
||||
|
||||
- `Tab.cpp` builds UI via `append_single_option_line("key_name")` — looks up `ConfigOptionDef` from `print_config_def`, auto-creates the appropriate widget
|
||||
- `ConfigManipulation.cpp` contains `toggle_print_fff_options()` — imperative logic that reads config values and toggles field visibility
|
||||
|
||||
|
||||
## 4. Proposed Solution
|
||||
|
||||
### 4.1 Architecture
|
||||
|
||||
Protobuf as schema + codegen, NOT a runtime replacement.
|
||||
|
||||
```
|
||||
┌─────────────────────┐ ┌──────────────────────────────┐
|
||||
│ src/PrintConfigs/ │ codegen │ PrintConfigDef_generated.cpp │ done
|
||||
│ *.proto │ ──────────────> │ Preset_options_generated.cpp │ done
|
||||
│ layout.yaml │ │ Invalidation_generated.cpp │ done
|
||||
│ │ │ OptionKeys_generated.cpp │ done
|
||||
└─────────────────────┘ │ PrintConfig_generated.hpp │ future
|
||||
│ TabLayout_generated.cpp │ future
|
||||
└──────────────────────────────┘
|
||||
```
|
||||
|
||||
### 4.2 Proto Schema Design
|
||||
|
||||
#### 4.2.1 Custom Field Options
|
||||
|
||||
`src/PrintConfigs/config_metadata.proto` defines custom extensions covering all `ConfigOptionDef` metadata:
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
import "google/protobuf/descriptor.proto";
|
||||
package orca;
|
||||
|
||||
enum ConfigMode {
|
||||
MODE_SIMPLE = 0;
|
||||
MODE_ADVANCED = 1;
|
||||
MODE_DEVELOP = 2;
|
||||
}
|
||||
|
||||
enum PresetType {
|
||||
PRESET_PRINT = 0;
|
||||
PRESET_FILAMENT = 1;
|
||||
PRESET_PRINTER = 2;
|
||||
}
|
||||
|
||||
enum InvalidationStep {
|
||||
STEP_GCODE_EXPORT = 0;
|
||||
STEP_SKIRT_BRIM = 1;
|
||||
STEP_WIPE_TOWER = 2;
|
||||
STEP_SLICE = 3;
|
||||
STEP_PERIMETERS = 4;
|
||||
STEP_INFILL = 5;
|
||||
STEP_SUPPORT = 6;
|
||||
STEP_NONE = 7;
|
||||
}
|
||||
|
||||
enum OptionListMembership {
|
||||
LIST_NONE = 0;
|
||||
LIST_EXTRUDER_OPTION_KEYS = 1;
|
||||
LIST_FILAMENT_OPTION_KEYS = 2;
|
||||
LIST_VARIANT_OPTION_KEYS = 3;
|
||||
}
|
||||
|
||||
extend google.protobuf.FieldOptions {
|
||||
// Display metadata
|
||||
string label = 50001;
|
||||
string full_label = 50002;
|
||||
string tooltip = 50003;
|
||||
string category = 50004;
|
||||
string sidetext = 50005;
|
||||
|
||||
// Numeric constraints
|
||||
double min_value = 50006;
|
||||
double max_value = 50007;
|
||||
double max_literal = 50008;
|
||||
|
||||
// UI behavior
|
||||
ConfigMode mode = 50009;
|
||||
string ratio_over = 50010;
|
||||
bool multiline = 50013;
|
||||
bool full_width = 50014;
|
||||
int32 height = 50015;
|
||||
|
||||
// Classification
|
||||
PresetType preset = 50011;
|
||||
repeated InvalidationStep invalidates = 50012;
|
||||
repeated OptionListMembership list_membership = 50018;
|
||||
|
||||
// Migration
|
||||
string legacy_name = 50016;
|
||||
|
||||
// Nullable support (for ConfigOptionFloatsNullable, etc.)
|
||||
bool is_nullable = 50017;
|
||||
|
||||
// GUI type override (e.g. "i_enum_open", "color", "f_enum_open")
|
||||
string gui_type = 50019;
|
||||
string gui_flags = 50020;
|
||||
|
||||
// Enum metadata
|
||||
string enum_keys_map_ref = 50021;
|
||||
bool no_cli = 50022;
|
||||
bool readonly = 50023;
|
||||
|
||||
// C++ codegen hints
|
||||
string co_type_hint = 50024;
|
||||
|
||||
// Default value — constructor args only (e.g. "1.0", "5000.0, 5000.0")
|
||||
// Codegen reconstructs full C++ from co_type + this value
|
||||
string default_value = 50025;
|
||||
bool has_default = 50028; // proto3 can't distinguish empty string from unset
|
||||
|
||||
// Enum values and labels
|
||||
repeated string enum_value_entries = 50026;
|
||||
repeated string enum_label_entries = 50027;
|
||||
}
|
||||
|
||||
extend google.protobuf.MessageOptions {
|
||||
// Virtual preset keys: keys that belong to this preset type in Preset.cpp
|
||||
// option lists but have no ConfigOptionDef entry (printer identity fields,
|
||||
// host/connectivity settings, filament retraction overrides, compatibility
|
||||
// flags, cross-preset keys). The codegen emits these directly into the
|
||||
// s_Preset_*_options array alongside the field-derived keys.
|
||||
// To add a virtual key: add one option line here and re-run codegen.
|
||||
repeated string virtual_preset_keys = 60001;
|
||||
}
|
||||
```
|
||||
|
||||
#### 4.2.2 Setting Files
|
||||
|
||||
Settings are split into three `.proto` files by preset type. Each setting becomes a proto field with annotations:
|
||||
|
||||
| File | Contents |
|
||||
|------|----------|
|
||||
| `src/PrintConfigs/generated/print.proto` | ~477 print/process settings |
|
||||
| `src/PrintConfigs/generated/filament.proto` | ~103 filament settings |
|
||||
| `src/PrintConfigs/generated/printer.proto` | ~42 printer settings |
|
||||
|
||||
Each file also carries message-level `virtual_preset_keys` declarations (see §5.2.3).
|
||||
|
||||
Example field:
|
||||
|
||||
```protobuf
|
||||
float travel_speed = 42 [
|
||||
(label) = "Travel",
|
||||
(tooltip) = "Speed of travel which is faster and without extrusion.",
|
||||
(sidetext) = "mm/s",
|
||||
(min_value) = 1,
|
||||
(mode) = MODE_ADVANCED,
|
||||
(preset) = PRESET_PRINT,
|
||||
(has_default) = true,
|
||||
(default_value) = "200",
|
||||
(invalidates) = STEP_GCODE_EXPORT
|
||||
];
|
||||
```
|
||||
|
||||
#### 4.2.3 Virtual Preset Keys
|
||||
|
||||
The `s_Preset_*_options` vectors in `Preset.cpp` need to include keys beyond those with `ConfigOptionDef` entries — for example, printer identity fields (`printer_technology`, `printable_area`), connectivity settings (`host_type`, `print_host`), filament retraction overrides (`filament_retraction_length`, `filament_z_hop`, …), and cross-preset keys that belong to multiple preset types.
|
||||
|
||||
These are declared directly in the `.proto` message body using the `virtual_preset_keys` message option:
|
||||
|
||||
```protobuf
|
||||
message PrinterSettings {
|
||||
|
||||
// Virtual keys (not in PrintConfigDef)
|
||||
option (virtual_preset_keys) = "printer_technology";
|
||||
option (virtual_preset_keys) = "printable_area";
|
||||
option (virtual_preset_keys) = "host_type";
|
||||
option (virtual_preset_keys) = "print_host";
|
||||
// ... etc
|
||||
|
||||
// Cross-preset keys (defined in print.proto, also saved in printer presets)
|
||||
option (virtual_preset_keys) = "single_extruder_multi_material";
|
||||
option (virtual_preset_keys) = "wipe_tower_type";
|
||||
// ... etc
|
||||
|
||||
float extruder_clearance_height_to_rod = 1 [ ... ];
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
The codegen reads these and merges them (deduplicated, sorted) with the field-derived keys into the generated `s_Preset_printer_options` vector. No hand-written extender struct in `Preset.cpp` is needed.
|
||||
|
||||
#### 4.2.4 Type Mapping
|
||||
|
||||
| C++ Type | Proto Representation | Notes |
|
||||
|---|---|---|
|
||||
| `ConfigOptionFloat` | `float field = N` | |
|
||||
| `ConfigOptionInt` | `int32 field = N` | |
|
||||
| `ConfigOptionBool` | `bool field = N` | |
|
||||
| `ConfigOptionString` | `string field = N` | |
|
||||
| `ConfigOptionFloats` | `repeated float field = N` | Per-extruder vectors |
|
||||
| `ConfigOptionInts` | `repeated int32 field = N` | |
|
||||
| `ConfigOptionBools` | `repeated bool field = N` | |
|
||||
| `ConfigOptionStrings` | `repeated string field = N` | |
|
||||
| `ConfigOptionPercent` | `float field = N` | `(co_type_hint) = "coPercent"` |
|
||||
| `ConfigOptionPercents` | `repeated float field = N` | `(co_type_hint) = "coPercents"` |
|
||||
| `ConfigOptionFloatOrPercent` | `FloatOrPercent field = N` | Custom wrapper message |
|
||||
| `ConfigOptionEnum<T>` | `int32 field = N` | `(co_type_hint) = "coEnum"` + `(enum_keys_map_ref)` |
|
||||
| `ConfigOptionPoint` | `Point2D field = N` | Custom wrapper message |
|
||||
| `ConfigOptionFloatsNullable` | `repeated float field = N` | `(is_nullable) = true` |
|
||||
|
||||
#### 4.2.5 UI Layout File
|
||||
|
||||
`src/PrintConfigs/layout.yaml` declares the UI tab/page/group structure used by `Tab.cpp`. It lists field names in display order under their respective groups. The codegen will eventually use this to generate `TabLayout_generated.cpp` (future phase).
|
||||
|
||||
### 4.3 Code Generator Outputs
|
||||
|
||||
| Output | Replaces | Status |
|
||||
|---|---|---|
|
||||
| `PrintConfigDef_generated.cpp` | `init_fff_params()` body (~6000 lines) | Done |
|
||||
| `Preset_options_generated.cpp` | `s_Preset_*_options` string vectors | Done |
|
||||
| `Invalidation_generated.cpp` | `opt_key ==` chains in `Print.cpp` | Done |
|
||||
| `OptionKeys_generated.cpp` | Extruder/filament key lists | Done |
|
||||
| `PrintConfig_generated.hpp` | `PRINT_CONFIG_CLASS_DEFINE` macro blocks | Future |
|
||||
| `TabLayout_generated.cpp` | `append_single_option_line()` calls in `Tab.cpp` | Future |
|
||||
|
||||
### 4.4 CMake Integration
|
||||
|
||||
```cmake
|
||||
add_custom_command(
|
||||
OUTPUT ${GENERATED_SOURCES}
|
||||
COMMAND protoc --descriptor_set_out=config.desc src/PrintConfigs/generated/*.proto
|
||||
COMMAND python3 tools/config_codegen.py config.desc ${GENERATED_DIR}
|
||||
DEPENDS src/PrintConfigs/generated/*.proto tools/config_codegen.py
|
||||
)
|
||||
```
|
||||
|
||||
Generated files are checked into the repo (not gitignored) so builds work without `protoc`. CI validates that committed generated files match what the generator produces.
|
||||
|
||||
### 4.5 Provider Customization
|
||||
|
||||
Providers ship an overlay file alongside their existing JSON profiles:
|
||||
|
||||
```yaml
|
||||
# resources/profiles/Creality/settings_overlay.yaml
|
||||
overrides:
|
||||
travel_speed:
|
||||
max_value: 600
|
||||
default: 300
|
||||
travel_speed_z:
|
||||
mode: hidden # not relevant for this printer
|
||||
firmware_retraction:
|
||||
mode: disabled # shown but locked — firmware handles this
|
||||
custom_options:
|
||||
- key: creality_vibration_compensation
|
||||
type: bool
|
||||
label: "Vibration Compensation"
|
||||
default: true
|
||||
category: "Quality"
|
||||
mode: advanced
|
||||
gui_page: "Quality"
|
||||
gui_group: "Other"
|
||||
```
|
||||
|
||||
Custom options get field numbers > 1000 to avoid conflicts.
|
||||
|
||||
---
|
||||
|
||||
## 5. What Changes vs. What Stays
|
||||
|
||||
### Changes (generated from proto)
|
||||
|
||||
| Artifact | Current | After | Status |
|
||||
|---|---|---|---|
|
||||
| `init_fff_params()` body (~6000 lines) | Hand-written C++ | `#include` of generated file | Done |
|
||||
| `s_Preset_*_options` lists | Hand-written string vectors | Generated from `(preset)` + `virtual_preset_keys` | Done |
|
||||
| `invalidate_state_by_config_options()` | Hand-written `opt_key ==` chains | Generated map lookup | Done |
|
||||
| Extruder/filament key lists | Hand-written string vectors | Generated from `(list_membership)` | Done |
|
||||
| `PRINT_CONFIG_CLASS_DEFINE` blocks in `.hpp` | Hand-written macros | Generated from `.proto` | Future |
|
||||
| `Tab.cpp` `append_single_option_line()` layout | Hand-written per-setting calls | Generated from `layout.yaml` + `(tab_*)` annotations | Future |
|
||||
|
||||
### Stays manual (NOT generated)
|
||||
|
||||
| Component | Reason |
|
||||
|---|---|
|
||||
| Conditional visibility (`toggle_print_fff_options`) | Complex runtime logic depending on config values; cannot be declaratively expressed |
|
||||
| Custom GUI rendering (`Field.cpp`, `OptionsGroup.cpp`) | Case-specific widget behavior (color pickers, special enums) |
|
||||
| `handle_legacy()` | Migration logic; partially automatable via `(legacy_name)` but complex transforms stay manual |
|
||||
| Enum C++ maps (top of `PrintConfig.cpp`) | Could eventually generate from proto enums |
|
||||
|
||||
---
|
||||
|
||||
## 6. Developer Workflow
|
||||
|
||||
### Adding a new setting
|
||||
|
||||
1. Add a field to the appropriate `.proto` file (`print.proto`, `filament.proto`, or `printer.proto`) with all relevant annotations
|
||||
2. Run `python tools/run_codegen.py`
|
||||
3. Commit the `.proto` change and the updated generated files together
|
||||
|
||||
### Adding a virtual preset key
|
||||
|
||||
Virtual keys are preset option keys that have no `ConfigOptionDef` (printer identity fields, connectivity settings, etc.) or that exist in one preset type's proto but also need to appear in another preset's options list.
|
||||
|
||||
1. Add `option (virtual_preset_keys) = "key_name";` in the appropriate `.proto` message body
|
||||
2. Run `python tools/run_codegen.py`
|
||||
|
||||
### Running the codegen pipeline manually
|
||||
|
||||
```bash
|
||||
# Full pipeline: compile protos → generate C++ → validate
|
||||
python tools/run_codegen.py
|
||||
|
||||
# Validate only (check generated files are up to date)
|
||||
python tools/run_codegen.py --validate-only
|
||||
|
||||
# Inject invalidation/list-membership annotations from Print.cpp / PrintConfig.cpp
|
||||
python tools/annotate_protos.py [--dry-run]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7. File Layout
|
||||
|
||||
```
|
||||
src/PrintConfigs/
|
||||
├── config_metadata.proto # Custom field/message option extensions
|
||||
├── layout.yaml # UI tab/page/group structure (Tab.cpp layout)
|
||||
└── generated/
|
||||
├── print.proto # ~477 print/process settings
|
||||
├── filament.proto # ~103 filament settings
|
||||
└── printer.proto # ~42 printer/machine settings
|
||||
|
||||
tools/
|
||||
├── parse_printconfig.py # Bootstrap: PrintConfig.cpp → .proto
|
||||
├── config_codegen.py # Proto descriptor → C++ codegen
|
||||
├── validate_codegen.py # Generated vs original validation
|
||||
├── run_codegen.py # Full pipeline script
|
||||
├── annotate_protos.py # Inject (invalidates)/(list_membership) from C++
|
||||
├── move_proto_fields.py # Utility: move fields between proto files
|
||||
└── config_metadata_pb2.py # Generated Python bindings for extensions
|
||||
|
||||
codegen/
|
||||
└── generated/
|
||||
├── PrintConfigDef_generated.cpp # init_fff_params() body — #included by PrintConfig.cpp
|
||||
├── Preset_options_generated.cpp # s_Preset_*_options — #included by Preset.cpp
|
||||
├── Invalidation_generated.cpp # s_print_steps_map + s_object_steps_map — #included by Print.cpp
|
||||
└── OptionKeys_generated.cpp # s_extruder_option_keys, s_filament_option_keys
|
||||
|
||||
cmake/modules/
|
||||
└── ConfigCodegen.cmake # CMake integration (build-time regeneration)
|
||||
|
||||
docs/
|
||||
└── PrintConfig_Codegen_Design.md # This design document
|
||||
```
|
||||
@@ -122,7 +122,7 @@ msgid "On highlighted overhangs only"
|
||||
msgstr "Nur an hervorgehobenen Überhängen"
|
||||
|
||||
msgid "Erase all"
|
||||
msgstr "Alles löschen"
|
||||
msgstr ""
|
||||
|
||||
msgid "Highlight overhang areas"
|
||||
msgstr "Bereiche mit Überhang hervorheben"
|
||||
@@ -350,10 +350,10 @@ msgid "Fixed step drag"
|
||||
msgstr "Fester Schritt ziehen"
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr "Kontextmenü"
|
||||
msgstr ""
|
||||
|
||||
msgid "Toggle Auto-Drop"
|
||||
msgstr "Automatisches Absenken umschalten"
|
||||
msgstr ""
|
||||
|
||||
msgid "Single sided scaling"
|
||||
msgstr "Einseitige Skalierung"
|
||||
@@ -509,10 +509,10 @@ msgid "Multiple"
|
||||
msgstr "Mehrere"
|
||||
|
||||
msgid "Count"
|
||||
msgstr "Anzahl"
|
||||
msgstr ""
|
||||
|
||||
msgid "Gap"
|
||||
msgstr "Spalt"
|
||||
msgstr ""
|
||||
|
||||
msgid "Spacing"
|
||||
msgstr "Abstand"
|
||||
@@ -883,7 +883,7 @@ msgid "Advanced"
|
||||
msgstr "Erweiterte Einstellungen"
|
||||
|
||||
msgid "Reset all options except the text and operation"
|
||||
msgstr "Alle Optionen außer dem Text und der Operation zurücksetzen"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"The text cannot be written using the selected font. Please try choosing a "
|
||||
@@ -1805,16 +1805,16 @@ msgid "Info"
|
||||
msgstr "Info"
|
||||
|
||||
msgid "Loading printer & filament profiles"
|
||||
msgstr "Lade Drucker- und Filamentprofile"
|
||||
msgstr ""
|
||||
|
||||
msgid "Creating main window"
|
||||
msgstr "Erstelle Hauptfenster"
|
||||
msgstr ""
|
||||
|
||||
msgid "Loading current preset"
|
||||
msgstr "Lade aktuelles Preset"
|
||||
msgstr ""
|
||||
|
||||
msgid "Showing main window"
|
||||
msgstr "Zeige Hauptfenster"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"The OrcaSlicer configuration file may be corrupted and cannot be parsed.\n"
|
||||
@@ -1897,12 +1897,9 @@ msgid ""
|
||||
"Please check your network connectivity\n"
|
||||
"(HTTP %u)"
|
||||
msgstr ""
|
||||
"Verbindung zu OrcaCloud fehlgeschlagen.\n"
|
||||
"Bitte überprüfen Sie Ihre Netzwerkverbindung\n"
|
||||
"(HTTP %u)"
|
||||
|
||||
msgid "Cloud Error"
|
||||
msgstr "Cloud-Fehler"
|
||||
msgstr ""
|
||||
|
||||
msgid "Retrieving printer information, please try again later."
|
||||
msgstr "Empfange Druckerinformationen, bitte später erneut versuchen."
|
||||
@@ -6103,13 +6100,13 @@ msgid "Export"
|
||||
msgstr "Exportieren"
|
||||
|
||||
msgid "Sync Presets"
|
||||
msgstr "Presets synchronisieren"
|
||||
msgstr ""
|
||||
|
||||
msgid "Pull and apply the latest presets from OrcaCloud"
|
||||
msgstr "Die neuesten Presets von OrcaCloud abrufen und anwenden"
|
||||
msgstr ""
|
||||
|
||||
msgid "You must be logged in to sync presets from cloud."
|
||||
msgstr "Sie müssen angemeldet sein, um Presets aus der Cloud zu synchronisieren."
|
||||
msgstr ""
|
||||
|
||||
msgid "Quit"
|
||||
msgstr "Beenden"
|
||||
@@ -6239,7 +6236,7 @@ msgid "Preset Bundle"
|
||||
msgstr "Vorlagen-Bundle"
|
||||
|
||||
msgid "Syncing presets from cloud…"
|
||||
msgstr "Synchronisiere Presets aus der Cloud…"
|
||||
msgstr ""
|
||||
|
||||
msgid "Help"
|
||||
msgstr "Hilfe"
|
||||
@@ -8944,25 +8941,25 @@ msgid "If enabled, reverses the direction of zoom with mouse wheel."
|
||||
msgstr "Wenn aktiviert, wird die Richtung des Zooms mit dem Mausrad umgekehrt."
|
||||
|
||||
msgid "Pan"
|
||||
msgstr "Schwenken"
|
||||
msgstr ""
|
||||
|
||||
msgid "Left Mouse Drag"
|
||||
msgstr "Linke Maustaste drücken"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set the action that dragging the left mouse button should perform."
|
||||
msgstr "Legen Sie die Aktion fest, die das Ziehen der linken Maustaste ausführen soll."
|
||||
msgstr ""
|
||||
|
||||
msgid "Middle Mouse Drag"
|
||||
msgstr "Mittlere Maustaste drücken"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set the action that dragging the middle mouse button should perform."
|
||||
msgstr "Legen Sie die Aktion fest, die das Ziehen der mittleren Maustaste ausführen soll."
|
||||
msgstr ""
|
||||
|
||||
msgid "Right Mouse Drag"
|
||||
msgstr "Rechte Maustaste drücken"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set the action that dragging the right mouse button should perform."
|
||||
msgstr "Legen Sie die Aktion fest, die das Ziehen der rechten Maustaste ausführen soll."
|
||||
msgstr ""
|
||||
|
||||
msgid "Clear my choice on..."
|
||||
msgstr "Meine Auswahl löschen bei ..."
|
||||
@@ -8989,13 +8986,13 @@ msgstr ""
|
||||
"der Datei."
|
||||
|
||||
msgid "Graphics"
|
||||
msgstr "Grafik"
|
||||
msgstr ""
|
||||
|
||||
msgid "Anti-aliasing"
|
||||
msgstr "Kantenglättung"
|
||||
msgstr ""
|
||||
|
||||
msgid "MSAA Multiplier"
|
||||
msgstr "MSAA-Multiplikator"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Set the Multi-Sample Anti-Aliasing level.\n"
|
||||
@@ -9007,19 +9004,12 @@ msgid ""
|
||||
"\n"
|
||||
"Requires application restart."
|
||||
msgstr ""
|
||||
"Stellen Sie die Stufe der Multi-Sample-Kantenglättung ein.\n"
|
||||
"Höhere Werte führen zu glatteren Kanten, aber die Auswirkungen auf die "
|
||||
"Leistung sind exponentiell.\n"
|
||||
"Niedrigere Werte verbessern die Leistung auf Kosten von gezackten Kanten.\n"
|
||||
"Wenn deaktiviert, wird empfohlen, FXAA zu aktivieren, um gezackte Kanten mit minimalen Auswirkungen auf die Leistung zu reduzieren.\n"
|
||||
"\n"
|
||||
"Erfordert einen Neustart der Anwendung."
|
||||
|
||||
msgid "Disabled"
|
||||
msgstr "Deaktiviert"
|
||||
|
||||
msgid "FXAA post-processing"
|
||||
msgstr "FXAA-Nachbearbeitung"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Applies Fast Approximate Anti-Aliasing as a screen-space pass.\n"
|
||||
@@ -9027,34 +9017,26 @@ msgid ""
|
||||
"\n"
|
||||
"Takes effect immediately."
|
||||
msgstr ""
|
||||
"Führt Fast Approximate Anti-Aliasing als Bildschirmraum-Pass aus.\n"
|
||||
"Nützlich, um die MSAA-Einstellung zu deaktivieren oder zu reduzieren, um die Leistung zu verbessern.\n"
|
||||
"\n"
|
||||
"ist sofort wirksam"
|
||||
|
||||
msgid "FPS"
|
||||
msgstr "FPS"
|
||||
msgstr ""
|
||||
|
||||
msgid "FPS cap"
|
||||
msgstr "FPS-Begrenzung"
|
||||
msgstr ""
|
||||
|
||||
msgid "(0 = unlimited)"
|
||||
msgstr "(0 = unbegrenzt)"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Limits viewport frame rate to reduce GPU load and power usage.\n"
|
||||
"Set to 0 for unlimited frame rate."
|
||||
msgstr ""
|
||||
"Begrenzt die Bildrate des Viewports, um die GPU-Auslastung und den "
|
||||
"Energieverbrauch zu reduzieren.\n"
|
||||
"Auf 0 setzen für unbegrenzte Bildrate."
|
||||
|
||||
|
||||
msgid "Show FPS overlay"
|
||||
msgstr "FPS-Overlay anzeigen"
|
||||
msgstr ""
|
||||
|
||||
msgid "Displays current viewport FPS in the top-right corner."
|
||||
msgstr "Zeigt die aktuelle FPS des Viewports in der oberen rechten Ecke an."
|
||||
msgstr ""
|
||||
|
||||
msgid "Login region"
|
||||
msgstr "Login region"
|
||||
@@ -9225,17 +9207,13 @@ msgid "Skip AMS blacklist check"
|
||||
msgstr "Überspringen der AMS Blacklist-Prüfung"
|
||||
|
||||
msgid "(Experimental) Keep painted feature after mesh change"
|
||||
msgstr "(Experimentell) Behalte bemalte Funktionen nach Mesh-Änderung bei"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Attempt to keep painted features (color/seam/support/fuzzy etc.) after "
|
||||
"changing the object mesh (such as cut/reload from disk/simplify/fix etc.)\n"
|
||||
"Highly experimental! Slow and may create artifact."
|
||||
msgstr ""
|
||||
"Versuchen Sie, bemalte Funktionen (Farbe/Naht/Stütze/unscharf usw.) nach "
|
||||
"Änderung des Objekt-Meshs (z. B. schneiden/neu laden von der Festplatte/vereinfachen/reparieren usw.) beizubehalten\n"
|
||||
"Sehr experimentell! Langsam und kann Artefakte erzeugen."
|
||||
|
||||
|
||||
msgid "Allow Abnormal Storage"
|
||||
msgstr "Fehlerhaften Speicher zulassen"
|
||||
@@ -10961,37 +10939,26 @@ msgid ""
|
||||
" %s first layer %d %s, other layers %d %s\n"
|
||||
" %s max delta %d %s, current delta %d %s\n"
|
||||
msgstr ""
|
||||
" - %s:\n"
|
||||
" %s erste Schicht %d %s, andere Schichten %d %s\n"
|
||||
" %s maximale Delta %d %s, aktuelle Delta %d %s\n"
|
||||
|
||||
msgid ""
|
||||
"Some first-layer and other-layer temperature pairs exceed safety limits.\n"
|
||||
msgstr "Einige Temperaturpaare für die erste und andere Schicht überschreiten die Sicherheitsgrenzen.\n"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
"Invalid pairs:\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Ungültige Paare:\n"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
"You can go back to edit values, or continue if this is intentional."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Sie können zurückgehen, um die Werte zu bearbeiten, oder fortfahren, wenn dies "
|
||||
"absichtlich ist."
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
"\n"
|
||||
"Continue anyway?"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"\n"
|
||||
"Trotzdem fortfahren?"
|
||||
|
||||
msgid "Temperature Safety Check"
|
||||
msgstr "Temperatur-Sicherheitsprüfung"
|
||||
@@ -11075,10 +11042,6 @@ msgid ""
|
||||
"\"%1%\"\n"
|
||||
"and \"%2%\" will open without any changes."
|
||||
msgstr ""
|
||||
"Alle \"Neuer Wert\" Einstellungen in\n"
|
||||
"\"%1%\"\n"
|
||||
"werden gespeichert und \"%2%\" wird ohne Änderungen geöffnet."
|
||||
|
||||
|
||||
msgid "Click the right mouse button to display the full text."
|
||||
msgstr ""
|
||||
@@ -11684,7 +11647,7 @@ msgid "Login"
|
||||
msgstr "Anmelden"
|
||||
|
||||
msgid "Login failed. Please try again."
|
||||
msgstr "Anmeldung fehlgeschlagen. Bitte versuchen Sie es erneut."
|
||||
msgstr ""
|
||||
|
||||
msgid "[Action Required] "
|
||||
msgstr "[Aktion erforderlich] "
|
||||
@@ -11724,16 +11687,16 @@ msgid "Global shortcuts"
|
||||
msgstr "Globale Tastaturkürzel"
|
||||
|
||||
msgid "Pan View"
|
||||
msgstr "Ansicht verschieben"
|
||||
msgstr ""
|
||||
|
||||
msgid "Rotate View"
|
||||
msgstr "Ansicht drehen"
|
||||
msgstr ""
|
||||
|
||||
msgid "Middle mouse button"
|
||||
msgstr "Mittlere Maustaste"
|
||||
msgstr ""
|
||||
|
||||
msgid "Zoom View"
|
||||
msgstr "Ansicht zoomen"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Auto orients selected objects or all objects. If there are selected objects, "
|
||||
@@ -12636,8 +12599,6 @@ msgid ""
|
||||
"The Hollow base pattern is not supported by this support type; Rectilinear "
|
||||
"will be used instead."
|
||||
msgstr ""
|
||||
"Das Hohl-Basis-Muster wird von diesem Stütztyp nicht unterstützt; Stattdessen "
|
||||
"wird das Rechteckmuster verwendet."
|
||||
|
||||
msgid ""
|
||||
"Support enforcers are used but support is not enabled. Please enable support."
|
||||
@@ -14885,16 +14846,16 @@ msgid "Auto For Match"
|
||||
msgstr "Automatisch für Übereinstimmung"
|
||||
|
||||
msgid "Enable filament dynamic map"
|
||||
msgstr "Dynamische Filamentzuordnung aktivieren"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable dynamic filament mapping during print."
|
||||
msgstr "Dynamische Filamentzuordnung während des Drucks aktivieren."
|
||||
msgstr ""
|
||||
|
||||
msgid "Has filament switcher"
|
||||
msgstr "Hat Filamentwechsler"
|
||||
msgstr ""
|
||||
|
||||
msgid "Printer has a filament switcher hardware (e.g., AMS)."
|
||||
msgstr "Der Drucker verfügt über eine Filamentwechsler-Hardware (z. B. AMS)."
|
||||
msgstr ""
|
||||
|
||||
msgid "Flush temperature"
|
||||
msgstr "Spültemperatur"
|
||||
@@ -15415,7 +15376,7 @@ msgstr ""
|
||||
"unterstützt."
|
||||
|
||||
msgid "Z-buckling bias optimization (experimental)"
|
||||
msgstr "Z-Buckling-Bias-Optimierung (experimentell)"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tightens the gyroid wave along the Z (vertical) axis at low infill density "
|
||||
@@ -15424,11 +15385,6 @@ msgid ""
|
||||
"~30% sparse infill density and above. Only applies when Sparse infill "
|
||||
"pattern is set to Gyroid."
|
||||
msgstr ""
|
||||
"Strafft die Gyroid-Welle entlang der Z-Achse (vertikal) bei geringer Fülldichte, "
|
||||
"um die effektive vertikale Säulenlänge zu verkürzen und die Z-Achsen-Kompressions-"
|
||||
"Knickfestigkeit zu verbessern. Der Filamentverbrauch bleibt erhalten. Keine "
|
||||
"Auswirkung bei ~30% einfacher Fülldichte und darüber. Gilt nur, wenn das einfache "
|
||||
"Füllmuster auf Gyroid eingestellt ist."
|
||||
|
||||
msgid "Sparse infill pattern"
|
||||
msgstr "Füllmuster"
|
||||
@@ -16318,7 +16274,7 @@ msgstr ""
|
||||
"bringen.Setze den Wert auf 0, um diese Funktion zu deaktivieren."
|
||||
|
||||
msgid "Minimum non-zero part cooling fan speed"
|
||||
msgstr "Minimale nicht-null Lüftergeschwindigkeit für die Teilekühlung"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Some part-cooling fans cannot start spinning when commanded below a certain "
|
||||
@@ -16337,11 +16293,6 @@ msgid ""
|
||||
"below the one you know it can actually spool at.\n"
|
||||
"Set to 0 to deactivate."
|
||||
msgstr ""
|
||||
"Einige Teilekühlventilatoren können nicht zu drehen beginnen, wenn sie unter einem bestimmten PWM-Arbeitszyklus befehligt werden. Wenn dieser Wert über 0 eingestellt ist, wird jeder nicht-null-Teilekühlventilatorbefehl auf mindestens diesen Prozentsatz angehoben, damit der Lüfter zuverlässig startet. Ein Lüfterbefehl von 0 (Lüfter aus) wird immer genau eingehalten. Diese Begrenzung wird nach jeder anderen Lüfterberechnung angewendet (Erstschicht-Ramp-up, Schichtzeit-Interpolation, Überhangs-/Brücken-/Stützstruktur-Schnittstellen-/Glättungsüberschreibungen), sodass die Skalierung weiterhin im Bereich [dieser Wert, 100%] erfolgt.\n"
|
||||
"\n"
|
||||
"Wenn Ihre Firmware den Lüfter bereits unter einem Schwellenwert deaktiviert (z.B. Klipper's [fan] off_below: 0.10 schaltet den Lüfter aus, wenn der befehligte Arbeitszyklus unter 10% liegt), sollten idealerweise dieser Wert und der Firmware-Schwellenwert auf denselben Wert eingestellt werden. Wenn sie übereinstimmen (z.B. off_below: 0.10 in Klipper und 10% hier), garantiert der Slicer, dass er nie einen nicht-null-Wert emittiert, den die Firmware stillschweigend fallen lässt, und der Lüfter nie einen Wert erhält, der unter dem Wert liegt, den er tatsächlich anfahren kann.\n"
|
||||
"\n"
|
||||
"Setze den Wert auf 0, um diese Funktion zu deaktivieren."
|
||||
|
||||
msgid "%"
|
||||
msgstr "%"
|
||||
@@ -18432,7 +18383,7 @@ msgid "Enable filament ramming"
|
||||
msgstr "Erlaube Filamentrammen"
|
||||
|
||||
msgid "Tool change on wipe tower"
|
||||
msgstr "Werkzeugwechsel auf dem Reinigungsturm"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Force the toolhead to travel to the wipe tower before issuing the tool "
|
||||
@@ -18443,8 +18394,6 @@ msgid ""
|
||||
"this option if you want the tool change to always be issued above the wipe "
|
||||
"tower instead."
|
||||
msgstr ""
|
||||
"Erzwinge, dass der Werkzeugkopf zum Reinigungsturm fährt, bevor der Werkzeugwechselbefehl (Tx) ausgegeben wird. Nur relevant für Mehrfach-Extruder (Mehrfach-Werkzeugkopf) Drucker, die einen Typ-2-Reinigungsturm verwenden. Standardmäßig überspringt Orca die Fahrt auf Mehrfach-Werkzeugkopf-Maschinen, da die Firmware den Kopfwechsel übernimmt, was dazu führen kann, dass der Tx-Befehl über dem gedruckten Teil ausgegeben wird. Aktivieren Sie diese Option, wenn Sie möchten, dass der Werkzeugwechsel immer über dem Reinigungsturm ausgegeben wird."
|
||||
|
||||
|
||||
msgid "No sparse layers (beta)"
|
||||
msgstr "Keine dünnen Schichten (Beta)"
|
||||
@@ -19396,7 +19345,7 @@ msgstr ""
|
||||
"verschiedene Materialien aufeinandertreffen."
|
||||
|
||||
msgid "Cool down from interface boost during prime tower"
|
||||
msgstr "Abkühlung von der Schnittstellen-Boost während des Reinigungsturms"
|
||||
msgstr "^"
|
||||
|
||||
msgid ""
|
||||
"When interface-layer temperature boost is active, set the nozzle back to "
|
||||
@@ -22045,18 +21994,12 @@ msgid ""
|
||||
"\n"
|
||||
"Available nozzle profiles for this printer:"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"\n"
|
||||
"Verfügbare Düsenprofile für diesen Drucker:"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
"\n"
|
||||
"Choose YES to switch existing preset:"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"\n"
|
||||
"Wählen Sie JA, um das vorhandene Profil zu wechseln:"
|
||||
|
||||
msgid "Printer Created Successfully"
|
||||
msgstr "Drucker erfolgreich erstellt"
|
||||
@@ -23265,16 +23208,16 @@ msgid "Detection radius"
|
||||
msgstr "Erkennungsradius"
|
||||
|
||||
msgid "Selected"
|
||||
msgstr "Ausgewählt"
|
||||
msgstr ""
|
||||
|
||||
msgid "Auto-generate"
|
||||
msgstr "Automatisch generieren"
|
||||
msgstr ""
|
||||
|
||||
msgid "Generate brim ears using Max angle and Detection radius"
|
||||
msgstr "Mausohren mit Maximalwinkel und Erkennungsradius generieren"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add or Select"
|
||||
msgstr "Hinzufügen oder auswählen"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Warning: The brim type is not set to \"painted\", the brim ears will not "
|
||||
@@ -23287,7 +23230,7 @@ msgid "Set the brim type of this object to \"painted\""
|
||||
msgstr "Den Brim-Typ dieses Objekts auf \"bemalt\" setzen"
|
||||
|
||||
msgid "invalid brim ears"
|
||||
msgstr "Ungültige Mausohren"
|
||||
msgstr ""
|
||||
|
||||
msgid "Brim Ears"
|
||||
msgstr "Mausohren"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
BIN
resources/handy_models/OrcaCube_v2.3mf
Normal file
BIN
resources/handy_models/OrcaCube_v2.3mf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -472,10 +472,6 @@
|
||||
"name": "Anycubic Generic PA-CF",
|
||||
"sub_path": "filament/Anycubic Generic PA-CF.json"
|
||||
},
|
||||
{
|
||||
"name": "Fiberon PA6-CF20 @Anycubic Kobra S1",
|
||||
"sub_path": "filament/Polymaker/Fiberon PA6-CF20 @Anycubic Kobra S1.json"
|
||||
},
|
||||
{
|
||||
"name": "Anycubic Generic PC",
|
||||
"sub_path": "filament/Anycubic Generic PC.json"
|
||||
@@ -592,18 +588,6 @@
|
||||
"name": "Anycubic PLA+ @Anycubic Kobra X 0.4 nozzle",
|
||||
"sub_path": "filament/Anycubic PLA+ @Anycubic Kobra X 0.4 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Panchroma PLA @Anycubic Kobra S1",
|
||||
"sub_path": "filament/Polymaker/Panchroma PLA @Anycubic Kobra S1.json"
|
||||
},
|
||||
{
|
||||
"name": "Polymaker PLA Pro @Anycubic Kobra S1",
|
||||
"sub_path": "filament/Polymaker/Polymaker PLA Pro @Anycubic Kobra S1.json"
|
||||
},
|
||||
{
|
||||
"name": "Polymaker PLA Pro Metallic @Anycubic Kobra S1",
|
||||
"sub_path": "filament/Polymaker/Polymaker PLA Pro Metallic @Anycubic Kobra S1.json"
|
||||
},
|
||||
{
|
||||
"name": "Anycubic Generic PVA",
|
||||
"sub_path": "filament/Anycubic Generic PVA.json"
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Fiberon PA6-CF20 @Anycubic Kobra S1",
|
||||
"inherits": "fdm_filament_pa",
|
||||
"from": "system",
|
||||
"setting_id": "GFSL57_AC",
|
||||
"filament_id": "GFL57",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anycubic Kobra S1 0.4 nozzle"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Polymaker"
|
||||
],
|
||||
"filament_type": [
|
||||
"PA6-CF"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"40"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"40"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"40"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"40"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"40"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"40"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"100"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"1.03"
|
||||
],
|
||||
"reduce_fan_stop_start_freq": [
|
||||
"1"
|
||||
],
|
||||
"fan_cooling_layer_time": [
|
||||
"30"
|
||||
],
|
||||
"filament_cost": [
|
||||
"79.98"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.17"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"7.5"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"1.0"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"0.0"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"300"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"30"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"6"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"300"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"74.2"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"280"
|
||||
]
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Panchroma PLA @Anycubic Kobra S1",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"setting_id": "GFSPM001_AC",
|
||||
"filament_id": "GFPM001",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anycubic Kobra S1 0.4 nozzle"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Polymaker"
|
||||
],
|
||||
"filament_type": [
|
||||
"PLA"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.88"
|
||||
],
|
||||
"filament_cost": [
|
||||
"0"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.32"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"20"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"5"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"10"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"62.5"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
]
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Polymaker PLA Pro @Anycubic Kobra S1",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"setting_id": "GFSL79_AC",
|
||||
"filament_id": "GFL79",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anycubic Kobra S1 0.4 nozzle"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Polymaker"
|
||||
],
|
||||
"filament_type": [
|
||||
"PLA"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.85"
|
||||
],
|
||||
"filament_cost": [
|
||||
"0"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.23"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"16"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"5"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"10"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"55"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
]
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Polymaker PLA Pro Metallic @Anycubic Kobra S1",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"setting_id": "GFSL80_AC",
|
||||
"filament_id": "GFL80",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anycubic Kobra S1 0.4 nozzle"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Polymaker"
|
||||
],
|
||||
"filament_type": [
|
||||
"PLA"
|
||||
],
|
||||
"cool_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"eng_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"textured_plate_temp": [
|
||||
"50"
|
||||
],
|
||||
"cool_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"eng_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"textured_plate_temp_initial_layer": [
|
||||
"50"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.85"
|
||||
],
|
||||
"filament_cost": [
|
||||
"0"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.23"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"16"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"5"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"10"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"55"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
]
|
||||
}
|
||||
@@ -33,10 +33,10 @@
|
||||
"disable_m73": "0",
|
||||
"gcode_flavor": "klipper",
|
||||
"printable_area": [
|
||||
"0x0",
|
||||
"426x0",
|
||||
"426x420",
|
||||
"0x420"
|
||||
"3x0",
|
||||
"423x0",
|
||||
"423x420",
|
||||
"3x420"
|
||||
],
|
||||
"printable_height": "501",
|
||||
"thumbnails": "230x110/PNG",
|
||||
@@ -48,24 +48,7 @@
|
||||
"bbl_use_printhost": "0",
|
||||
"bed_custom_model": "",
|
||||
"bed_custom_texture": "",
|
||||
"bed_exclude_area": [
|
||||
"0x0",
|
||||
"3x0",
|
||||
"3x420",
|
||||
"0x420",
|
||||
"0x0",
|
||||
"423x0",
|
||||
"423x0",
|
||||
"423x0",
|
||||
"423x0",
|
||||
"426x0",
|
||||
"426x420",
|
||||
"423x420",
|
||||
"423x0",
|
||||
"0x0",
|
||||
"0x0",
|
||||
"0x0"
|
||||
],
|
||||
"bed_exclude_area": [],
|
||||
"bed_mesh_max": "0,0",
|
||||
"bed_mesh_min": "0,0",
|
||||
"bed_mesh_probe_distance": "0,0",
|
||||
|
||||
@@ -23,10 +23,10 @@
|
||||
"disable_m73": "0",
|
||||
"gcode_flavor": "klipper",
|
||||
"printable_area": [
|
||||
"0x0",
|
||||
"426x0",
|
||||
"426x420",
|
||||
"0x420"
|
||||
"3x0",
|
||||
"423x0",
|
||||
"423x420",
|
||||
"3x420"
|
||||
],
|
||||
"printable_height": "501",
|
||||
"thumbnails": "230x110/PNG",
|
||||
@@ -38,24 +38,7 @@
|
||||
"bbl_use_printhost": "0",
|
||||
"bed_custom_model": "",
|
||||
"bed_custom_texture": "",
|
||||
"bed_exclude_area": [
|
||||
"0x0",
|
||||
"3x0",
|
||||
"3x420",
|
||||
"0x420",
|
||||
"0x0",
|
||||
"423x0",
|
||||
"423x0",
|
||||
"423x0",
|
||||
"423x0",
|
||||
"426x0",
|
||||
"426x420",
|
||||
"423x420",
|
||||
"423x0",
|
||||
"0x0",
|
||||
"0x0",
|
||||
"0x0"
|
||||
],
|
||||
"bed_exclude_area": [],
|
||||
"bed_mesh_max": "0,0",
|
||||
"bed_mesh_min": "0,0",
|
||||
"bed_mesh_probe_distance": "0,0",
|
||||
|
||||
@@ -23,10 +23,10 @@
|
||||
"disable_m73": "0",
|
||||
"gcode_flavor": "klipper",
|
||||
"printable_area": [
|
||||
"0x0",
|
||||
"426x0",
|
||||
"426x420",
|
||||
"0x420"
|
||||
"3x0",
|
||||
"423x0",
|
||||
"423x420",
|
||||
"3x420"
|
||||
],
|
||||
"printable_height": "501",
|
||||
"thumbnails": "230x110/PNG",
|
||||
@@ -38,24 +38,7 @@
|
||||
"bbl_use_printhost": "0",
|
||||
"bed_custom_model": "",
|
||||
"bed_custom_texture": "",
|
||||
"bed_exclude_area": [
|
||||
"0x0",
|
||||
"3x0",
|
||||
"3x420",
|
||||
"0x420",
|
||||
"0x0",
|
||||
"423x0",
|
||||
"423x0",
|
||||
"423x0",
|
||||
"423x0",
|
||||
"426x0",
|
||||
"426x420",
|
||||
"423x420",
|
||||
"423x0",
|
||||
"0x0",
|
||||
"0x0",
|
||||
"0x0"
|
||||
],
|
||||
"bed_exclude_area": [],
|
||||
"bed_mesh_max": "0,0",
|
||||
"bed_mesh_min": "0,0",
|
||||
"bed_mesh_probe_distance": "0,0",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "10000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "450",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -201,10 +201,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "150",
|
||||
@@ -271,7 +271,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"sparse_infill_speed": "100",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.22",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "150",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "4",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "150",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "30%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "10000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "430",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "150",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "80",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "3dhoneycomb",
|
||||
"sparse_infill_speed": "180",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -201,10 +201,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "150",
|
||||
@@ -271,7 +271,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"sparse_infill_speed": "180",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "200",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "300",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "30%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "300",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "150",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -201,10 +201,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "300",
|
||||
@@ -271,7 +271,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "150",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"sparse_infill_speed": "350",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "80",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.62",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "100",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "200",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "200",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "150",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "200",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "200",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "30%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "300",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -201,10 +201,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "300",
|
||||
@@ -271,7 +271,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.82",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "100",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "150",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "270",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "outer wall/inner wall",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"sparse_infill_speed": "300",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "30%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "200",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -201,10 +201,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "150",
|
||||
@@ -271,7 +271,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "80",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.62",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "100",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.82",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "100",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"sparse_infill_speed": "230",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "120",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "120",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -201,10 +201,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "150",
|
||||
@@ -271,7 +271,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "120",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"sparse_infill_speed": "200",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "30%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "200",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "10000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.62",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "100",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "80",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.62",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "100",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.82",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "100",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "80",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.62",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "100",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.82",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "100",
|
||||
@@ -256,7 +256,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"wall_loops": "2",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.82",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "100",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "80",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.62",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "100",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -212,10 +212,10 @@
|
||||
"smooth_coefficient": "40",
|
||||
"smooth_speed_discontinuity_area": "1",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "5000",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.82",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "100",
|
||||
@@ -285,7 +285,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -190,10 +190,10 @@
|
||||
],
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"sparse_infill_speed": "450",
|
||||
@@ -251,7 +251,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
"wall_transition_angle": "10",
|
||||
|
||||
@@ -195,10 +195,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.22",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"sparse_infill_speed": "100",
|
||||
@@ -265,7 +265,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "4",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
],
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"spiral_mode": "0",
|
||||
@@ -250,7 +250,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "arachne",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -188,10 +188,10 @@
|
||||
],
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"spiral_mode": "0",
|
||||
@@ -250,7 +250,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "arachne",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -187,10 +187,10 @@
|
||||
],
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "gyroid",
|
||||
"spiral_mode": "0",
|
||||
@@ -250,7 +250,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "arachne",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -188,10 +188,10 @@
|
||||
],
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"spiral_mode": "0",
|
||||
@@ -250,7 +250,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "arachne",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -191,10 +191,10 @@
|
||||
],
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"spiral_mode": "0",
|
||||
@@ -250,7 +250,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "arachne",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -192,10 +192,10 @@
|
||||
],
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"sparse_infill_speed": "270",
|
||||
@@ -251,7 +251,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
"wall_transition_angle": "10",
|
||||
|
||||
@@ -181,10 +181,10 @@
|
||||
],
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "150",
|
||||
@@ -250,7 +250,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "arachne",
|
||||
"wall_loops": "3",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -181,10 +181,10 @@
|
||||
],
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "150",
|
||||
@@ -250,7 +250,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "arachne",
|
||||
"wall_loops": "3",
|
||||
"wall_sequence": "outer wall/inner wall",
|
||||
|
||||
@@ -181,10 +181,10 @@
|
||||
],
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "200",
|
||||
@@ -250,7 +250,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "arachne",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -181,10 +181,10 @@
|
||||
],
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"sparse_infill_speed": "200",
|
||||
@@ -250,7 +250,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "arachne",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -189,10 +189,10 @@
|
||||
],
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "25%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"sparse_infill_speed": "270",
|
||||
@@ -251,7 +251,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "arachne",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
"wall_transition_angle": "10",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
],
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"sparse_infill_speed": "230",
|
||||
@@ -250,7 +250,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "arachne",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -195,10 +195,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.62",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"sparse_infill_speed": "100",
|
||||
@@ -265,7 +265,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "classic",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -195,10 +195,10 @@
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_direction": "45",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.82",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"sparse_infill_speed": "100",
|
||||
@@ -265,7 +265,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "arachne",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
@@ -188,10 +188,10 @@
|
||||
],
|
||||
"small_perimeter_speed": "50%",
|
||||
"small_perimeter_threshold": "0",
|
||||
"solid_infill_filament": "0",
|
||||
"solid_infill_filament": "1",
|
||||
"sparse_infill_acceleration": "100%",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_filament": "0",
|
||||
"sparse_infill_filament": "1",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"sparse_infill_speed": "200",
|
||||
@@ -250,7 +250,7 @@
|
||||
"tree_support_wall_count": "0",
|
||||
"wall_direction": "auto",
|
||||
"wall_distribution_count": "1",
|
||||
"wall_filament": "0",
|
||||
"wall_filament": "1",
|
||||
"wall_generator": "arachne",
|
||||
"wall_loops": "2",
|
||||
"wall_sequence": "inner wall/outer wall",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,18 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Fiberon PA12-CF10 @BBL X1",
|
||||
"inherits": "Fiberon PA12-CF10 @base",
|
||||
"from": "system",
|
||||
"setting_id": "GFSL56_00",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Bambu Lab X1 0.4 nozzle",
|
||||
"Bambu Lab X1 Carbon 0.4 nozzle",
|
||||
"Bambu Lab P1S 0.4 nozzle",
|
||||
"Bambu Lab X1E 0.4 nozzle"
|
||||
],
|
||||
"filament_extruder_variant": [
|
||||
"Direct Drive Standard",
|
||||
"Direct Drive High Flow"
|
||||
]
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user