mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-10 17:21:10 +00:00
Merge remote-tracking branch 'upstream/main' into feedback
This commit is contained in:
@@ -136,7 +136,7 @@ jobs:
|
||||
files: "ctest_results.xml"
|
||||
- name: Delete Test Artifact
|
||||
if: success()
|
||||
uses: geekyeggo/delete-artifact@v5
|
||||
uses: geekyeggo/delete-artifact@v6
|
||||
with:
|
||||
name: ${{ github.sha }}-tests
|
||||
flatpak:
|
||||
|
||||
@@ -52,7 +52,7 @@ jobs:
|
||||
|
||||
- name: setup dev on Windows
|
||||
if: runner.os == 'Windows'
|
||||
uses: microsoft/setup-msbuild@v2
|
||||
uses: microsoft/setup-msbuild@v3
|
||||
|
||||
- name: Get the date on Ubuntu and macOS
|
||||
if: runner.os != 'Windows'
|
||||
|
||||
@@ -155,7 +155,7 @@ jobs:
|
||||
|
||||
- name: Delete intermediate per-arch artifacts
|
||||
if: runner.os == 'macOS' && inputs.macos-combine-only
|
||||
uses: geekyeggo/delete-artifact@v5
|
||||
uses: geekyeggo/delete-artifact@v6
|
||||
with:
|
||||
name: |
|
||||
OrcaSlicer_Mac_bundle_arm64_${{ github.sha }}
|
||||
@@ -275,7 +275,7 @@ jobs:
|
||||
# Windows
|
||||
- name: setup MSVC
|
||||
if: runner.os == 'Windows'
|
||||
uses: microsoft/setup-msbuild@v2
|
||||
uses: microsoft/setup-msbuild@v3
|
||||
|
||||
- name: Install nsis
|
||||
if: runner.os == 'Windows' && !vars.SELF_HOSTED
|
||||
@@ -382,6 +382,7 @@ jobs:
|
||||
shell: bash
|
||||
run: |
|
||||
./build_linux.sh -istrlL
|
||||
./scripts/check_appimage_libs.sh ./build/package ./build/package/bin/orca-slicer
|
||||
mv -n ./build/OrcaSlicer_Linux_V${{ env.ver_pure }}.AppImage ./build/OrcaSlicer_Linux_AppImage${{ env.ubuntu-ver-str }}_${{ env.ver }}.AppImage
|
||||
chmod +x ./build/OrcaSlicer_Linux_AppImage${{ env.ubuntu-ver-str }}_${{ env.ver }}.AppImage
|
||||
tar -cvpf build_tests.tar build/tests
|
||||
|
||||
@@ -0,0 +1,275 @@
|
||||
name: PR Label Bot
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
issue_comment:
|
||||
types:
|
||||
- created
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
issues: write
|
||||
|
||||
jobs:
|
||||
request-label:
|
||||
if: github.event_name == 'pull_request_target' && github.event.pull_request.author_association != 'COLLABORATOR' && github.event.pull_request.author_association != 'OWNER' && github.event.pull_request.author_association != 'MEMBER'
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
issues: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Ask PR author for label
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
function isPermissionDenied(error) {
|
||||
return error && error.status === 403 && /Resource not accessible by integration/i.test(error.message || '');
|
||||
}
|
||||
|
||||
const allowedLabels = [
|
||||
'bug-fix',
|
||||
'enhancement',
|
||||
'Localization',
|
||||
'profile',
|
||||
'QoL',
|
||||
'UI/UX',
|
||||
'dependencies'
|
||||
];
|
||||
const pr = context.payload.pull_request;
|
||||
const labelsList = `${allowedLabels
|
||||
.slice(0, -1)
|
||||
.map((label) => `\`${label}\``)
|
||||
.join(', ')} and \`${allowedLabels[allowedLabels.length - 1]}\`.`;
|
||||
const examplesText = [
|
||||
'```',
|
||||
'/bot add-label bug-fix',
|
||||
'```',
|
||||
'```',
|
||||
'/bot add-label bug-fix, UI/UX',
|
||||
'```',
|
||||
'```',
|
||||
'/bot remove-label bug-fix, UI/UX',
|
||||
'```'
|
||||
].join('\n');
|
||||
|
||||
try {
|
||||
await github.rest.issues.createComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: pr.number,
|
||||
body:
|
||||
`Hi @${pr.user.login}, you can manage the labels for this PR by \`/bot add-label\` and \`/bot remove-label\`\n\n` +
|
||||
`Allowed labels are:\n${labelsList}\n\n` +
|
||||
`Examples:\n${examplesText}`
|
||||
});
|
||||
} catch (error) {
|
||||
if (isPermissionDenied(error)) {
|
||||
core.warning(
|
||||
'Skipping PR comment because token cannot write. Enable Actions write permissions, ' +
|
||||
'or run with a token that has issues:write and pull_requests:write.'
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
throw error;
|
||||
}
|
||||
|
||||
apply-label:
|
||||
if: github.event_name == 'issue_comment'
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
issues: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Apply label command from PR author
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
function isPermissionDenied(error) {
|
||||
return error && error.status === 403 && /Resource not accessible by integration/i.test(error.message || '');
|
||||
}
|
||||
|
||||
const allowedLabels = [
|
||||
'bug-fix',
|
||||
'enhancement',
|
||||
'Localization',
|
||||
'profile',
|
||||
'QoL',
|
||||
'UI/UX',
|
||||
'dependencies'
|
||||
];
|
||||
|
||||
const issue = context.payload.issue;
|
||||
if (!issue.pull_request) {
|
||||
core.info('Ignoring comment that is not on a pull request.');
|
||||
return;
|
||||
}
|
||||
|
||||
const body = (context.payload.comment.body || '').trim();
|
||||
const commandLine = body
|
||||
.split('\n')
|
||||
.map((line) => line.trim())
|
||||
.find((line) => /^\/bot\s+(add-label|remove-label)(?:\s*:\s*|\s+)/i.test(line));
|
||||
|
||||
if (!commandLine) {
|
||||
core.info('No /bot add-label or /bot remove-label command found.');
|
||||
return;
|
||||
}
|
||||
|
||||
const commandMatch = commandLine.match(/^\/bot\s+(add-label|remove-label)(?:\s*:\s*|\s+)(.+)\s*$/i);
|
||||
if (!commandMatch) {
|
||||
core.info('Label command format is invalid.');
|
||||
return;
|
||||
}
|
||||
|
||||
const action = commandMatch[1].toLowerCase() === 'add-label' ? 'add' : 'remove';
|
||||
let labelsExpr = (commandMatch[2] || '').trim();
|
||||
if (!labelsExpr) {
|
||||
core.info('Label command is missing label name.');
|
||||
return;
|
||||
}
|
||||
|
||||
if (labelsExpr.startsWith('[') && labelsExpr.endsWith(']')) {
|
||||
labelsExpr = labelsExpr.slice(1, -1).trim();
|
||||
}
|
||||
|
||||
const requestedRawLabels = labelsExpr
|
||||
.split(',')
|
||||
.map((part) => part.trim())
|
||||
.filter(Boolean);
|
||||
|
||||
if (!requestedRawLabels.length) {
|
||||
core.info('No labels were provided in the command.');
|
||||
return;
|
||||
}
|
||||
|
||||
const { data: pr } = await github.rest.pulls.get({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
pull_number: issue.number
|
||||
});
|
||||
|
||||
const commenter = context.payload.comment.user.login;
|
||||
if (commenter !== pr.user.login) {
|
||||
core.info('Ignoring command because commenter is not the PR author.');
|
||||
return;
|
||||
}
|
||||
|
||||
const labelsByLower = new Map(
|
||||
allowedLabels.map((label) => [label.toLowerCase(), label])
|
||||
);
|
||||
|
||||
const resolvedLabels = [];
|
||||
const invalidLabels = [];
|
||||
|
||||
for (const rawLabel of requestedRawLabels) {
|
||||
const resolved = labelsByLower.get(rawLabel.toLowerCase());
|
||||
if (resolved) {
|
||||
resolvedLabels.push(resolved);
|
||||
} else {
|
||||
invalidLabels.push(rawLabel);
|
||||
}
|
||||
}
|
||||
const uniqueRequestedLabels = [...new Set(resolvedLabels)];
|
||||
|
||||
if (action === 'add' && uniqueRequestedLabels.length) {
|
||||
try {
|
||||
await github.rest.issues.addLabels({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: issue.number,
|
||||
labels: uniqueRequestedLabels
|
||||
});
|
||||
} catch (error) {
|
||||
if (isPermissionDenied(error)) {
|
||||
core.warning(
|
||||
'Cannot add labels because token cannot write. Enable Actions write permissions, ' +
|
||||
'or run with a token that has issues:write and pull_requests:write.'
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
throw error;
|
||||
}
|
||||
|
||||
core.info(`Added labels: ${uniqueRequestedLabels.join(', ')}`);
|
||||
}
|
||||
|
||||
if (action === 'remove' && uniqueRequestedLabels.length) {
|
||||
let removedCount = 0;
|
||||
try {
|
||||
for (const label of uniqueRequestedLabels) {
|
||||
try {
|
||||
await github.rest.issues.removeLabel({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: issue.number,
|
||||
name: label
|
||||
});
|
||||
removedCount += 1;
|
||||
} catch (error) {
|
||||
if (isPermissionDenied(error)) {
|
||||
core.warning(
|
||||
'Cannot remove labels because token cannot write. Enable Actions write permissions, ' +
|
||||
'or run with a token that has issues:write and pull_requests:write.'
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
if (error.status === 404) {
|
||||
core.info(`Label is not currently applied: ${label}`);
|
||||
continue;
|
||||
}
|
||||
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
core.info(`Removed labels count: ${removedCount}`);
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
if (!uniqueRequestedLabels.length) {
|
||||
core.info('No valid labels were provided in the command.');
|
||||
}
|
||||
|
||||
if (invalidLabels.length) {
|
||||
const allowedText = allowedLabels.map((label) => `\`${label}\``).join(', ');
|
||||
const invalidText = invalidLabels.map((label) => `\`${label}\``).join(', ');
|
||||
const validText = uniqueRequestedLabels.length
|
||||
? `\n\nProcessed valid label(s): ${uniqueRequestedLabels.map((label) => `\`${label}\``).join(', ')}`
|
||||
: '';
|
||||
|
||||
try {
|
||||
await github.rest.issues.createComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: issue.number,
|
||||
body:
|
||||
`@${commenter} invalid label(s): ${invalidText}.${validText}\n\n` +
|
||||
`Allowed labels: ${allowedText}\n\n` +
|
||||
`Use:\n` +
|
||||
`- \`/bot add-label label\`\n` +
|
||||
`- \`/bot remove-label label\`\n` +
|
||||
`- \`/bot add-label label1, label2\``
|
||||
});
|
||||
} catch (error) {
|
||||
if (isPermissionDenied(error)) {
|
||||
core.warning('Cannot post invalid-label feedback because token cannot write comments.');
|
||||
return;
|
||||
}
|
||||
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
const processedLabelsText = uniqueRequestedLabels.length ? uniqueRequestedLabels.join(', ') : '(none)';
|
||||
core.info(`Processed label command: ${action} ${processedLabelsText}`);
|
||||
+3
-13
@@ -117,7 +117,7 @@ else()
|
||||
set(SLIC3R_STATIC_INITIAL 1)
|
||||
endif()
|
||||
|
||||
option(SLIC3R_STATIC "Compile OrcaSlicer with static libraries (Boost, TBB, glew)" ${SLIC3R_STATIC_INITIAL})
|
||||
option(SLIC3R_STATIC "Compile OrcaSlicer with static libraries (Boost, TBB)" ${SLIC3R_STATIC_INITIAL})
|
||||
option(SLIC3R_GUI "Compile OrcaSlicer with GUI components (OpenGL, wxWidgets)" 1)
|
||||
option(SLIC3R_FHS "Assume OrcaSlicer is to be installed in a FHS directory structure" 0)
|
||||
option(SLIC3R_PROFILE "Compile OrcaSlicer with an invasive Shiny profiler" 0)
|
||||
@@ -694,16 +694,6 @@ if(APPLE AND CMAKE_VERSION VERSION_GREATER_EQUAL "4.0")
|
||||
set(OPENGL_LIBRARIES "-framework OpenGL" CACHE STRING "OpenGL framework" FORCE)
|
||||
endif()
|
||||
|
||||
set(GLEW_ROOT "${CMAKE_PREFIX_PATH}")
|
||||
message("GLEW_ROOT: ${GLEW_ROOT}")
|
||||
# Find glew or use bundled version
|
||||
if (SLIC3R_STATIC AND NOT SLIC3R_STATIC_EXCLUDE_GLEW)
|
||||
set(GLEW_USE_STATIC_LIBS ON)
|
||||
set(GLEW_VERBOSE ON)
|
||||
endif()
|
||||
|
||||
find_package(GLEW REQUIRED)
|
||||
|
||||
find_package(glfw3 REQUIRED)
|
||||
|
||||
# Find the Cereal serialization library
|
||||
@@ -919,7 +909,7 @@ elseif (SLIC3R_FHS)
|
||||
install(DIRECTORY ${SLIC3R_RESOURCES_DIR}/ DESTINATION ${SLIC3R_FHS_RESOURCES}
|
||||
PATTERN "*/udev" EXCLUDE
|
||||
)
|
||||
install(FILES src/dev-utils/platform/unix/OrcaSlicer.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
|
||||
install(FILES src/dev-utils/platform/unix/com.orcaslicer.OrcaSlicer.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
|
||||
foreach(SIZE 32 128 192)
|
||||
install(FILES ${SLIC3R_RESOURCES_DIR}/images/OrcaSlicer_${SIZE}px.png
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${SIZE}x${SIZE}/apps RENAME OrcaSlicer.png
|
||||
@@ -928,7 +918,7 @@ elseif (SLIC3R_FHS)
|
||||
elseif (CMAKE_MACOSX_BUNDLE)
|
||||
# install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/OrcaSlicer.app/Contents/resources")
|
||||
else ()
|
||||
install(FILES src/dev-utils/platform/unix/OrcaSlicer.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/resources/applications)
|
||||
install(FILES src/dev-utils/platform/unix/com.orcaslicer.OrcaSlicer.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/resources/applications)
|
||||
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
|
||||
endif ()
|
||||
|
||||
|
||||
+305
-3
@@ -8,7 +8,7 @@ SCRIPT_PATH=$(dirname "$(readlink -f "${0}")")
|
||||
pushd "${SCRIPT_PATH}" > /dev/null
|
||||
|
||||
function usage() {
|
||||
echo "Usage: ./${SCRIPT_NAME} [-1][-b][-c][-d][-D][-e][-h][-i][-j N][-p][-r][-s][-t][-u][-l][-L]"
|
||||
echo "Usage: ./${SCRIPT_NAME} [-1][-b][-c][-d][-D][-e][-F][-g][-h][-i][-j N][-p][-r][-s][-t][-u][-l][-L]"
|
||||
echo " -1: limit builds to one core (where possible)"
|
||||
echo " -j N: limit builds to N cores (where possible)"
|
||||
echo " -b: build in Debug mode"
|
||||
@@ -17,6 +17,8 @@ function usage() {
|
||||
echo " -d: download and build dependencies in ./deps/ (build prerequisite)"
|
||||
echo " -D: dry run"
|
||||
echo " -e: build in RelWithDebInfo mode"
|
||||
echo " -F: rebuild the cached Docker/Podman runner image from scratch when used with -g"
|
||||
echo " -g: run the requested build steps inside a Docker/Podman Ubuntu 24.04 container similar to the GitHub Actions Linux runner"
|
||||
echo " -h: prints this help text"
|
||||
echo " -i: build the Orca Slicer AppImage (optional)"
|
||||
echo " -p: boost ccache hit rate by disabling precompiled headers (default: ON)"
|
||||
@@ -28,6 +30,9 @@ function usage() {
|
||||
echo " -L: use ld.lld as linker (if available)"
|
||||
echo "For a first use, you want to './${SCRIPT_NAME} -u'"
|
||||
echo " and then './${SCRIPT_NAME} -dsi'"
|
||||
echo "For a GitHub Actions-like Linux build locally, use './${SCRIPT_NAME} -g -istrlL'"
|
||||
echo "Use './${SCRIPT_NAME} -gF -istrlL' to rebuild the cached runner image first."
|
||||
echo "Set ORCA_CONTAINER_CLI, ORCA_DOCKER_IMAGE, ORCA_DOCKER_BASE_IMAGE, or ORCA_DOCKER_CMAKE_VERSION to override the container runtime, cached image tag, base image, or CMake version."
|
||||
}
|
||||
|
||||
SLIC3R_PRECOMPILED_HEADERS="ON"
|
||||
@@ -35,60 +40,83 @@ SLIC3R_PRECOMPILED_HEADERS="ON"
|
||||
unset name
|
||||
BUILD_DIR=build
|
||||
BUILD_CONFIG=Release
|
||||
while getopts ":1j:bcCdDehiprstulL" opt ; do
|
||||
FORWARDED_ARGS=()
|
||||
while getopts ":1j:bcCdDeFghiprstulL" opt ; do
|
||||
case ${opt} in
|
||||
1 )
|
||||
export CMAKE_BUILD_PARALLEL_LEVEL=1
|
||||
FORWARDED_ARGS+=("-1")
|
||||
;;
|
||||
j )
|
||||
export CMAKE_BUILD_PARALLEL_LEVEL=$OPTARG
|
||||
FORWARDED_ARGS+=("-j" "$OPTARG")
|
||||
;;
|
||||
b )
|
||||
BUILD_DIR=build-dbg
|
||||
BUILD_CONFIG=Debug
|
||||
FORWARDED_ARGS+=("-b")
|
||||
;;
|
||||
c )
|
||||
CLEAN_BUILD=1
|
||||
FORWARDED_ARGS+=("-c")
|
||||
;;
|
||||
C )
|
||||
COLORED_OUTPUT="-DCOLORED_OUTPUT=ON"
|
||||
FORWARDED_ARGS+=("-C")
|
||||
;;
|
||||
d )
|
||||
BUILD_DEPS="1"
|
||||
FORWARDED_ARGS+=("-d")
|
||||
;;
|
||||
D )
|
||||
DRY_RUN="1"
|
||||
FORWARDED_ARGS+=("-D")
|
||||
;;
|
||||
e )
|
||||
BUILD_DIR=build-dbginfo
|
||||
BUILD_CONFIG=RelWithDebInfo
|
||||
FORWARDED_ARGS+=("-e")
|
||||
;;
|
||||
F )
|
||||
CLEAN_DOCKER_IMAGE="1"
|
||||
;;
|
||||
g )
|
||||
USE_DOCKER="1"
|
||||
;;
|
||||
h ) usage
|
||||
exit 1
|
||||
;;
|
||||
i )
|
||||
BUILD_IMAGE="1"
|
||||
FORWARDED_ARGS+=("-i")
|
||||
;;
|
||||
p )
|
||||
SLIC3R_PRECOMPILED_HEADERS="OFF"
|
||||
FORWARDED_ARGS+=("-p")
|
||||
;;
|
||||
r )
|
||||
SKIP_RAM_CHECK="1"
|
||||
FORWARDED_ARGS+=("-r")
|
||||
;;
|
||||
s )
|
||||
BUILD_ORCA="1"
|
||||
FORWARDED_ARGS+=("-s")
|
||||
;;
|
||||
t )
|
||||
BUILD_TESTS="1"
|
||||
FORWARDED_ARGS+=("-t")
|
||||
;;
|
||||
u )
|
||||
export UPDATE_LIB="1"
|
||||
FORWARDED_ARGS+=("-u")
|
||||
;;
|
||||
l )
|
||||
USE_CLANG="1"
|
||||
FORWARDED_ARGS+=("-l")
|
||||
;;
|
||||
L )
|
||||
USE_LLD="1"
|
||||
FORWARDED_ARGS+=("-L")
|
||||
;;
|
||||
* )
|
||||
echo "Unknown argument '${opt}', aborting."
|
||||
@@ -102,6 +130,11 @@ if [ ${OPTIND} -eq 1 ] ; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -n "${CLEAN_DOCKER_IMAGE}" ]] && [[ -z "${USE_DOCKER}" ]] ; then
|
||||
echo "Error: -F requires -g."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
function check_available_memory_and_disk() {
|
||||
FREE_MEM_GB=$(free --gibi --total | grep 'Mem' | rev | cut --delimiter=" " --fields=1 | rev)
|
||||
MIN_MEM_GB=10
|
||||
@@ -139,6 +172,275 @@ function print_and_run() {
|
||||
fi
|
||||
}
|
||||
|
||||
function resolve_container_cli() {
|
||||
if [[ -n "${ORCA_CONTAINER_CLI}" ]] ; then
|
||||
if ! command -v "${ORCA_CONTAINER_CLI}" >/dev/null 2>&1 ; then
|
||||
echo "Error: container runtime '${ORCA_CONTAINER_CLI}' was not found." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "${ORCA_CONTAINER_CLI}"
|
||||
return
|
||||
fi
|
||||
|
||||
if command -v docker >/dev/null 2>&1 ; then
|
||||
echo "docker"
|
||||
return
|
||||
fi
|
||||
|
||||
if command -v podman >/dev/null 2>&1 ; then
|
||||
echo "podman"
|
||||
return
|
||||
fi
|
||||
|
||||
echo "Error: neither docker nor podman is available. Install one of them or set ORCA_CONTAINER_CLI." >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
function get_docker_runner_image() {
|
||||
local base_image
|
||||
local docker_cmake_version
|
||||
local recipe_hash
|
||||
local sanitized_base_image
|
||||
local sanitized_cmake_version
|
||||
|
||||
if [[ -n "${ORCA_DOCKER_IMAGE}" ]] ; then
|
||||
echo "${ORCA_DOCKER_IMAGE}"
|
||||
return
|
||||
fi
|
||||
|
||||
base_image="${ORCA_DOCKER_BASE_IMAGE:-ubuntu:24.04}"
|
||||
docker_cmake_version="${ORCA_DOCKER_CMAKE_VERSION-4.3.0}"
|
||||
recipe_hash=$(find "${SCRIPT_PATH}/build_linux.sh" "${SCRIPT_PATH}/scripts/linux.d" -type f -print0 | sort -z | xargs -0 cat | sha256sum | cut -c1-12)
|
||||
sanitized_base_image=$(echo "${base_image}" | tr '/:@' '---' | tr -cs 'A-Za-z0-9_.-' '-')
|
||||
sanitized_cmake_version=$(echo "${docker_cmake_version:-system}" | tr -cs 'A-Za-z0-9_.-' '-')
|
||||
echo "orcaslicer-linux-builder:${sanitized_base_image}-cmake-${sanitized_cmake_version}-${recipe_hash}"
|
||||
}
|
||||
|
||||
function docker_runner_dockerfile() {
|
||||
cat <<'EOF'
|
||||
ARG BASE_IMAGE=ubuntu:24.04
|
||||
FROM ${BASE_IMAGE}
|
||||
|
||||
ARG CMAKE_VERSION=4.3.0
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
SHELL ["/bin/bash", "-c"]
|
||||
|
||||
RUN apt-get update && apt-get install -y sudo ca-certificates curl tar
|
||||
|
||||
COPY build_linux.sh /tmp/orcaslicer/build_linux.sh
|
||||
COPY scripts/linux.d /tmp/orcaslicer/scripts/linux.d
|
||||
|
||||
WORKDIR /tmp/orcaslicer
|
||||
|
||||
RUN chmod +x ./build_linux.sh
|
||||
RUN ./build_linux.sh -ur
|
||||
RUN if [[ -n "${CMAKE_VERSION}" ]] ; then \
|
||||
case "$(uname -m)" in \
|
||||
x86_64|amd64) cmake_arch="x86_64" ;; \
|
||||
aarch64|arm64) cmake_arch="aarch64" ;; \
|
||||
*) cmake_arch="" ;; \
|
||||
esac ; \
|
||||
if [[ -n "${cmake_arch}" ]] ; then \
|
||||
cmake_root="/opt/cmake-${CMAKE_VERSION}-linux-${cmake_arch}" ; \
|
||||
if ! curl -fsSL "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-${cmake_arch}.tar.gz" | tar -xz -C /opt ; then \
|
||||
echo "Warning: failed to install CMake ${CMAKE_VERSION}; falling back to the distro cmake package." ; \
|
||||
elif [[ -d "${cmake_root}" ]] ; then \
|
||||
ln -sf "${cmake_root}/bin/"* /usr/local/bin/ ; \
|
||||
fi ; \
|
||||
else \
|
||||
echo "Skipping GitHub Actions CMake install for unsupported architecture $(uname -m)." ; \
|
||||
fi ; \
|
||||
fi
|
||||
RUN rm -rf /var/lib/apt/lists/* /tmp/orcaslicer
|
||||
EOF
|
||||
}
|
||||
|
||||
function ensure_docker_runner_image() {
|
||||
local container_cli
|
||||
local base_image
|
||||
local runner_image
|
||||
local docker_cmake_version
|
||||
local image_exists="0"
|
||||
local force_rebuild="0"
|
||||
local -a build_cmd
|
||||
|
||||
container_cli="$1"
|
||||
runner_image="$2"
|
||||
base_image="${ORCA_DOCKER_BASE_IMAGE:-ubuntu:24.04}"
|
||||
docker_cmake_version="${ORCA_DOCKER_CMAKE_VERSION-4.3.0}"
|
||||
|
||||
if "${container_cli}" image inspect "${runner_image}" >/dev/null 2>&1 ; then
|
||||
image_exists="1"
|
||||
fi
|
||||
|
||||
if [[ -n "${CLEAN_DOCKER_IMAGE}" ]] ; then
|
||||
force_rebuild="1"
|
||||
if [[ "${image_exists}" == "1" ]] ; then
|
||||
echo "Removing cached container image ${runner_image} ..."
|
||||
if [[ -z "${DRY_RUN}" ]] ; then
|
||||
"${container_cli}" image rm -f "${runner_image}" >/dev/null
|
||||
else
|
||||
printf '%q ' "${container_cli}" image rm -f "${runner_image}"
|
||||
echo
|
||||
fi
|
||||
image_exists="0"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${image_exists}" == "1" ]] ; then
|
||||
echo "Using cached container image ${runner_image}"
|
||||
return
|
||||
fi
|
||||
|
||||
build_cmd=(
|
||||
"${container_cli}" build --pull
|
||||
-t "${runner_image}"
|
||||
--build-arg "BASE_IMAGE=${base_image}"
|
||||
--build-arg "CMAKE_VERSION=${docker_cmake_version}"
|
||||
)
|
||||
if [[ "${force_rebuild}" == "1" ]] ; then
|
||||
build_cmd+=(--no-cache)
|
||||
fi
|
||||
build_cmd+=(-f - "${SCRIPT_PATH}")
|
||||
|
||||
printf '%q ' "${build_cmd[@]}"
|
||||
echo
|
||||
if [[ -n "${DRY_RUN}" ]] ; then
|
||||
return
|
||||
fi
|
||||
|
||||
docker_runner_dockerfile | "${build_cmd[@]}"
|
||||
}
|
||||
|
||||
function run_in_docker() {
|
||||
local container_cli
|
||||
local runner_image
|
||||
local container_workspace
|
||||
local host_uid
|
||||
local host_gid
|
||||
local host_user
|
||||
local -a build_args
|
||||
local -a container_env
|
||||
|
||||
container_cli=$(resolve_container_cli)
|
||||
runner_image=$(get_docker_runner_image)
|
||||
host_uid=$(id -u)
|
||||
host_gid=$(id -g)
|
||||
host_user="${USER:-orca}"
|
||||
container_workspace="/__w/OrcaSlicer/OrcaSlicer"
|
||||
build_args=()
|
||||
for item in "${FORWARDED_ARGS[@]}" ; do
|
||||
if [[ "${item}" == "-u" ]] || [[ "${item}" == "-D" ]] ; then
|
||||
continue
|
||||
fi
|
||||
|
||||
build_args+=("${item}")
|
||||
done
|
||||
|
||||
container_env=(
|
||||
-e "CI=true"
|
||||
-e "GITHUB_ACTIONS=true"
|
||||
-e "GITHUB_WORKSPACE=${container_workspace}"
|
||||
-e "RUNNER_OS=Linux"
|
||||
-e "RUNNER_TEMP=/tmp"
|
||||
-e "HOST_UID=${host_uid}"
|
||||
-e "HOST_GID=${host_gid}"
|
||||
-e "HOST_USER=${host_user}"
|
||||
)
|
||||
if [[ -n "${CMAKE_BUILD_PARALLEL_LEVEL}" ]] ; then
|
||||
container_env+=( -e "CMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL}" )
|
||||
fi
|
||||
if [[ -n "${ORCA_UPDATER_SIG_KEY}" ]] ; then
|
||||
container_env+=( -e "ORCA_UPDATER_SIG_KEY=${ORCA_UPDATER_SIG_KEY}" )
|
||||
fi
|
||||
|
||||
ensure_docker_runner_image "${container_cli}" "${runner_image}"
|
||||
|
||||
printf '%q ' "${container_cli}" run --rm -i \
|
||||
-v "${SCRIPT_PATH}:${container_workspace}" \
|
||||
-w "${container_workspace}" \
|
||||
"${container_env[@]}" \
|
||||
"${runner_image}" \
|
||||
bash -s -- "${build_args[@]}"
|
||||
echo
|
||||
if [[ -n "${DRY_RUN}" ]] ; then
|
||||
return
|
||||
fi
|
||||
|
||||
"${container_cli}" run --rm -i \
|
||||
-v "${SCRIPT_PATH}:${container_workspace}" \
|
||||
-w "${container_workspace}" \
|
||||
"${container_env[@]}" \
|
||||
"${runner_image}" \
|
||||
bash -s -- "${build_args[@]}" <<'EOF'
|
||||
set -e
|
||||
|
||||
function create_builder_user() {
|
||||
if [[ "${HOST_UID}" == "0" ]] ; then
|
||||
HOST_USER=root
|
||||
return
|
||||
fi
|
||||
|
||||
if getent group "${HOST_GID}" >/dev/null 2>&1 ; then
|
||||
HOST_GROUP=$(getent group "${HOST_GID}" | cut -d: -f1)
|
||||
else
|
||||
HOST_GROUP="orca-builder"
|
||||
if getent group "${HOST_GROUP}" >/dev/null 2>&1 ; then
|
||||
HOST_GROUP="orca-builder-${HOST_GID}"
|
||||
fi
|
||||
groupadd -g "${HOST_GID}" "${HOST_GROUP}"
|
||||
fi
|
||||
|
||||
if getent passwd "${HOST_UID}" >/dev/null 2>&1 ; then
|
||||
HOST_USER=$(getent passwd "${HOST_UID}" | cut -d: -f1)
|
||||
usermod -g "${HOST_GROUP}" "${HOST_USER}"
|
||||
elif id -u "${HOST_USER}" >/dev/null 2>&1 ; then
|
||||
usermod -u "${HOST_UID}" -g "${HOST_GROUP}" "${HOST_USER}"
|
||||
else
|
||||
useradd -m -u "${HOST_UID}" -g "${HOST_GROUP}" -s /bin/bash "${HOST_USER}"
|
||||
fi
|
||||
|
||||
echo "${HOST_USER} ALL=(ALL) NOPASSWD:ALL" >/etc/sudoers.d/orcaslicer-builder
|
||||
chmod 0440 /etc/sudoers.d/orcaslicer-builder
|
||||
}
|
||||
|
||||
create_builder_user
|
||||
mkdir -p "${GITHUB_WORKSPACE}/deps/build/destdir"
|
||||
chown -R "${HOST_UID}:${HOST_GID}" "${GITHUB_WORKSPACE}/deps/build"
|
||||
if [[ -d "${GITHUB_WORKSPACE}/build" ]] ; then
|
||||
chown -R "${HOST_UID}:${HOST_GID}" "${GITHUB_WORKSPACE}/build"
|
||||
fi
|
||||
if [[ -d "${GITHUB_WORKSPACE}/build-dbg" ]] ; then
|
||||
chown -R "${HOST_UID}:${HOST_GID}" "${GITHUB_WORKSPACE}/build-dbg"
|
||||
fi
|
||||
if [[ -d "${GITHUB_WORKSPACE}/build-dbginfo" ]] ; then
|
||||
chown -R "${HOST_UID}:${HOST_GID}" "${GITHUB_WORKSPACE}/build-dbginfo"
|
||||
fi
|
||||
|
||||
sudo -H -u "${HOST_USER}" env \
|
||||
CMAKE_BUILD_PARALLEL_LEVEL="${CMAKE_BUILD_PARALLEL_LEVEL-}" \
|
||||
GITHUB_WORKSPACE="${GITHUB_WORKSPACE}" \
|
||||
ORCA_UPDATER_SIG_KEY="${ORCA_UPDATER_SIG_KEY-}" \
|
||||
bash -c '
|
||||
set -e
|
||||
cd "${GITHUB_WORKSPACE}"
|
||||
if [[ "$#" -gt 0 ]] ; then
|
||||
./build_linux.sh "$@"
|
||||
else
|
||||
echo "No build steps were requested after container setup."
|
||||
fi
|
||||
' bash "$@"
|
||||
EOF
|
||||
}
|
||||
|
||||
if [[ -n "${USE_DOCKER}" ]] ; then
|
||||
run_in_docker
|
||||
popd > /dev/null # ${SCRIPT_PATH}
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# cmake 4.x compatibility workaround
|
||||
export CMAKE_POLICY_VERSION_MINIMUM=3.5
|
||||
|
||||
@@ -215,7 +517,7 @@ if [[ -n "${BUILD_DEPS}" ]] ; then
|
||||
fi
|
||||
|
||||
print_and_run cmake -S deps -B deps/$BUILD_DIR "${CMAKE_C_CXX_COMPILER_CLANG[@]}" "${CMAKE_LLD_LINKER_ARGS[@]}" -G Ninja "${COLORED_OUTPUT}" "${BUILD_ARGS[@]}"
|
||||
print_and_run cmake --build deps/$BUILD_DIR
|
||||
print_and_run cmake --build deps/$BUILD_DIR -j1
|
||||
fi
|
||||
|
||||
if [[ -n "${BUILD_ORCA}" ]] || [[ -n "${BUILD_TESTS}" ]] ; then
|
||||
|
||||
Vendored
+1
@@ -18,6 +18,7 @@ orcaslicer_add_cmake_project(Boost
|
||||
-DBOOST_EXCLUDE_LIBRARIES:STRING=contract|fiber|numpy|stacktrace|wave|test
|
||||
-DBOOST_LOCALE_ENABLE_ICU:BOOL=OFF # do not link to libicu, breaks compatibility between distros
|
||||
-DBUILD_TESTING:BOOL=OFF
|
||||
-DBOOST_IOSTREAMS_ENABLE_BZIP2:BOOL=OFF # avoid libbz2 soname differences in AppImage builds
|
||||
-DBOOST_IOSTREAMS_ENABLE_ZSTD:BOOL=OFF
|
||||
"${_context_abi_line}"
|
||||
"${_context_arch_line}"
|
||||
|
||||
Vendored
+11
-4
@@ -166,11 +166,18 @@ function(orcaslicer_add_cmake_project projectname)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
set(_gen "")
|
||||
set(_build_j "-j${NPROC}")
|
||||
if (MSVC)
|
||||
set(_gen CMAKE_GENERATOR "${DEP_MSVC_GEN}" CMAKE_GENERATOR_PLATFORM "${DEP_PLATFORM}")
|
||||
set(_build_j "/m")
|
||||
set(_gen CMAKE_GENERATOR "${DEP_MSVC_GEN}" CMAKE_GENERATOR_PLATFORM "${DEP_PLATFORM}")
|
||||
else()
|
||||
set(_gen "")
|
||||
endif()
|
||||
|
||||
if ($ENV{CMAKE_BUILD_PARALLEL_LEVEL})
|
||||
set(_build_j "") # assume environment will control --build parallel setting
|
||||
elseif(MSVC)
|
||||
set(_build_j "/m")
|
||||
else()
|
||||
set(_build_j "-j${NPROC}")
|
||||
endif ()
|
||||
|
||||
if (NOT IS_CROSS_COMPILE OR NOT APPLE)
|
||||
|
||||
Vendored
+7
-9
@@ -6,22 +6,20 @@ else()
|
||||
set(_build_static ON)
|
||||
endif()
|
||||
|
||||
set(_glfw_platform_args "")
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
set(_glfw_use_wayland "-DGLFW_USE_WAYLAND=ON")
|
||||
else()
|
||||
set(_glfw_use_wayland "-DGLFW_USE_WAYLAND=FF")
|
||||
set(_glfw_platform_args -DGLFW_BUILD_WAYLAND=ON -DGLFW_BUILD_X11=ON)
|
||||
endif()
|
||||
|
||||
orcaslicer_add_cmake_project(GLFW
|
||||
URL https://github.com/glfw/glfw/archive/refs/tags/3.3.7.zip
|
||||
URL_HASH SHA256=e02d956935e5b9fb4abf90e2c2e07c9a0526d7eacae8ee5353484c69a2a76cd0
|
||||
#DEPENDS dep_Boost
|
||||
URL https://github.com/glfw/glfw/archive/refs/tags/3.4.zip
|
||||
URL_HASH SHA256=a133ddc3d3c66143eba9035621db8e0bcf34dba1ee9514a9e23e96afd39fd57a
|
||||
CMAKE_ARGS
|
||||
-DBUILD_SHARED_LIBS=${_build_shared}
|
||||
-DBUILD_SHARED_LIBS=${_build_shared}
|
||||
-DGLFW_BUILD_DOCS=OFF
|
||||
-DGLFW_BUILD_EXAMPLES=OFF
|
||||
-DGLFW_BUILD_TESTS=OFF
|
||||
${_glfw_use_wayland}
|
||||
-DGLFW_BUILD_TESTS=OFF
|
||||
${_glfw_platform_args}
|
||||
)
|
||||
|
||||
if (MSVC)
|
||||
|
||||
Vendored
+2
@@ -55,6 +55,8 @@ orcaslicer_add_cmake_project(OpenCV
|
||||
-DWITH_VTK=OFF
|
||||
-DWITH_JPEG=OFF
|
||||
-DWITH_WEBP=OFF
|
||||
-DWITH_TIFF=OFF
|
||||
-DBUILD_TIFF=OFF
|
||||
-DENABLE_PRECOMPILED_HEADERS=OFF
|
||||
-DINSTALL_TESTS=OFF
|
||||
-DINSTALL_C_EXAMPLES=OFF
|
||||
|
||||
Vendored
+2
-1
@@ -38,7 +38,7 @@ orcaslicer_add_cmake_project(
|
||||
-DwxUSE_DETECT_SM=OFF
|
||||
-DwxUSE_PRIVATE_FONTS=ON
|
||||
-DwxUSE_OPENGL=ON
|
||||
-DwxUSE_GLCANVAS_EGL=OFF
|
||||
-DwxUSE_GLCANVAS_EGL=ON
|
||||
-DwxUSE_WEBREQUEST=ON
|
||||
-DwxUSE_WEBVIEW=ON
|
||||
${_wx_edge}
|
||||
@@ -52,6 +52,7 @@ orcaslicer_add_cmake_project(
|
||||
-DwxUSE_ZLIB=sys
|
||||
-DwxUSE_LIBJPEG=sys
|
||||
-DwxUSE_LIBTIFF=OFF
|
||||
-DwxUSE_LIBWEBP=builtin
|
||||
-DwxUSE_EXPAT=sys
|
||||
-DwxUSE_NANOSVG=OFF
|
||||
)
|
||||
|
||||
@@ -12435,7 +12435,7 @@ msgid ""
|
||||
"Orca Slicer can upload G-code files to a printer host. This field should "
|
||||
"contain the API Key or the password required for authentication."
|
||||
msgstr ""
|
||||
"OrcaSlicer puede cargar archivos G-Cpde a un host de impresora. Este campo "
|
||||
"OrcaSlicer puede cargar archivos G-Code a un host de impresora. Este campo "
|
||||
"debería contener una clave API o una contraseña requerida para la "
|
||||
"autenticación."
|
||||
|
||||
|
||||
+1148
-4055
File diff suppressed because it is too large
Load Diff
@@ -2854,7 +2854,7 @@ msgstr "内环"
|
||||
|
||||
#. TRN To be shown in the main menu View->Top
|
||||
msgid "Top"
|
||||
msgstr "上"
|
||||
msgstr "顶部"
|
||||
|
||||
msgid ""
|
||||
"The fan controls the temperature during printing to improve print quality. "
|
||||
@@ -3677,7 +3677,7 @@ msgstr "更新剩余容量"
|
||||
msgid ""
|
||||
"AMS will attempt to estimate the remaining capacity of the Bambu Lab "
|
||||
"filaments."
|
||||
msgstr "AMS 将尝试估计 Bambu Lab 细丝的剩余容量。"
|
||||
msgstr "AMS 将尝试估计 Bambu Lab 耗材丝的剩余容量。"
|
||||
|
||||
msgid "AMS filament backup"
|
||||
msgstr "AMS材料备份"
|
||||
@@ -4813,7 +4813,7 @@ msgstr "当前切片结果的分组不是最佳的。"
|
||||
|
||||
#, boost-format
|
||||
msgid "Increase %1%g filament and %2% changes compared to optimal grouping."
|
||||
msgstr "与最佳分组相比,增加 %1%g 细丝和 %2% 变化。"
|
||||
msgstr "与最佳分组相比,增加 %1%g 耗材丝和 %2% 变化。"
|
||||
|
||||
#, boost-format
|
||||
msgid ""
|
||||
@@ -5088,11 +5088,11 @@ msgstr "对齐到Y轴"
|
||||
|
||||
msgctxt "Camera"
|
||||
msgid "Left"
|
||||
msgstr "左边"
|
||||
msgstr "左"
|
||||
|
||||
msgctxt "Camera"
|
||||
msgid "Right"
|
||||
msgstr "正确的"
|
||||
msgstr "右"
|
||||
|
||||
msgid "Add"
|
||||
msgstr "添加"
|
||||
@@ -5236,7 +5236,7 @@ msgstr "耗材丝 %s 放置在 %s 中,但生成的 G-code 路径超出了 %s
|
||||
msgid ""
|
||||
"Filaments %s are placed in the %s, but the generated G-code path exceeds the "
|
||||
"printable range of the %s."
|
||||
msgstr "细丝 %s 放置在 %s 中,但生成的 G-code 路径超出了 %s 的可打印范围。"
|
||||
msgstr "耗材丝 %s 放置在 %s 中,但生成的 G-code 路径超出了 %s 的可打印范围。"
|
||||
|
||||
#, c-format, boost-format
|
||||
msgid ""
|
||||
@@ -5248,7 +5248,7 @@ msgstr "耗材丝 %s 放置在 %s 中,但生成的 G-code 路径超出了 %s
|
||||
msgid ""
|
||||
"Filaments %s are placed in the %s, but the generated G-code path exceeds the "
|
||||
"printable height of the %s."
|
||||
msgstr "细丝 %s 放置在 %s 中,但生成的 G-code 路径超出了 %s 的可打印高度。"
|
||||
msgstr "耗材丝 %s 放置在 %s 中,但生成的 G-code 路径超出了 %s 的可打印高度。"
|
||||
|
||||
msgid "Open wiki for more information."
|
||||
msgstr "打开维基百科了解更多信息。"
|
||||
@@ -5258,7 +5258,7 @@ msgstr "只有正在编辑的对象是可见的。"
|
||||
|
||||
#, c-format, boost-format
|
||||
msgid "Filaments %s cannot be printed directly on the surface of this plate."
|
||||
msgstr "细丝 %s 不能直接打印在该板的表面上。"
|
||||
msgstr "耗材 %s 不能直接打印在该板的表面上。"
|
||||
|
||||
msgid ""
|
||||
"PLA and PETG filaments detected in the mixture. Adjust parameters according "
|
||||
@@ -5475,13 +5475,13 @@ msgstr "顶部视图"
|
||||
|
||||
#. TRN To be shown in the main menu View->Bottom
|
||||
msgid "Bottom"
|
||||
msgstr "下"
|
||||
msgstr "底部"
|
||||
|
||||
msgid "Bottom View"
|
||||
msgstr "底部视图"
|
||||
|
||||
msgid "Front"
|
||||
msgstr "前"
|
||||
msgstr "前面"
|
||||
|
||||
msgid "Front View"
|
||||
msgstr "前视图"
|
||||
@@ -6855,7 +6855,7 @@ msgid "Nozzle Clumping Detection"
|
||||
msgstr "裹头检测"
|
||||
|
||||
msgid "Check if the nozzle is clumping by filaments or other foreign objects."
|
||||
msgstr "检查喷嘴是否被细丝或其他异物堵塞。"
|
||||
msgstr "检查喷嘴是否被耗材或其他异物堵塞。"
|
||||
|
||||
msgid "Detects air printing caused by nozzle clogging or filament grinding."
|
||||
msgstr "检测由于喷嘴堵塞或耗材丝研磨造成的空打。"
|
||||
@@ -8422,13 +8422,13 @@ msgid "My Printer"
|
||||
msgstr "我的打印机"
|
||||
|
||||
msgid "Left filaments"
|
||||
msgstr "左细丝"
|
||||
msgstr "左耗材"
|
||||
|
||||
msgid "AMS filaments"
|
||||
msgstr "AMS 打印丝"
|
||||
|
||||
msgid "Right filaments"
|
||||
msgstr "右细丝"
|
||||
msgstr "右耗材"
|
||||
|
||||
msgid "Click to select filament color"
|
||||
msgstr "点击设置材料颜色"
|
||||
@@ -8651,10 +8651,10 @@ msgid "Send print job"
|
||||
msgstr "发送打印作业"
|
||||
|
||||
msgid "On"
|
||||
msgstr "在"
|
||||
msgstr "开"
|
||||
|
||||
msgid "Not satisfied with the grouping of filaments? Regroup and slice ->"
|
||||
msgstr "对细丝的分组不满意?重组并切片 ->"
|
||||
msgstr "对耗材丝的分组不满意?重组并切片 ->"
|
||||
|
||||
msgid "Manually change external spool during printing for multi-color printing"
|
||||
msgstr "在打印过程中手动更换外部线轴以进行多色打印"
|
||||
@@ -8807,7 +8807,7 @@ msgstr "名称长度超过限制。"
|
||||
|
||||
#, c-format, boost-format
|
||||
msgid "Cost %dg filament and %d changes more than optimal grouping."
|
||||
msgstr "成本 %dg 细丝和 %d 的变化超过最佳分组。"
|
||||
msgstr "成本 %dg 耗材和 %d 的变化超过最佳分组。"
|
||||
|
||||
msgid "nozzle"
|
||||
msgstr "喷嘴"
|
||||
@@ -10094,7 +10094,7 @@ msgid "Append"
|
||||
msgstr "追加"
|
||||
|
||||
msgid "Append to existing filaments"
|
||||
msgstr "附加到现有细丝"
|
||||
msgstr "附加到现有耗材"
|
||||
|
||||
msgid "Reset mapped extruders."
|
||||
msgstr "重置匹配的耗材丝。"
|
||||
@@ -10316,7 +10316,7 @@ msgid ""
|
||||
"changed or filaments changed. You could disable the auto-calculate in Orca "
|
||||
"Slicer > Preferences"
|
||||
msgstr ""
|
||||
"每次细丝颜色发生变化或细丝发生变化时,Orca 都会重新计算您的冲洗量。您可以在 "
|
||||
"每次耗材颜色发生变化或耗材发生变化时,Orca 都会重新计算您的冲洗量。您可以在 "
|
||||
"Orca Slicer > 首选项中禁用自动计算"
|
||||
|
||||
msgid "Flushing volume (mm³) for each filament pair."
|
||||
@@ -11832,7 +11832,7 @@ msgid ""
|
||||
"filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"稍微减小该值(例如 0.9)以减少桥梁材料的用量,从而改善下垂。 实际使用的桥流量"
|
||||
"是通过将该值乘以细丝流量比以及对象的流量比(如果已设置)来计算的。"
|
||||
"是通过将该值乘以耗材流量比以及对象的流量比(如果已设置)来计算的。"
|
||||
|
||||
msgid "Internal bridge flow ratio"
|
||||
msgstr "内部搭桥流量比例"
|
||||
@@ -11847,7 +11847,7 @@ msgid ""
|
||||
"object's flow ratio."
|
||||
msgstr ""
|
||||
"该值控制内部桥接层的厚度。这是稀疏填充的第一层。稍微减小该值(例如 0.9)可改"
|
||||
"善稀疏填充的表面质量。 实际使用的内部桥流量是通过将该值乘以桥流量比、细丝流量"
|
||||
"善稀疏填充的表面质量。 实际使用的内部桥流量是通过将该值乘以桥流量比、耗材流量"
|
||||
"比以及对象的流量比(如果已设置)来计算的。"
|
||||
|
||||
msgid "Top surface flow ratio"
|
||||
@@ -11861,7 +11861,7 @@ msgid ""
|
||||
"with the filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"该因素影响顶部固体填充的材料量。您可以稍微减少它以获得光滑的表面光洁度。 实际"
|
||||
"使用的顶面流量是通过将该值乘以细丝流量比以及对象的流量比(如果已设置)来计算"
|
||||
"使用的顶面流量是通过将该值乘以耗材流量比以及对象的流量比(如果已设置)来计算"
|
||||
"的。"
|
||||
|
||||
msgid "Bottom surface flow ratio"
|
||||
@@ -11904,7 +11904,7 @@ msgid ""
|
||||
"The actual outer wall flow used is calculated by multiplying this value by "
|
||||
"the filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"该因素影响外墙材料的用量。 实际使用的外壁流量是通过将该值乘以细丝流量比以及对"
|
||||
"该因素影响外墙材料的用量。 实际使用的外壁流量是通过将该值乘以耗材流量比以及对"
|
||||
"象的流量比(如果已设置)来计算的。"
|
||||
|
||||
msgid "Inner wall flow ratio"
|
||||
@@ -11916,7 +11916,7 @@ msgid ""
|
||||
"The actual inner wall flow used is calculated by multiplying this value by "
|
||||
"the filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"该因素影响内壁材料的用量。 实际使用的内壁流量是通过将该值乘以细丝流量比以及对"
|
||||
"该因素影响内壁材料的用量。 实际使用的内壁流量是通过将该值乘以耗材流量比以及对"
|
||||
"象的流量比(如果已设置)来计算的。"
|
||||
|
||||
msgid "Overhang flow ratio"
|
||||
@@ -11928,7 +11928,7 @@ msgid ""
|
||||
"The actual overhang flow used is calculated by multiplying this value by the "
|
||||
"filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"该因素影响悬垂材料的数量。 实际使用的悬垂流量是通过将该值乘以细丝流量比以及对"
|
||||
"该因素影响悬垂材料的数量。 实际使用的悬垂流量是通过将该值乘以耗材流量比以及对"
|
||||
"象的流量比(如果已设置)来计算的。"
|
||||
|
||||
msgid "Sparse infill flow ratio"
|
||||
@@ -11940,7 +11940,7 @@ msgid ""
|
||||
"The actual sparse infill flow used is calculated by multiplying this value "
|
||||
"by the filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"该因素影响稀疏填充的材料量。 实际使用的稀疏填充流量是通过将该值乘以细丝流量比"
|
||||
"该因素影响稀疏填充的材料量。 实际使用的稀疏填充流量是通过将该值乘以耗材流量比"
|
||||
"以及对象的流量比(如果已设置)来计算的。"
|
||||
|
||||
msgid "Internal solid infill flow ratio"
|
||||
@@ -11953,7 +11953,7 @@ msgid ""
|
||||
"value by the filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"该因素影响内部固体填充材料的数量。 实际使用的内部固体填充流量是通过将该值乘以"
|
||||
"细丝流量比以及对象的流量比(如果已设置)来计算的。"
|
||||
"耗材流量比以及对象的流量比(如果已设置)来计算的。"
|
||||
|
||||
msgid "Gap fill flow ratio"
|
||||
msgstr "间隙填充流量比"
|
||||
@@ -11964,7 +11964,7 @@ msgid ""
|
||||
"The actual gap filling flow used is calculated by multiplying this value by "
|
||||
"the filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"该因素影响填充间隙的材料量。 实际使用的间隙填充流量是通过将该值乘以细丝流量比"
|
||||
"该因素影响填充间隙的材料量。 实际使用的间隙填充流量是通过将该值乘以耗材流量比"
|
||||
"以及对象的流量比(如果已设置)来计算的。"
|
||||
|
||||
msgid "Support flow ratio"
|
||||
@@ -11976,7 +11976,7 @@ msgid ""
|
||||
"The actual support flow used is calculated by multiplying this value by the "
|
||||
"filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"该因素影响支撑材料的数量。 实际使用的支撑流量是通过将该值乘以细丝流量比以及对"
|
||||
"该因素影响支撑材料的数量。 实际使用的支撑流量是通过将该值乘以耗材流量比以及对"
|
||||
"象的流量比(如果已设置)来计算的。"
|
||||
|
||||
msgid "Support interface flow ratio"
|
||||
@@ -11988,7 +11988,7 @@ msgid ""
|
||||
"The actual support interface flow used is calculated by multiplying this "
|
||||
"value by the filament flow ratio, and if set, the object's flow ratio."
|
||||
msgstr ""
|
||||
"该因素影响支撑界面的材料量。 实际使用的支撑界面流量是通过将该值乘以细丝流量比"
|
||||
"该因素影响支撑界面的材料量。 实际使用的支撑界面流量是通过将该值乘以耗材流量比"
|
||||
"以及对象的流量比(如果已设置)来计算的。"
|
||||
|
||||
msgid "Precise wall"
|
||||
@@ -13851,7 +13851,7 @@ msgid ""
|
||||
"the ironing flow for each filament type. Too high value results in "
|
||||
"overextrusion on the surface."
|
||||
msgstr ""
|
||||
"针对熨烫流程的细丝特定覆盖。这使您可以为每种细丝类型定制熨烫流程。值太高会导"
|
||||
"针对熨烫流程的耗材特定覆盖。这使您可以为每种耗材类型定制熨烫流程。值太高会导"
|
||||
"致表面过度挤压。"
|
||||
|
||||
msgid "Ironing line spacing"
|
||||
@@ -13861,7 +13861,7 @@ msgid ""
|
||||
"Filament-specific override for ironing line spacing. This allows you to "
|
||||
"customize the spacing between ironing lines for each filament type."
|
||||
msgstr ""
|
||||
"针对熨烫线间距的细丝特定覆盖。这使您可以自定义每种细丝类型的熨烫线之间的间"
|
||||
"针对熨烫线间距的耗材特定覆盖。这使您可以自定义每种耗材类型的熨烫线之间的间"
|
||||
"距。"
|
||||
|
||||
msgid "Ironing inset"
|
||||
@@ -13871,7 +13871,7 @@ msgid ""
|
||||
"Filament-specific override for ironing inset. This allows you to customize "
|
||||
"the distance to keep from the edges when ironing for each filament type."
|
||||
msgstr ""
|
||||
"用于熨烫插入的细丝特定覆盖。这使您可以自定义熨烫每种细丝类型时与边缘保持的距"
|
||||
"用于熨烫插入的耗材丝特定覆盖。这使您可以自定义熨烫每种耗材丝类型时与边缘保持的距"
|
||||
"离。"
|
||||
|
||||
msgid "Ironing speed"
|
||||
@@ -13881,7 +13881,7 @@ msgid ""
|
||||
"Filament-specific override for ironing speed. This allows you to customize "
|
||||
"the print speed of ironing lines for each filament type."
|
||||
msgstr ""
|
||||
"特定于耗材的熨烫速度优先。这允许您自定义每种细丝类型的熨烫线的打印速度。"
|
||||
"特定于耗材的熨烫速度优先。这允许您自定义每种耗材丝类型的熨烫线的打印速度。"
|
||||
|
||||
msgid ""
|
||||
"Randomly jitter while printing the wall, so that the surface has a rough "
|
||||
@@ -13948,7 +13948,7 @@ msgid ""
|
||||
"displayed, and the model will not be sliced. You can choose this number "
|
||||
"until this error is repeated."
|
||||
msgstr ""
|
||||
"模糊皮肤生成模式。仅适用于阿拉克尼!\n"
|
||||
"模糊皮肤生成模式。仅适用于Arachne!\n"
|
||||
"位移:经典模式,通过将喷嘴从原始路径向侧面移动来形成图案。\n"
|
||||
"挤出:通过挤出塑料量而形成图案的模式。这是一种快速而直接的算法,没有不必要的"
|
||||
"喷嘴抖动,可以产生平滑的图案。但它对于在整个阵列中形成松散的墙壁更有用。\n"
|
||||
@@ -14868,7 +14868,7 @@ msgstr ""
|
||||
"注意:此参数禁用圆弧拟合。"
|
||||
|
||||
msgid "mm³/s²"
|
||||
msgstr "毫米立方/秒平方"
|
||||
msgstr "mm³/s²"
|
||||
|
||||
msgid "Smoothing segment length"
|
||||
msgstr "平滑段长度"
|
||||
@@ -15213,7 +15213,7 @@ msgstr "切料回抽距离"
|
||||
msgid ""
|
||||
"Experimental feature: Retraction length before cutting off during filament "
|
||||
"change."
|
||||
msgstr "实验性选项。在更换耗材丝时,切断前的回抽长度"
|
||||
msgstr "实验性选项:在更换耗材丝时,切断前的回抽长度"
|
||||
|
||||
msgid "Long retraction when extruder change"
|
||||
msgstr "更换挤出机时长回缩"
|
||||
@@ -20696,7 +20696,7 @@ msgstr ""
|
||||
#~ msgstr "检查新版本"
|
||||
|
||||
#~ msgid "Detect spaghetti failure(scattered lose filament)."
|
||||
#~ msgstr "检测炒面故障(散落的细丝)。"
|
||||
#~ msgstr "检测炒面故障(散落的耗材丝)。"
|
||||
|
||||
#~ msgid "Rotate of view"
|
||||
#~ msgstr "旋转视图"
|
||||
|
||||
+1831
-1831
File diff suppressed because it is too large
Load Diff
+1190
-1190
File diff suppressed because it is too large
Load Diff
+1339
-1339
File diff suppressed because it is too large
Load Diff
+2015
-2015
File diff suppressed because it is too large
Load Diff
+20904
-20904
File diff suppressed because it is too large
Load Diff
+20316
-20316
File diff suppressed because it is too large
Load Diff
+20216
-20216
File diff suppressed because it is too large
Load Diff
+21800
-21800
File diff suppressed because it is too large
Load Diff
+20904
-20904
File diff suppressed because it is too large
Load Diff
+20316
-20316
File diff suppressed because it is too large
Load Diff
+20216
-20216
File diff suppressed because it is too large
Load Diff
+21800
-21800
File diff suppressed because it is too large
Load Diff
+20904
-20904
File diff suppressed because it is too large
Load Diff
+20316
-20316
File diff suppressed because it is too large
Load Diff
+20216
-20216
File diff suppressed because it is too large
Load Diff
+21800
-21800
File diff suppressed because it is too large
Load Diff
+20904
-20904
File diff suppressed because it is too large
Load Diff
+20316
-20316
File diff suppressed because it is too large
Load Diff
+20216
-20216
File diff suppressed because it is too large
Load Diff
+21800
-21800
File diff suppressed because it is too large
Load Diff
+20904
-20904
File diff suppressed because it is too large
Load Diff
+20316
-20316
File diff suppressed because it is too large
Load Diff
+20216
-20216
File diff suppressed because it is too large
Load Diff
+21800
-21800
File diff suppressed because it is too large
Load Diff
+20904
-20904
File diff suppressed because it is too large
Load Diff
+20316
-20316
File diff suppressed because it is too large
Load Diff
+20216
-20216
File diff suppressed because it is too large
Load Diff
+21800
-21800
File diff suppressed because it is too large
Load Diff
+20904
-20904
File diff suppressed because it is too large
Load Diff
+20316
-20316
File diff suppressed because it is too large
Load Diff
+20216
-20216
File diff suppressed because it is too large
Load Diff
+21800
-21800
File diff suppressed because it is too large
Load Diff
+20904
-20904
File diff suppressed because it is too large
Load Diff
+20316
-20316
File diff suppressed because it is too large
Load Diff
+20216
-20216
File diff suppressed because it is too large
Load Diff
+21800
-21800
File diff suppressed because it is too large
Load Diff
+20904
-20904
File diff suppressed because it is too large
Load Diff
+20316
-20316
File diff suppressed because it is too large
Load Diff
+20216
-20216
File diff suppressed because it is too large
Load Diff
+21800
-21800
File diff suppressed because it is too large
Load Diff
+20904
-20904
File diff suppressed because it is too large
Load Diff
+20316
-20316
File diff suppressed because it is too large
Load Diff
+20216
-20216
File diff suppressed because it is too large
Load Diff
+21800
-21800
File diff suppressed because it is too large
Load Diff
+20904
-20904
File diff suppressed because it is too large
Load Diff
+20316
-20316
File diff suppressed because it is too large
Load Diff
+20216
-20216
File diff suppressed because it is too large
Load Diff
+21800
-21800
File diff suppressed because it is too large
Load Diff
+20316
-20316
File diff suppressed because it is too large
Load Diff
+20904
-20904
File diff suppressed because it is too large
Load Diff
+20216
-20216
File diff suppressed because it is too large
Load Diff
+20904
-20904
File diff suppressed because it is too large
Load Diff
+20316
-20316
File diff suppressed because it is too large
Load Diff
+20216
-20216
File diff suppressed because it is too large
Load Diff
+21800
-21800
File diff suppressed because it is too large
Load Diff
+20904
-20904
File diff suppressed because it is too large
Load Diff
+20316
-20316
File diff suppressed because it is too large
Load Diff
+20216
-20216
File diff suppressed because it is too large
Load Diff
+21800
-21800
File diff suppressed because it is too large
Load Diff
+20904
-20904
File diff suppressed because it is too large
Load Diff
+20316
-20316
File diff suppressed because it is too large
Load Diff
+20216
-20216
File diff suppressed because it is too large
Load Diff
+21800
-21800
File diff suppressed because it is too large
Load Diff
@@ -1,43 +1,43 @@
|
||||
{
|
||||
"version": "1.0.0.4",
|
||||
"high_temp_filament": [
|
||||
"ABS",
|
||||
"ASA",
|
||||
"ASA-CF",
|
||||
"PC",
|
||||
"PA",
|
||||
"PA-CF",
|
||||
"PA-GF",
|
||||
"PA6-CF",
|
||||
"PET-CF",
|
||||
"PPS",
|
||||
"PPS-CF",
|
||||
"PPA-CF",
|
||||
"PPA-GF",
|
||||
"ABS-GF",
|
||||
"ASA-AERO"
|
||||
],
|
||||
"low_temp_filament": [
|
||||
"PLA",
|
||||
"TPU",
|
||||
"TPU-AMS",
|
||||
"PLA-CF",
|
||||
"PLA-AERO",
|
||||
"PVA",
|
||||
"BVOH",
|
||||
"PCTG",
|
||||
"PETG",
|
||||
"PETG-CF",
|
||||
"SBS"
|
||||
],
|
||||
"high_low_compatible_filament":[
|
||||
"HIPS",
|
||||
"PE",
|
||||
"PP",
|
||||
"EVA",
|
||||
"PE-CF",
|
||||
"PP-CF",
|
||||
"PP-GF",
|
||||
"PHA"
|
||||
]
|
||||
}
|
||||
"version": "1.0.0.4",
|
||||
"high_temp_filament": [
|
||||
"ABS",
|
||||
"ASA",
|
||||
"ASA-CF",
|
||||
"PC",
|
||||
"PA",
|
||||
"PA-CF",
|
||||
"PA-GF",
|
||||
"PA6-CF",
|
||||
"PET-CF",
|
||||
"PPS",
|
||||
"PPS-CF",
|
||||
"PPA-CF",
|
||||
"PPA-GF",
|
||||
"ABS-GF",
|
||||
"ASA-AERO"
|
||||
],
|
||||
"low_temp_filament": [
|
||||
"PLA",
|
||||
"TPU",
|
||||
"TPU-AMS",
|
||||
"PLA-CF",
|
||||
"PLA-AERO",
|
||||
"PVA",
|
||||
"BVOH",
|
||||
"PCTG",
|
||||
"PETG",
|
||||
"PETG-CF",
|
||||
"SBS"
|
||||
],
|
||||
"high_low_compatible_filament": [
|
||||
"HIPS",
|
||||
"PE",
|
||||
"PP",
|
||||
"EVA",
|
||||
"PE-CF",
|
||||
"PP-CF",
|
||||
"PP-GF",
|
||||
"PHA"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,41 +1,41 @@
|
||||
{
|
||||
"incompatible_nozzles":{
|
||||
"Standard":{
|
||||
"0.2":[
|
||||
"Bambu PLA Marble",
|
||||
"Bambu PLA Sparkle",
|
||||
"Bambu PLA Wood",
|
||||
"Bambu PLA Galaxy",
|
||||
"Bambu PETG Translucent"
|
||||
],
|
||||
"0.4":[],
|
||||
"0.6":[
|
||||
"Bambu PLA Silk+",
|
||||
"Bambu PLA Silk",
|
||||
"Bambu PLA Aero",
|
||||
"Bambu ASA-Aero"
|
||||
],
|
||||
"0.8":[
|
||||
"Bambu PLA Silk+",
|
||||
"Bambu PLA Silk",
|
||||
"Bambu PLA Aero",
|
||||
"Bambu ASA-Aero"
|
||||
]
|
||||
},
|
||||
"High Flow":{
|
||||
"0.4":[
|
||||
"Bambu PLA-CF",
|
||||
"Bambu PETG-CF",
|
||||
"Bambu ASA-CF",
|
||||
"Bambu PAHT-CF",
|
||||
"Bambu PET-CF",
|
||||
"Bambu PA6-CF",
|
||||
"Bambu PA6-GF",
|
||||
"Bambu PPA-CF",
|
||||
"Bambu PPS-CF"
|
||||
],
|
||||
"0.6":[],
|
||||
"0.8":[]
|
||||
}
|
||||
}
|
||||
}
|
||||
"incompatible_nozzles": {
|
||||
"Standard": {
|
||||
"0.2": [
|
||||
"Bambu PLA Marble",
|
||||
"Bambu PLA Sparkle",
|
||||
"Bambu PLA Wood",
|
||||
"Bambu PLA Galaxy",
|
||||
"Bambu PETG Translucent"
|
||||
],
|
||||
"0.4": [],
|
||||
"0.6": [
|
||||
"Bambu PLA Silk+",
|
||||
"Bambu PLA Silk",
|
||||
"Bambu PLA Aero",
|
||||
"Bambu ASA-Aero"
|
||||
],
|
||||
"0.8": [
|
||||
"Bambu PLA Silk+",
|
||||
"Bambu PLA Silk",
|
||||
"Bambu PLA Aero",
|
||||
"Bambu ASA-Aero"
|
||||
]
|
||||
},
|
||||
"High Flow": {
|
||||
"0.4": [
|
||||
"Bambu PLA-CF",
|
||||
"Bambu PETG-CF",
|
||||
"Bambu ASA-CF",
|
||||
"Bambu PAHT-CF",
|
||||
"Bambu PET-CF",
|
||||
"Bambu PA6-CF",
|
||||
"Bambu PA6-GF",
|
||||
"Bambu PPA-CF",
|
||||
"Bambu PPS-CF"
|
||||
],
|
||||
"0.6": [],
|
||||
"0.8": []
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"version": "1.0.0.3",
|
||||
"nozzle_hrc": {
|
||||
"hardened_steel": 55,
|
||||
"stainless_steel": 20,
|
||||
"tungsten_carbide": 85,
|
||||
"brass": 2,
|
||||
"E3D": 55,
|
||||
"undefine": 0
|
||||
}
|
||||
}
|
||||
"version": "1.0.0.3",
|
||||
"nozzle_hrc": {
|
||||
"hardened_steel": 55,
|
||||
"stainless_steel": 20,
|
||||
"tungsten_carbide": 85,
|
||||
"brass": 2,
|
||||
"E3D": 55,
|
||||
"undefine": 0
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,10 @@
|
||||
"display_name": "Bambu Lab X1 Carbon",
|
||||
"print": {
|
||||
"ipcam": {
|
||||
"resolution_supported": [ "720p", "1080p" ],
|
||||
"resolution_supported": [
|
||||
"720p",
|
||||
"1080p"
|
||||
],
|
||||
"virtual_camera": "enabled",
|
||||
"liveview": {
|
||||
"remote": "tutk"
|
||||
@@ -13,7 +16,10 @@
|
||||
"model_download": "enabled"
|
||||
}
|
||||
},
|
||||
"nozzle_temp_range": [ 0, 300 ],
|
||||
"nozzle_temp_range": [
|
||||
0,
|
||||
300
|
||||
],
|
||||
"nozzle_replace_wiki": {
|
||||
"zh": "https://wiki.bambulab.com/zh/x1/maintenance/replace-hotend",
|
||||
"en": "https://wiki.bambulab.com/en/x1/maintenance/replace-hotend"
|
||||
@@ -50,15 +56,25 @@
|
||||
"support_ams_ext_mix_print": true
|
||||
},
|
||||
"model_id": "BL-P001",
|
||||
"compatible_machine": [ "BL-P002", "C11", "C12", "C13" ],
|
||||
"auto_cali_not_support_filaments": [ "GFU03", "GFU04" ],
|
||||
"compatible_machine": [
|
||||
"BL-P002",
|
||||
"C11",
|
||||
"C12",
|
||||
"C13"
|
||||
],
|
||||
"auto_cali_not_support_filaments": [
|
||||
"GFU03",
|
||||
"GFU04"
|
||||
],
|
||||
"support_wrapping_detection": false,
|
||||
"auto_pa_cali_thumbnail_image": "fd_calibration_auto",
|
||||
"printer_type": "3DPrinter-X1-Carbon",
|
||||
"printer_thumbnail_image": "printer_thumbnail_x1c",
|
||||
"printer_connect_help_image": "input_access_code_x1",
|
||||
"printer_use_ams_image": "ams_icon",
|
||||
"printer_ext_image": ["ext_image_xp"],
|
||||
"printer_ext_image": [
|
||||
"ext_image_xp"
|
||||
],
|
||||
"use_ams_type": "generic",
|
||||
"printer_arch": "core_xy",
|
||||
"printer_series": "series_x1",
|
||||
@@ -101,4 +117,4 @@
|
||||
"support_user_preset": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,10 @@
|
||||
"display_name": "Bambu Lab X1",
|
||||
"print": {
|
||||
"ipcam": {
|
||||
"resolution_supported": [ "720p", "1080p" ],
|
||||
"resolution_supported": [
|
||||
"720p",
|
||||
"1080p"
|
||||
],
|
||||
"virtual_camera": "enabled",
|
||||
"liveview": {
|
||||
"remote": "tutk"
|
||||
@@ -13,7 +16,10 @@
|
||||
"model_download": "enabled"
|
||||
}
|
||||
},
|
||||
"nozzle_temp_range": [ 0, 300 ],
|
||||
"nozzle_temp_range": [
|
||||
0,
|
||||
300
|
||||
],
|
||||
"nozzle_replace_wiki": {
|
||||
"zh": "https://wiki.bambulab.com/zh/x1/maintenance/replace-hotend",
|
||||
"en": "https://wiki.bambulab.com/en/x1/maintenance/replace-hotend"
|
||||
@@ -51,14 +57,24 @@
|
||||
},
|
||||
"model_id": "BL-P002",
|
||||
"auto_pa_cali_thumbnail_image": "fd_calibration_auto",
|
||||
"compatible_machine": [ "BL-P001", "C11", "C12", "C13" ],
|
||||
"auto_cali_not_support_filaments": [ "GFU03", "GFU04" ],
|
||||
"compatible_machine": [
|
||||
"BL-P001",
|
||||
"C11",
|
||||
"C12",
|
||||
"C13"
|
||||
],
|
||||
"auto_cali_not_support_filaments": [
|
||||
"GFU03",
|
||||
"GFU04"
|
||||
],
|
||||
"printer_type": "3DPrinter-X1",
|
||||
"printer_thumbnail_image": "printer_thumbnail",
|
||||
"support_wrapping_detection": false,
|
||||
"printer_connect_help_image": "input_access_code_x1",
|
||||
"printer_use_ams_image": "ams_icon",
|
||||
"printer_ext_image": ["ext_image_xp"],
|
||||
"printer_ext_image": [
|
||||
"ext_image_xp"
|
||||
],
|
||||
"use_ams_type": "generic",
|
||||
"printer_arch": "core_xy",
|
||||
"printer_series": "series_x1",
|
||||
@@ -101,4 +117,4 @@
|
||||
"support_user_preset": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,12 +3,17 @@
|
||||
"display_name": "Bambu Lab P1P",
|
||||
"print": {
|
||||
"ipcam": {
|
||||
"resolution_supported": [ "720p" ],
|
||||
"resolution_supported": [
|
||||
"720p"
|
||||
],
|
||||
"liveview": {
|
||||
"local": "local"
|
||||
}
|
||||
},
|
||||
"nozzle_temp_range": [ 0, 300 ],
|
||||
"nozzle_temp_range": [
|
||||
0,
|
||||
300
|
||||
],
|
||||
"nozzle_replace_wiki": {
|
||||
"zh": "https://wiki.bambulab.com/zh/p1/maintenance/complete-hot-end-assembly",
|
||||
"en": "https://wiki.bambulab.com/en/p1/maintenance/complete-hot-end-assembly"
|
||||
@@ -47,14 +52,24 @@
|
||||
"model_id": "C11",
|
||||
"support_wrapping_detection": false,
|
||||
"auto_pa_cali_thumbnail_image": "fd_calibration_auto",
|
||||
"compatible_machine": [ "BL-P001", "BL-P002", "C12", "C13" ],
|
||||
"auto_cali_not_support_filaments": [ "GFU03", "GFU04" ],
|
||||
"compatible_machine": [
|
||||
"BL-P001",
|
||||
"BL-P002",
|
||||
"C12",
|
||||
"C13"
|
||||
],
|
||||
"auto_cali_not_support_filaments": [
|
||||
"GFU03",
|
||||
"GFU04"
|
||||
],
|
||||
"printer_type": "C11",
|
||||
"ftp_folder": "sdcard/",
|
||||
"printer_thumbnail_image": "printer_thumbnail_p1p",
|
||||
"printer_connect_help_image": "input_access_code_p1p",
|
||||
"printer_use_ams_image": "ams_icon",
|
||||
"printer_ext_image": ["ext_image_xp"],
|
||||
"printer_ext_image": [
|
||||
"ext_image_xp"
|
||||
],
|
||||
"use_ams_type": "generic",
|
||||
"printer_arch": "core_xy",
|
||||
"printer_series": "series_p1p",
|
||||
|
||||
@@ -3,12 +3,17 @@
|
||||
"display_name": "Bambu Lab P1S",
|
||||
"print": {
|
||||
"ipcam": {
|
||||
"resolution_supported": [ "720p" ],
|
||||
"resolution_supported": [
|
||||
"720p"
|
||||
],
|
||||
"liveview": {
|
||||
"local": "local"
|
||||
}
|
||||
},
|
||||
"nozzle_temp_range": [ 0, 300 ],
|
||||
"nozzle_temp_range": [
|
||||
0,
|
||||
300
|
||||
],
|
||||
"nozzle_replace_wiki": {
|
||||
"zh": "https://wiki.bambulab.com/zh/p1/maintenance/complete-hot-end-assembly",
|
||||
"en": "https://wiki.bambulab.com/en/p1/maintenance/complete-hot-end-assembly"
|
||||
@@ -47,14 +52,24 @@
|
||||
"model_id": "C12",
|
||||
"support_wrapping_detection": false,
|
||||
"auto_pa_cali_thumbnail_image": "fd_calibration_auto",
|
||||
"compatible_machine": [ "BL-P001", "BL-P002", "C11", "C13" ],
|
||||
"auto_cali_not_support_filaments": [ "GFU03", "GFU04" ],
|
||||
"compatible_machine": [
|
||||
"BL-P001",
|
||||
"BL-P002",
|
||||
"C11",
|
||||
"C13"
|
||||
],
|
||||
"auto_cali_not_support_filaments": [
|
||||
"GFU03",
|
||||
"GFU04"
|
||||
],
|
||||
"printer_type": "C12",
|
||||
"ftp_folder": "sdcard/",
|
||||
"printer_thumbnail_image": "printer_thumbnail_p1s",
|
||||
"printer_connect_help_image": "input_access_code_p1p",
|
||||
"printer_use_ams_image": "ams_icon",
|
||||
"printer_ext_image": ["ext_image_xp"],
|
||||
"printer_ext_image": [
|
||||
"ext_image_xp"
|
||||
],
|
||||
"use_ams_type": "generic",
|
||||
"printer_arch": "core_xy",
|
||||
"printer_series": "series_p1p",
|
||||
@@ -69,7 +84,9 @@
|
||||
},
|
||||
"01.03.50.01": {
|
||||
"engineer": "00.06.03.51",
|
||||
"resolution_supported": ["720p"],
|
||||
"resolution_supported": [
|
||||
"720p"
|
||||
],
|
||||
"print": {
|
||||
"ipcam": {
|
||||
"liveview": {
|
||||
|
||||
@@ -3,7 +3,10 @@
|
||||
"display_name": "Bambu Lab X1E",
|
||||
"print": {
|
||||
"ipcam": {
|
||||
"resolution_supported": [ "720p", "1080p" ],
|
||||
"resolution_supported": [
|
||||
"720p",
|
||||
"1080p"
|
||||
],
|
||||
"virtual_camera": "enabled",
|
||||
"liveview": {
|
||||
"remote": "tutk"
|
||||
@@ -13,7 +16,10 @@
|
||||
"model_download": "enabled"
|
||||
}
|
||||
},
|
||||
"nozzle_temp_range": [ 0, 320 ],
|
||||
"nozzle_temp_range": [
|
||||
0,
|
||||
320
|
||||
],
|
||||
"nozzle_replace_wiki": {
|
||||
"zh": "https://wiki.bambulab.com/zh/x1/maintenance/replace-hotend",
|
||||
"en": "https://wiki.bambulab.com/en/x1/maintenance/replace-hotend"
|
||||
@@ -46,7 +52,10 @@
|
||||
"support_first_layer_inspect": true,
|
||||
"support_chamber": true,
|
||||
"support_chamber_temp_edit": true,
|
||||
"support_chamber_temp_edit_range": [0, 60],
|
||||
"support_chamber_temp_edit_range": [
|
||||
0,
|
||||
60
|
||||
],
|
||||
"support_extrusion_cali": false,
|
||||
"support_user_preset": false,
|
||||
"bed_temperature_limit": 110,
|
||||
@@ -56,13 +65,23 @@
|
||||
"model_id": "C13",
|
||||
"support_wrapping_detection": false,
|
||||
"auto_pa_cali_thumbnail_image": "fd_calibration_auto",
|
||||
"compatible_machine": [ "BL-P001", "BL-P002", "C11", "C12" ],
|
||||
"auto_cali_not_support_filaments": [ "GFU03", "GFU04" ],
|
||||
"compatible_machine": [
|
||||
"BL-P001",
|
||||
"BL-P002",
|
||||
"C11",
|
||||
"C12"
|
||||
],
|
||||
"auto_cali_not_support_filaments": [
|
||||
"GFU03",
|
||||
"GFU04"
|
||||
],
|
||||
"printer_type": "C13",
|
||||
"printer_thumbnail_image": "printer_thumbnail_x1e",
|
||||
"printer_connect_help_image": "input_access_code_x1",
|
||||
"printer_use_ams_image": "ams_icon",
|
||||
"printer_ext_image": ["ext_image_xp"],
|
||||
"printer_ext_image": [
|
||||
"ext_image_xp"
|
||||
],
|
||||
"use_ams_type": "generic",
|
||||
"printer_arch": "core_xy",
|
||||
"printer_series": "series_x1",
|
||||
@@ -74,4 +93,4 @@
|
||||
"01.05.06.06": {
|
||||
"rv2166": "00.00.21.20"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,13 +3,18 @@
|
||||
"display_name": "Bambu Lab A1 mini",
|
||||
"print": {
|
||||
"ipcam": {
|
||||
"resolution_supported": [ "720p" ],
|
||||
"resolution_supported": [
|
||||
"720p"
|
||||
],
|
||||
"liveview": {
|
||||
"local": "local",
|
||||
"remote": "tutk"
|
||||
}
|
||||
},
|
||||
"nozzle_temp_range": [ 0, 300 ],
|
||||
"nozzle_temp_range": [
|
||||
0,
|
||||
300
|
||||
],
|
||||
"nozzle_replace_wiki": {
|
||||
"zh": "https://wiki.bambulab.com/zh/a1-mini/maintenance/hotend-heating-assembly-replacement",
|
||||
"en": "https://wiki.bambulab.com/en/a1-mini/maintenance/hotend-heating-assembly-replacement"
|
||||
@@ -48,13 +53,18 @@
|
||||
"support_wrapping_detection": false,
|
||||
"auto_pa_cali_thumbnail_image": "fd_calibration_auto_i3",
|
||||
"compatible_machine": [],
|
||||
"auto_cali_not_support_filaments": [ "GFU03", "GFU04" ],
|
||||
"auto_cali_not_support_filaments": [
|
||||
"GFU03",
|
||||
"GFU04"
|
||||
],
|
||||
"printer_type": "N1",
|
||||
"ftp_folder": "sdcard/",
|
||||
"printer_thumbnail_image": "printer_thumbnail_n1",
|
||||
"printer_connect_help_image": "input_access_code_n1",
|
||||
"printer_use_ams_image": "extra_icon",
|
||||
"printer_ext_image": ["ext_image_n1"],
|
||||
"printer_ext_image": [
|
||||
"ext_image_n1"
|
||||
],
|
||||
"use_ams_type": "f1",
|
||||
"printer_arch": "i3",
|
||||
"printer_series": "series_n",
|
||||
@@ -73,4 +83,4 @@
|
||||
"support_user_preset": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,13 +3,18 @@
|
||||
"display_name": "Bambu Lab A1",
|
||||
"print": {
|
||||
"ipcam": {
|
||||
"resolution_supported": [ "720p" ],
|
||||
"resolution_supported": [
|
||||
"720p"
|
||||
],
|
||||
"liveview": {
|
||||
"local": "local",
|
||||
"remote": "tutk"
|
||||
}
|
||||
},
|
||||
"nozzle_temp_range": [ 0, 300 ],
|
||||
"nozzle_temp_range": [
|
||||
0,
|
||||
300
|
||||
],
|
||||
"nozzle_replace_wiki": {
|
||||
"zh": "https://wiki.bambulab.com/zh/a1-mini/maintenance/hotend-heating-assembly-replacement",
|
||||
"en": "https://wiki.bambulab.com/en/a1-mini/maintenance/hotend-heating-assembly-replacement"
|
||||
@@ -46,7 +51,10 @@
|
||||
},
|
||||
"model_id": "N2S",
|
||||
"compatible_machine": [],
|
||||
"auto_cali_not_support_filaments": [ "GFU03", "GFU04" ],
|
||||
"auto_cali_not_support_filaments": [
|
||||
"GFU03",
|
||||
"GFU04"
|
||||
],
|
||||
"support_wrapping_detection": false,
|
||||
"auto_pa_cali_thumbnail_image": "fd_calibration_auto_i3",
|
||||
"printer_type": "N2S",
|
||||
@@ -54,7 +62,9 @@
|
||||
"printer_thumbnail_image": "printer_thumbnail_n2s",
|
||||
"printer_connect_help_image": "input_access_code_n1",
|
||||
"printer_use_ams_image": "extra_icon",
|
||||
"printer_ext_image": ["ext_image_n2s"],
|
||||
"printer_ext_image": [
|
||||
"ext_image_n2s"
|
||||
],
|
||||
"use_ams_type": "f1",
|
||||
"printer_arch": "i3",
|
||||
"printer_series": "series_n",
|
||||
@@ -72,4 +82,4 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+22
-12
@@ -3,7 +3,9 @@
|
||||
"display_name": "Bambu Lab P2S",
|
||||
"print": {
|
||||
"ipcam": {
|
||||
"resolution_supported": [ "1080p" ],
|
||||
"resolution_supported": [
|
||||
"1080p"
|
||||
],
|
||||
"virtual_camera": "enabled",
|
||||
"liveview": {
|
||||
"remote": "tutk"
|
||||
@@ -14,12 +16,18 @@
|
||||
"model_download": "enabled"
|
||||
}
|
||||
},
|
||||
"nozzle_temp_range": [ 0, 300 ],
|
||||
"nozzle_temp_range": [
|
||||
0,
|
||||
300
|
||||
],
|
||||
"nozzle_replace_wiki": {
|
||||
"zh": "https://wiki.bambulab.com/zh/h2/maintenance/replace-hotend",
|
||||
"en": "https://wiki.bambulab.com/en/h2/maintenance/replace-hotend"
|
||||
},
|
||||
"bed_temp_range": [ 0, 110 ],
|
||||
"bed_temp_range": [
|
||||
0,
|
||||
110
|
||||
],
|
||||
"support_motor_noise_cali": false,
|
||||
"support_tunnel_mqtt": true,
|
||||
"support_mqtt_alive": true,
|
||||
@@ -56,22 +64,22 @@
|
||||
"support_user_preset": false,
|
||||
"support_ams_ext_mix_print": true
|
||||
},
|
||||
"fan" : {
|
||||
"0" :
|
||||
{
|
||||
"fan": {
|
||||
"0": {
|
||||
"description": "",
|
||||
"2": "Right(Aux)",
|
||||
"10": "Left(Aux)"
|
||||
},
|
||||
"1" :
|
||||
{
|
||||
"1": {
|
||||
"2": "Right(Filter)",
|
||||
"10": "Left(Aux)"
|
||||
},
|
||||
"special_cooling_text" : "Cooling mode is suitable for printing PLA/PETG/TPU materials."
|
||||
"special_cooling_text": "Cooling mode is suitable for printing PLA/PETG/TPU materials."
|
||||
},
|
||||
"model_id": "N7",
|
||||
"subseries": ["N7-V2"],
|
||||
"subseries": [
|
||||
"N7-V2"
|
||||
],
|
||||
"auto_pa_cali_thumbnail_image": "fd_calibration_auto_n7",
|
||||
"support_wrapping_detection": true,
|
||||
"compatible_machine": [],
|
||||
@@ -79,7 +87,9 @@
|
||||
"printer_thumbnail_image": "printer_thumbnail_N7",
|
||||
"printer_connect_help_image": "input_access_code_x1",
|
||||
"printer_use_ams_image": "ams_icon",
|
||||
"printer_ext_image": ["ext_image_n7"],
|
||||
"printer_ext_image": [
|
||||
"ext_image_n7"
|
||||
],
|
||||
"use_ams_type": "generic",
|
||||
"printer_arch": "core_xy",
|
||||
"printer_series": "series_x1",
|
||||
@@ -88,4 +98,4 @@
|
||||
"enable_set_nozzle_info": false,
|
||||
"support_safety_options": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,16 @@
|
||||
"print": {
|
||||
"2D": {
|
||||
"laser": {
|
||||
"power": [ 10, 40 ]
|
||||
"power": [
|
||||
10,
|
||||
40
|
||||
]
|
||||
}
|
||||
},
|
||||
"ipcam": {
|
||||
"resolution_supported": [ "1080p" ],
|
||||
"resolution_supported": [
|
||||
"1080p"
|
||||
],
|
||||
"virtual_camera": "enabled",
|
||||
"liveview": {
|
||||
"remote": "tutk"
|
||||
@@ -19,12 +24,18 @@
|
||||
"model_download": "enabled"
|
||||
}
|
||||
},
|
||||
"nozzle_temp_range": [ 0, 350 ],
|
||||
"nozzle_temp_range": [
|
||||
0,
|
||||
350
|
||||
],
|
||||
"nozzle_replace_wiki": {
|
||||
"zh": "https://wiki.bambulab.com/zh/h2/maintenance/replace-hotend",
|
||||
"en": "https://wiki.bambulab.com/en/h2/maintenance/replace-hotend"
|
||||
},
|
||||
"bed_temp_range": [ 0, 120 ],
|
||||
"bed_temp_range": [
|
||||
0,
|
||||
120
|
||||
],
|
||||
"support_motor_noise_cali": false,
|
||||
"support_tunnel_mqtt": true,
|
||||
"support_mqtt_alive": true,
|
||||
@@ -56,7 +67,10 @@
|
||||
"support_save_remote_print_file_to_storage": true,
|
||||
"support_chamber": true,
|
||||
"support_chamber_temp_edit": true,
|
||||
"support_chamber_temp_edit_range": [ 0, 65 ],
|
||||
"support_chamber_temp_edit_range": [
|
||||
0,
|
||||
65
|
||||
],
|
||||
"support_chamber_temp_switch_heating": 40,
|
||||
"support_extrusion_cali": false,
|
||||
"support_user_preset": false,
|
||||
@@ -66,13 +80,22 @@
|
||||
"model_id": "O1D",
|
||||
"support_wrapping_detection": true,
|
||||
"auto_pa_cali_thumbnail_image": "fd_calibration_auto_multi_extruders",
|
||||
"printer_modes": [ "fdm", "laser", "cut" ],
|
||||
"compatible_machine": ["O1E"],
|
||||
"printer_modes": [
|
||||
"fdm",
|
||||
"laser",
|
||||
"cut"
|
||||
],
|
||||
"compatible_machine": [
|
||||
"O1E"
|
||||
],
|
||||
"printer_type": "O1D",
|
||||
"printer_thumbnail_image": "printer_thumbnail_h2d",
|
||||
"printer_connect_help_image": "input_access_code_h2d",
|
||||
"printer_use_ams_image": "ams_icon",
|
||||
"printer_ext_image": ["ext_image_o_right", "ext_image_o_left"],
|
||||
"printer_ext_image": [
|
||||
"ext_image_o_right",
|
||||
"ext_image_o_left"
|
||||
],
|
||||
"use_ams_type": "generic",
|
||||
"printer_arch": "core_xy",
|
||||
"printer_series": "series_o",
|
||||
@@ -81,4 +104,4 @@
|
||||
"enable_set_nozzle_info": false,
|
||||
"support_safety_options": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,16 @@
|
||||
"print": {
|
||||
"2D": {
|
||||
"laser": {
|
||||
"power": [ 10, 40 ]
|
||||
"power": [
|
||||
10,
|
||||
40
|
||||
]
|
||||
}
|
||||
},
|
||||
"ipcam": {
|
||||
"resolution_supported": [ "1080p" ],
|
||||
"resolution_supported": [
|
||||
"1080p"
|
||||
],
|
||||
"virtual_camera": "enabled",
|
||||
"liveview": {
|
||||
"remote": "tutk"
|
||||
@@ -19,12 +24,18 @@
|
||||
"model_download": "enabled"
|
||||
}
|
||||
},
|
||||
"nozzle_temp_range": [ 0, 350 ],
|
||||
"nozzle_temp_range": [
|
||||
0,
|
||||
350
|
||||
],
|
||||
"nozzle_replace_wiki": {
|
||||
"zh": "https://wiki.bambulab.com/zh/h2/maintenance/replace-hotend",
|
||||
"en": "https://wiki.bambulab.com/en/h2/maintenance/replace-hotend"
|
||||
},
|
||||
"bed_temp_range": [ 0, 120 ],
|
||||
"bed_temp_range": [
|
||||
0,
|
||||
120
|
||||
],
|
||||
"support_motor_noise_cali": false,
|
||||
"support_tunnel_mqtt": true,
|
||||
"support_mqtt_alive": true,
|
||||
@@ -56,7 +67,10 @@
|
||||
"support_save_remote_print_file_to_storage": true,
|
||||
"support_chamber": true,
|
||||
"support_chamber_temp_edit": true,
|
||||
"support_chamber_temp_edit_range": [ 0, 65 ],
|
||||
"support_chamber_temp_edit_range": [
|
||||
0,
|
||||
65
|
||||
],
|
||||
"support_chamber_temp_switch_heating": 40,
|
||||
"support_extrusion_cali": false,
|
||||
"support_user_preset": false,
|
||||
@@ -66,13 +80,22 @@
|
||||
"model_id": "O1E",
|
||||
"auto_pa_cali_thumbnail_image": "fd_calibration_auto_multi_extruders",
|
||||
"support_wrapping_detection": true,
|
||||
"printer_modes": [ "fdm", "laser", "cut" ],
|
||||
"compatible_machine": ["O1D"],
|
||||
"printer_modes": [
|
||||
"fdm",
|
||||
"laser",
|
||||
"cut"
|
||||
],
|
||||
"compatible_machine": [
|
||||
"O1D"
|
||||
],
|
||||
"printer_type": "O1E",
|
||||
"printer_thumbnail_image": "printer_thumbnail_o1e",
|
||||
"printer_connect_help_image": "input_access_code_h2d",
|
||||
"printer_use_ams_image": "ams_icon",
|
||||
"printer_ext_image": ["ext_image_o_right", "ext_image_o_left"],
|
||||
"printer_ext_image": [
|
||||
"ext_image_o_right",
|
||||
"ext_image_o_left"
|
||||
],
|
||||
"use_ams_type": "generic",
|
||||
"printer_arch": "core_xy",
|
||||
"printer_series": "series_o",
|
||||
@@ -81,4 +104,4 @@
|
||||
"enable_set_nozzle_info": false,
|
||||
"support_safety_options": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,16 @@
|
||||
"print": {
|
||||
"2D": {
|
||||
"laser": {
|
||||
"power": [ 10, 40 ]
|
||||
"power": [
|
||||
10,
|
||||
40
|
||||
]
|
||||
}
|
||||
},
|
||||
"ipcam": {
|
||||
"resolution_supported": [ "1080p" ],
|
||||
"resolution_supported": [
|
||||
"1080p"
|
||||
],
|
||||
"virtual_camera": "enabled",
|
||||
"liveview": {
|
||||
"remote": "tutk"
|
||||
@@ -19,12 +24,18 @@
|
||||
"model_download": "enabled"
|
||||
}
|
||||
},
|
||||
"nozzle_temp_range": [ 0, 350 ],
|
||||
"nozzle_temp_range": [
|
||||
0,
|
||||
350
|
||||
],
|
||||
"nozzle_replace_wiki": {
|
||||
"zh": "https://wiki.bambulab.com/zh/h2s/maintenance/replace-silicone-sock-and-hotend",
|
||||
"en": "https://wiki.bambulab.com/en/h2s/maintenance/replace-silicone-sock-and-hotend"
|
||||
},
|
||||
"bed_temp_range": [ 0, 120 ],
|
||||
"bed_temp_range": [
|
||||
0,
|
||||
120
|
||||
],
|
||||
"support_motor_noise_cali": false,
|
||||
"support_tunnel_mqtt": true,
|
||||
"support_mqtt_alive": true,
|
||||
@@ -55,7 +66,10 @@
|
||||
"support_first_layer_inspect": false,
|
||||
"support_save_remote_print_file_to_storage": true,
|
||||
"support_chamber_temp_edit": true,
|
||||
"support_chamber_temp_edit_range": [0, 65],
|
||||
"support_chamber_temp_edit_range": [
|
||||
0,
|
||||
65
|
||||
],
|
||||
"support_chamber_temp_switch_heating": 40,
|
||||
"support_extrusion_cali": false,
|
||||
"support_user_preset": false,
|
||||
@@ -63,13 +77,19 @@
|
||||
},
|
||||
"model_id": "O1S",
|
||||
"auto_pa_cali_thumbnail_image": "fd_calibration_auto_single_o",
|
||||
"printer_modes": [ "fdm", "laser", "cut" ],
|
||||
"printer_modes": [
|
||||
"fdm",
|
||||
"laser",
|
||||
"cut"
|
||||
],
|
||||
"compatible_machine": [],
|
||||
"printer_type": "O1S",
|
||||
"printer_thumbnail_image": "printer_thumbnail_o1s",
|
||||
"printer_connect_help_image": "input_access_code_x1",
|
||||
"printer_use_ams_image": "ams_icon",
|
||||
"printer_ext_image": ["ext_image_o1s"],
|
||||
"printer_ext_image": [
|
||||
"ext_image_o1s"
|
||||
],
|
||||
"use_ams_type": "generic",
|
||||
"printer_arch": "core_xy",
|
||||
"printer_series": "series_o",
|
||||
@@ -78,4 +98,4 @@
|
||||
"enable_set_nozzle_info": false,
|
||||
"support_safety_options": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,76 +1,82 @@
|
||||
{
|
||||
"whitelist": [
|
||||
],
|
||||
"blacklist": [
|
||||
{
|
||||
"type": "TPU",
|
||||
"action": "prohibition",
|
||||
"slot": "ams",
|
||||
"description": "TPU is not supported by AMS."
|
||||
},
|
||||
{
|
||||
"vendor": "Bambu Lab",
|
||||
"type": "PET-CF",
|
||||
"action": "prohibition",
|
||||
"slot": "ams",
|
||||
"description": "AMS does not support 'Bambu Lab PET-CF'."
|
||||
},
|
||||
{
|
||||
"type": "TPU",
|
||||
"action": "warning",
|
||||
"description": "Please cold pull before printing TPU to avoid clogging. You may use cold pull maintenance on the printer."
|
||||
},
|
||||
{
|
||||
"type": "TPU-AMS",
|
||||
"action": "warning",
|
||||
"description": "Please cold pull before printing TPU to avoid clogging. You may use cold pull maintenance on the printer."
|
||||
},
|
||||
{
|
||||
"type": "PVA",
|
||||
"action": "warning",
|
||||
"slot": "ams",
|
||||
"description": "Damp PVA will become flexible and get stuck inside AMS, please take care to dry it before use."
|
||||
},
|
||||
{
|
||||
"type": "PVA",
|
||||
"action": "warning",
|
||||
"slot": "ext",
|
||||
"description": "Damp PVA is flexible and may get stuck in extruder. Dry it before use."
|
||||
},
|
||||
{
|
||||
"type": "PPS-CF",
|
||||
"model_id":["O1S"],
|
||||
"action": "warning",
|
||||
"description": "PPS-CF is brittle and could break in bended PTFE tube above Toolhead.",
|
||||
"wiki": "https://e.bambulab.com/t?c=UC64kdlpHxN3Mb15"
|
||||
},
|
||||
{
|
||||
"type": "PPA-CF",
|
||||
"model_id":["O1S"],
|
||||
"action": "warning",
|
||||
"description": "PPA-CF is brittle and could break in bended PTFE tube above Toolhead.",
|
||||
"wiki": "https://e.bambulab.com/t?c=UC64kdlpHxN3Mb15"
|
||||
},
|
||||
{
|
||||
"type_suffix": "CF",
|
||||
"action": "warning",
|
||||
"slot": "ams",
|
||||
"description": "CF/GF filaments are hard and brittle, it's easy to break or get stuck in AMS, please use with caution."
|
||||
},
|
||||
{
|
||||
"type_suffix": "GF",
|
||||
"action": "warning",
|
||||
"slot": "ams",
|
||||
"description": "CF/GF filaments are hard and brittle, it's easy to break or get stuck in AMS, please use with caution."
|
||||
},
|
||||
{
|
||||
"vendor": "Bambu Lab",
|
||||
"type": "PLA",
|
||||
"name": "PLA Glow",
|
||||
"model_id":["N1","N2S"],
|
||||
"action": "warning",
|
||||
"slot": "ams",
|
||||
"description": "The rough surface of PLA Glow can accelerate wear on the AMS system, particularly on the internal components of the AMS Lite."
|
||||
}
|
||||
]
|
||||
"whitelist": [],
|
||||
"blacklist": [
|
||||
{
|
||||
"type": "TPU",
|
||||
"action": "prohibition",
|
||||
"slot": "ams",
|
||||
"description": "TPU is not supported by AMS."
|
||||
},
|
||||
{
|
||||
"vendor": "Bambu Lab",
|
||||
"type": "PET-CF",
|
||||
"action": "prohibition",
|
||||
"slot": "ams",
|
||||
"description": "AMS does not support 'Bambu Lab PET-CF'."
|
||||
},
|
||||
{
|
||||
"type": "TPU",
|
||||
"action": "warning",
|
||||
"description": "Please cold pull before printing TPU to avoid clogging. You may use cold pull maintenance on the printer."
|
||||
},
|
||||
{
|
||||
"type": "TPU-AMS",
|
||||
"action": "warning",
|
||||
"description": "Please cold pull before printing TPU to avoid clogging. You may use cold pull maintenance on the printer."
|
||||
},
|
||||
{
|
||||
"type": "PVA",
|
||||
"action": "warning",
|
||||
"slot": "ams",
|
||||
"description": "Damp PVA will become flexible and get stuck inside AMS, please take care to dry it before use."
|
||||
},
|
||||
{
|
||||
"type": "PVA",
|
||||
"action": "warning",
|
||||
"slot": "ext",
|
||||
"description": "Damp PVA is flexible and may get stuck in extruder. Dry it before use."
|
||||
},
|
||||
{
|
||||
"type": "PPS-CF",
|
||||
"model_id": [
|
||||
"O1S"
|
||||
],
|
||||
"action": "warning",
|
||||
"description": "PPS-CF is brittle and could break in bended PTFE tube above Toolhead.",
|
||||
"wiki": "https://e.bambulab.com/t?c=UC64kdlpHxN3Mb15"
|
||||
},
|
||||
{
|
||||
"type": "PPA-CF",
|
||||
"model_id": [
|
||||
"O1S"
|
||||
],
|
||||
"action": "warning",
|
||||
"description": "PPA-CF is brittle and could break in bended PTFE tube above Toolhead.",
|
||||
"wiki": "https://e.bambulab.com/t?c=UC64kdlpHxN3Mb15"
|
||||
},
|
||||
{
|
||||
"type_suffix": "CF",
|
||||
"action": "warning",
|
||||
"slot": "ams",
|
||||
"description": "CF/GF filaments are hard and brittle, it's easy to break or get stuck in AMS, please use with caution."
|
||||
},
|
||||
{
|
||||
"type_suffix": "GF",
|
||||
"action": "warning",
|
||||
"slot": "ams",
|
||||
"description": "CF/GF filaments are hard and brittle, it's easy to break or get stuck in AMS, please use with caution."
|
||||
},
|
||||
{
|
||||
"vendor": "Bambu Lab",
|
||||
"type": "PLA",
|
||||
"name": "PLA Glow",
|
||||
"model_id": [
|
||||
"N1",
|
||||
"N2S"
|
||||
],
|
||||
"action": "warning",
|
||||
"slot": "ams",
|
||||
"description": "The rough surface of PLA Glow can accelerate wear on the AMS system, particularly on the internal components of the AMS Lite."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+193
-193
@@ -1,194 +1,194 @@
|
||||
{
|
||||
"name": "Afinia",
|
||||
"version": "02.03.02.60",
|
||||
"force_update": "0",
|
||||
"description": "Afinia configurations",
|
||||
"machine_model_list": [
|
||||
{
|
||||
"name": "Afinia H+1(HS)",
|
||||
"sub_path": "machine/Afinia H+1(HS).json"
|
||||
}
|
||||
],
|
||||
"process_list": [
|
||||
{
|
||||
"name": "fdm_process_common",
|
||||
"sub_path": "process/fdm_process_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_common",
|
||||
"sub_path": "process/fdm_process_afinia_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.18_nozzle_0.6",
|
||||
"sub_path": "process/fdm_process_afinia_0.18_nozzle_0.6.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.24_nozzle_0.6",
|
||||
"sub_path": "process/fdm_process_afinia_0.24_nozzle_0.6.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.30_nozzle_0.6",
|
||||
"sub_path": "process/fdm_process_afinia_0.30_nozzle_0.6.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.36_nozzle_0.6",
|
||||
"sub_path": "process/fdm_process_afinia_0.36_nozzle_0.6.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.42_nozzle_0.6",
|
||||
"sub_path": "process/fdm_process_afinia_0.42_nozzle_0.6.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_HS_common",
|
||||
"sub_path": "process/fdm_process_afinia_HS_common.json"
|
||||
},
|
||||
{
|
||||
"name": "0.12mm Fine @Afinia H+1(HS)",
|
||||
"sub_path": "process/0.12mm Fine @Afinia H+1(HS).json"
|
||||
},
|
||||
{
|
||||
"name": "0.16mm Optimal @Afinia H+1(HS)",
|
||||
"sub_path": "process/0.16mm Optimal @Afinia H+1(HS).json"
|
||||
},
|
||||
{
|
||||
"name": "0.20mm Standard @Afinia H+1(HS)",
|
||||
"sub_path": "process/0.20mm Standard @Afinia H+1(HS).json"
|
||||
},
|
||||
{
|
||||
"name": "0.24mm Draft @Afinia H+1(HS)",
|
||||
"sub_path": "process/0.24mm Draft @Afinia H+1(HS).json"
|
||||
},
|
||||
{
|
||||
"name": "0.28mm Extra Draft @Afinia H+1(HS)",
|
||||
"sub_path": "process/0.28mm Extra Draft @Afinia H+1(HS).json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.18_nozzle_0.6_HS",
|
||||
"sub_path": "process/fdm_process_afinia_0.18_nozzle_0.6_HS.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.24_nozzle_0.6_HS",
|
||||
"sub_path": "process/fdm_process_afinia_0.24_nozzle_0.6_HS.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.30_nozzle_0.6_HS",
|
||||
"sub_path": "process/fdm_process_afinia_0.30_nozzle_0.6_HS.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.36_nozzle_0.6_HS",
|
||||
"sub_path": "process/fdm_process_afinia_0.36_nozzle_0.6_HS.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.42_nozzle_0.6_HS",
|
||||
"sub_path": "process/fdm_process_afinia_0.42_nozzle_0.6_HS.json"
|
||||
},
|
||||
{
|
||||
"name": "0.18mm Fine @Afinia H+1(HS) 0.6 nozzle",
|
||||
"sub_path": "process/0.18mm Fine @Afinia H+1(HS) 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.24mm Standard @Afinia H+1(HS) 0.6 nozzle",
|
||||
"sub_path": "process/0.24mm Standard @Afinia H+1(HS) 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.30mm Standard @Afinia H+1(HS) 0.6 nozzle",
|
||||
"sub_path": "process/0.30mm Standard @Afinia H+1(HS) 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.30mm Strength @Afinia H+1(HS) 0.6 nozzle",
|
||||
"sub_path": "process/0.30mm Strength @Afinia H+1(HS) 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.36mm Draft @Afinia H+1(HS) 0.6 nozzle",
|
||||
"sub_path": "process/0.36mm Draft @Afinia H+1(HS) 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.42mm Extra Draft @Afinia H+1(HS) 0.6 nozzle",
|
||||
"sub_path": "process/0.42mm Extra Draft @Afinia H+1(HS) 0.6 nozzle.json"
|
||||
}
|
||||
],
|
||||
"filament_list": [
|
||||
{
|
||||
"name": "fdm_filament_common",
|
||||
"sub_path": "filament/fdm_filament_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_filament_abs",
|
||||
"sub_path": "filament/fdm_filament_abs.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_filament_pla",
|
||||
"sub_path": "filament/fdm_filament_pla.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_filament_tpu",
|
||||
"sub_path": "filament/fdm_filament_tpu.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia ABS",
|
||||
"sub_path": "filament/Afinia ABS.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia ABS+",
|
||||
"sub_path": "filament/Afinia ABS+.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia ABS+@HS",
|
||||
"sub_path": "filament/Afinia ABS+@HS.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia ABS@HS",
|
||||
"sub_path": "filament/Afinia ABS@HS.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia Value ABS",
|
||||
"sub_path": "filament/Afinia Value ABS.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia Value ABS@HS",
|
||||
"sub_path": "filament/Afinia Value ABS@HS.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia PLA",
|
||||
"sub_path": "filament/Afinia PLA.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia PLA@HS",
|
||||
"sub_path": "filament/Afinia PLA@HS.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia Value PLA",
|
||||
"sub_path": "filament/Afinia Value PLA.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia Value PLA@HS",
|
||||
"sub_path": "filament/Afinia Value PLA@HS.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia TPU",
|
||||
"sub_path": "filament/Afinia TPU.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia TPU@HS",
|
||||
"sub_path": "filament/Afinia TPU@HS.json"
|
||||
}
|
||||
],
|
||||
"machine_list": [
|
||||
{
|
||||
"name": "fdm_machine_common",
|
||||
"sub_path": "machine/fdm_machine_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_afinia_common",
|
||||
"sub_path": "machine/fdm_afinia_common.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia H+1(HS) 0.4 nozzle",
|
||||
"sub_path": "machine/Afinia H+1(HS) 0.4 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia H+1(HS) 0.6 nozzle",
|
||||
"sub_path": "machine/Afinia H+1(HS) 0.6 nozzle.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
"name": "Afinia",
|
||||
"version": "02.03.02.60",
|
||||
"force_update": "0",
|
||||
"description": "Afinia configurations",
|
||||
"machine_model_list": [
|
||||
{
|
||||
"name": "Afinia H+1(HS)",
|
||||
"sub_path": "machine/Afinia H+1(HS).json"
|
||||
}
|
||||
],
|
||||
"process_list": [
|
||||
{
|
||||
"name": "fdm_process_common",
|
||||
"sub_path": "process/fdm_process_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_common",
|
||||
"sub_path": "process/fdm_process_afinia_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.18_nozzle_0.6",
|
||||
"sub_path": "process/fdm_process_afinia_0.18_nozzle_0.6.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.24_nozzle_0.6",
|
||||
"sub_path": "process/fdm_process_afinia_0.24_nozzle_0.6.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.30_nozzle_0.6",
|
||||
"sub_path": "process/fdm_process_afinia_0.30_nozzle_0.6.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.36_nozzle_0.6",
|
||||
"sub_path": "process/fdm_process_afinia_0.36_nozzle_0.6.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.42_nozzle_0.6",
|
||||
"sub_path": "process/fdm_process_afinia_0.42_nozzle_0.6.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_HS_common",
|
||||
"sub_path": "process/fdm_process_afinia_HS_common.json"
|
||||
},
|
||||
{
|
||||
"name": "0.12mm Fine @Afinia H+1(HS)",
|
||||
"sub_path": "process/0.12mm Fine @Afinia H+1(HS).json"
|
||||
},
|
||||
{
|
||||
"name": "0.16mm Optimal @Afinia H+1(HS)",
|
||||
"sub_path": "process/0.16mm Optimal @Afinia H+1(HS).json"
|
||||
},
|
||||
{
|
||||
"name": "0.20mm Standard @Afinia H+1(HS)",
|
||||
"sub_path": "process/0.20mm Standard @Afinia H+1(HS).json"
|
||||
},
|
||||
{
|
||||
"name": "0.24mm Draft @Afinia H+1(HS)",
|
||||
"sub_path": "process/0.24mm Draft @Afinia H+1(HS).json"
|
||||
},
|
||||
{
|
||||
"name": "0.28mm Extra Draft @Afinia H+1(HS)",
|
||||
"sub_path": "process/0.28mm Extra Draft @Afinia H+1(HS).json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.18_nozzle_0.6_HS",
|
||||
"sub_path": "process/fdm_process_afinia_0.18_nozzle_0.6_HS.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.24_nozzle_0.6_HS",
|
||||
"sub_path": "process/fdm_process_afinia_0.24_nozzle_0.6_HS.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.30_nozzle_0.6_HS",
|
||||
"sub_path": "process/fdm_process_afinia_0.30_nozzle_0.6_HS.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.36_nozzle_0.6_HS",
|
||||
"sub_path": "process/fdm_process_afinia_0.36_nozzle_0.6_HS.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_afinia_0.42_nozzle_0.6_HS",
|
||||
"sub_path": "process/fdm_process_afinia_0.42_nozzle_0.6_HS.json"
|
||||
},
|
||||
{
|
||||
"name": "0.18mm Fine @Afinia H+1(HS) 0.6 nozzle",
|
||||
"sub_path": "process/0.18mm Fine @Afinia H+1(HS) 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.24mm Standard @Afinia H+1(HS) 0.6 nozzle",
|
||||
"sub_path": "process/0.24mm Standard @Afinia H+1(HS) 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.30mm Standard @Afinia H+1(HS) 0.6 nozzle",
|
||||
"sub_path": "process/0.30mm Standard @Afinia H+1(HS) 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.30mm Strength @Afinia H+1(HS) 0.6 nozzle",
|
||||
"sub_path": "process/0.30mm Strength @Afinia H+1(HS) 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.36mm Draft @Afinia H+1(HS) 0.6 nozzle",
|
||||
"sub_path": "process/0.36mm Draft @Afinia H+1(HS) 0.6 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "0.42mm Extra Draft @Afinia H+1(HS) 0.6 nozzle",
|
||||
"sub_path": "process/0.42mm Extra Draft @Afinia H+1(HS) 0.6 nozzle.json"
|
||||
}
|
||||
],
|
||||
"filament_list": [
|
||||
{
|
||||
"name": "fdm_filament_common",
|
||||
"sub_path": "filament/fdm_filament_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_filament_abs",
|
||||
"sub_path": "filament/fdm_filament_abs.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_filament_pla",
|
||||
"sub_path": "filament/fdm_filament_pla.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_filament_tpu",
|
||||
"sub_path": "filament/fdm_filament_tpu.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia ABS",
|
||||
"sub_path": "filament/Afinia ABS.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia ABS+",
|
||||
"sub_path": "filament/Afinia ABS+.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia ABS+@HS",
|
||||
"sub_path": "filament/Afinia ABS+@HS.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia ABS@HS",
|
||||
"sub_path": "filament/Afinia ABS@HS.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia Value ABS",
|
||||
"sub_path": "filament/Afinia Value ABS.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia Value ABS@HS",
|
||||
"sub_path": "filament/Afinia Value ABS@HS.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia PLA",
|
||||
"sub_path": "filament/Afinia PLA.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia PLA@HS",
|
||||
"sub_path": "filament/Afinia PLA@HS.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia Value PLA",
|
||||
"sub_path": "filament/Afinia Value PLA.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia Value PLA@HS",
|
||||
"sub_path": "filament/Afinia Value PLA@HS.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia TPU",
|
||||
"sub_path": "filament/Afinia TPU.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia TPU@HS",
|
||||
"sub_path": "filament/Afinia TPU@HS.json"
|
||||
}
|
||||
],
|
||||
"machine_list": [
|
||||
{
|
||||
"name": "fdm_machine_common",
|
||||
"sub_path": "machine/fdm_machine_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_afinia_common",
|
||||
"sub_path": "machine/fdm_afinia_common.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia H+1(HS) 0.4 nozzle",
|
||||
"sub_path": "machine/Afinia H+1(HS) 0.4 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Afinia H+1(HS) 0.6 nozzle",
|
||||
"sub_path": "machine/Afinia H+1(HS) 0.6 nozzle.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,37 +1,37 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"filament_id": "GFB00",
|
||||
"setting_id": "GFSB00",
|
||||
"name": "Afinia ABS+",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_abs",
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_cost": [
|
||||
"24.99"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Afinia"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"60"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"16"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"275"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"275"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Afinia H400 Pro 0.4 nozzle",
|
||||
"Afinia H400 Pro 0.6 nozzle"
|
||||
]
|
||||
"type": "filament",
|
||||
"filament_id": "GFB00",
|
||||
"setting_id": "GFSB00",
|
||||
"name": "Afinia ABS+",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_abs",
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_cost": [
|
||||
"24.99"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Afinia"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"60"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"16"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"275"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"275"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Afinia H400 Pro 0.4 nozzle",
|
||||
"Afinia H400 Pro 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,37 +1,37 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"filament_id": "GFB00_01",
|
||||
"setting_id": "GFSB00",
|
||||
"name": "Afinia ABS+@HS",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_abs",
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_cost": [
|
||||
"24.99"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Afinia"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"60"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"16"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"275"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"275"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Afinia H+1(HS) 0.4 nozzle",
|
||||
"Afinia H+1(HS) 0.6 nozzle"
|
||||
]
|
||||
"type": "filament",
|
||||
"filament_id": "GFB00_01",
|
||||
"setting_id": "GFSB00",
|
||||
"name": "Afinia ABS+@HS",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_abs",
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_cost": [
|
||||
"24.99"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Afinia"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"60"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"16"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"275"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"275"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Afinia H+1(HS) 0.4 nozzle",
|
||||
"Afinia H+1(HS) 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"filament_id": "GFB00",
|
||||
"setting_id": "GFSB00",
|
||||
"name": "Afinia ABS",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_abs",
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_cost": [
|
||||
"24.99"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Afinia"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"60"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"16"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Afinia H400 Pro 0.4 nozzle",
|
||||
"Afinia H400 Pro 0.6 nozzle"
|
||||
]
|
||||
"type": "filament",
|
||||
"filament_id": "GFB00",
|
||||
"setting_id": "GFSB00",
|
||||
"name": "Afinia ABS",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_abs",
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_cost": [
|
||||
"24.99"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Afinia"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"60"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"16"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Afinia H400 Pro 0.4 nozzle",
|
||||
"Afinia H400 Pro 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"filament_id": "GFB00_01",
|
||||
"setting_id": "GFSB00",
|
||||
"name": "Afinia ABS@HS",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_abs",
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_cost": [
|
||||
"24.99"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Afinia"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"60"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"16"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Afinia H+1(HS) 0.4 nozzle",
|
||||
"Afinia H+1(HS) 0.6 nozzle"
|
||||
]
|
||||
"type": "filament",
|
||||
"filament_id": "GFB00_01",
|
||||
"setting_id": "GFSB00",
|
||||
"name": "Afinia ABS@HS",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_abs",
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
"filament_cost": [
|
||||
"24.99"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Afinia"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"60"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"16"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"12"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Afinia H+1(HS) 0.4 nozzle",
|
||||
"Afinia H+1(HS) 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"filament_id": "GFA00",
|
||||
"setting_id": "GFSA00",
|
||||
"name": "Afinia PLA",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"filament_cost": [
|
||||
"24.99"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.26"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.98"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"21"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Afinia"
|
||||
],
|
||||
"filament_long_retractions_when_cut": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_distances_when_cut": [
|
||||
"18"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Afinia H400 Pro 0.4 nozzle",
|
||||
"Afinia H400 Pro 0.6 nozzle"
|
||||
]
|
||||
"type": "filament",
|
||||
"filament_id": "GFA00",
|
||||
"setting_id": "GFSA00",
|
||||
"name": "Afinia PLA",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"filament_cost": [
|
||||
"24.99"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.26"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.98"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"21"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Afinia"
|
||||
],
|
||||
"filament_long_retractions_when_cut": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_distances_when_cut": [
|
||||
"18"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Afinia H400 Pro 0.4 nozzle",
|
||||
"Afinia H400 Pro 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"filament_id": "GFA00_01",
|
||||
"setting_id": "GFSA00",
|
||||
"name": "Afinia PLA@HS",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"filament_cost": [
|
||||
"24.99"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.26"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.98"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"21"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Afinia"
|
||||
],
|
||||
"filament_long_retractions_when_cut": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_distances_when_cut": [
|
||||
"18"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Afinia H+1(HS) 0.4 nozzle",
|
||||
"Afinia H+1(HS) 0.6 nozzle"
|
||||
]
|
||||
"type": "filament",
|
||||
"filament_id": "GFA00_01",
|
||||
"setting_id": "GFSA00",
|
||||
"name": "Afinia PLA@HS",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"filament_cost": [
|
||||
"24.99"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.26"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.98"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"21"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Afinia"
|
||||
],
|
||||
"filament_long_retractions_when_cut": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_distances_when_cut": [
|
||||
"18"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Afinia H+1(HS) 0.4 nozzle",
|
||||
"Afinia H+1(HS) 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Afinia TPU",
|
||||
"inherits": "fdm_filament_tpu",
|
||||
"from": "system",
|
||||
"filament_id": "GFU01",
|
||||
"instantiation": "true",
|
||||
"filament_vendor": [
|
||||
"Afinia"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.22"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"230"
|
||||
],
|
||||
"filament_cost": [
|
||||
"41.99"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"230"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Afinia H400 Pro 0.4 nozzle",
|
||||
"Afinia H400 Pro 0.6 nozzle"
|
||||
]
|
||||
"type": "filament",
|
||||
"name": "Afinia TPU",
|
||||
"inherits": "fdm_filament_tpu",
|
||||
"from": "system",
|
||||
"filament_id": "GFU01",
|
||||
"instantiation": "true",
|
||||
"filament_vendor": [
|
||||
"Afinia"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.22"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"230"
|
||||
],
|
||||
"filament_cost": [
|
||||
"41.99"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"230"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Afinia H400 Pro 0.4 nozzle",
|
||||
"Afinia H400 Pro 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user