mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-05-30 01:55:55 +08:00
Merge remote-tracking branch 'origin/main' into PP-371-Prevent-wrong-temperature-with-support-materials
This commit is contained in:
commit
2e0bc8c377
43
.github/workflows/installers.yml
vendored
43
.github/workflows/installers.yml
vendored
@ -30,6 +30,29 @@ on:
|
||||
required: true
|
||||
type: boolean
|
||||
|
||||
workflow_call:
|
||||
inputs:
|
||||
cura_conan_version:
|
||||
default: 'cura/latest@ultimaker/testing'
|
||||
required: true
|
||||
type: string
|
||||
conan_args:
|
||||
default: ''
|
||||
required: false
|
||||
type: string
|
||||
enterprise:
|
||||
default: false
|
||||
required: true
|
||||
type: boolean
|
||||
staging:
|
||||
default: false
|
||||
required: true
|
||||
type: boolean
|
||||
nightly:
|
||||
default: false
|
||||
required: true
|
||||
type: boolean
|
||||
|
||||
schedule:
|
||||
# Daily at 4:15 CET (main-branch) and 5:15 CET (release-branch)
|
||||
- cron: '15 3 * * *'
|
||||
@ -70,7 +93,7 @@ jobs:
|
||||
enterprise: ${{ github.event.inputs.enterprise == 'true' }}
|
||||
staging: ${{ github.event.inputs.staging == 'true' }}
|
||||
architecture: X64
|
||||
operating_system: ubuntu-22.04
|
||||
operating_system: self-hosted-Ubuntu22-X64
|
||||
secrets: inherit
|
||||
|
||||
macos-installer:
|
||||
@ -109,7 +132,7 @@ jobs:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Download the run info
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: linux-run-info
|
||||
|
||||
@ -151,13 +174,13 @@ jobs:
|
||||
f.writelines(f"NIGHTLY_TIME={nightly_creation_time}\n")
|
||||
|
||||
- name: Download linux installer jobs artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: ${{ steps.filename.outputs.LINUX }}-AppImage
|
||||
path: installers
|
||||
|
||||
- name: Download linux installer jobs asc artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: ${{ steps.filename.outputs.LINUX }}-asc
|
||||
path: installers
|
||||
@ -175,13 +198,13 @@ jobs:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Download win msi installer jobs artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: ${{ steps.filename.outputs.WIN_MSI }}-msi
|
||||
path: installers
|
||||
|
||||
- name: Download win exe installer jobs artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: ${{ steps.filename.outputs.WIN_EXE }}-exe
|
||||
path: installers
|
||||
@ -199,13 +222,13 @@ jobs:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Download MacOS (X64) dmg installer jobs artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: ${{ steps.filename.outputs.MAC_X64_DMG }}-dmg
|
||||
path: installers
|
||||
|
||||
- name: Download MacOS (X64) pkg installer jobs artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: ${{ steps.filename.outputs.MAC_X64_PKG }}-pkg
|
||||
path: installers
|
||||
@ -223,13 +246,13 @@ jobs:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Download MacOS (ARM-64) dmg installer jobs artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: ${{ steps.filename.outputs.MAC_ARM_DMG }}-dmg
|
||||
path: installers
|
||||
|
||||
- name: Download MacOS (ARM-64) pkg installer jobs artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: ${{ steps.filename.outputs.MAC_ARM_PKG }}-pkg
|
||||
path: installers
|
||||
|
5
.github/workflows/linux.yml
vendored
5
.github/workflows/linux.yml
vendored
@ -34,10 +34,11 @@ on:
|
||||
operating_system:
|
||||
description: 'OS'
|
||||
required: true
|
||||
default: 'ubuntu-22.04'
|
||||
default: 'self-hosted-Ubuntu22-X64'
|
||||
type: choice
|
||||
options:
|
||||
- ubuntu-22.04
|
||||
- self-hosted-Ubuntu22-X64
|
||||
|
||||
jobs:
|
||||
linux-installer:
|
||||
@ -49,4 +50,4 @@ jobs:
|
||||
staging: ${{ inputs.staging }}
|
||||
architecture: ${{ inputs.architecture }}
|
||||
operating_system: ${{ inputs.operating_system }}
|
||||
secrets: inherit
|
||||
secrets: inherit
|
||||
|
3
.github/workflows/macos.yml
vendored
3
.github/workflows/macos.yml
vendored
@ -40,7 +40,6 @@ on:
|
||||
options:
|
||||
- self-hosted-X64
|
||||
- self-hosted-ARM64
|
||||
- macos-11
|
||||
- macos-12
|
||||
|
||||
jobs:
|
||||
@ -53,4 +52,4 @@ jobs:
|
||||
staging: ${{ inputs.staging }}
|
||||
architecture: ${{ inputs.architecture }}
|
||||
operating_system: ${{ inputs.operating_system }}
|
||||
secrets: inherit
|
||||
secrets: inherit
|
||||
|
@ -53,7 +53,7 @@ jobs:
|
||||
run: |
|
||||
echo ${{ github.event.number }} > printer-linter-result/pr-id.txt
|
||||
echo ${{ github.event.pull_request.head.repo.full_name }} > printer-linter-result/pr-head-repo.txt
|
||||
echo ${{ github.event.pull_request.head.ref }} > printer-linter-result/pr-head-ref.txt
|
||||
echo ${{ github.event.pull_request.head.sha }} > printer-linter-result/pr-head-sha.txt
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
|
123
.github/workflows/printer-linter-pr-post.yml
vendored
123
.github/workflows/printer-linter-pr-post.yml
vendored
@ -5,92 +5,107 @@ on:
|
||||
workflows: ["printer-linter-pr-diagnose"]
|
||||
types: [completed]
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
|
||||
jobs:
|
||||
clang-tidy-results:
|
||||
printer-linter-result:
|
||||
# Trigger the job only if the previous (insecure) workflow completed successfully
|
||||
if: ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' }}
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Download analysis results
|
||||
uses: actions/github-script@v3.1.0
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
let artifacts = await github.actions.listWorkflowRunArtifacts({
|
||||
const artifacts = await github.rest.actions.listWorkflowRunArtifacts({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
run_id: ${{github.event.workflow_run.id }},
|
||||
});
|
||||
let matchArtifact = artifacts.data.artifacts.filter((artifact) => {
|
||||
const matchArtifact = artifacts.data.artifacts.filter((artifact) => {
|
||||
return artifact.name == "printer-linter-result"
|
||||
})[0];
|
||||
let download = await github.actions.downloadArtifact({
|
||||
const download = await github.rest.actions.downloadArtifact({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
artifact_id: matchArtifact.id,
|
||||
archive_format: "zip",
|
||||
});
|
||||
let fs = require("fs");
|
||||
fs.writeFileSync("${{github.workspace}}/printer-linter-result.zip", Buffer.from(download.data));
|
||||
|
||||
- name: Set environment variables
|
||||
run: |
|
||||
mkdir printer-linter-result
|
||||
unzip printer-linter-result.zip -d printer-linter-result
|
||||
echo "pr_id=$(cat printer-linter-result/pr-id.txt)" >> $GITHUB_ENV
|
||||
echo "pr_head_repo=$(cat printer-linter-result/pr-head-repo.txt)" >> $GITHUB_ENV
|
||||
echo "pr_head_ref=$(cat printer-linter-result/pr-head-ref.txt)" >> $GITHUB_ENV
|
||||
if [[ -f "printer-linter-result/comment.md" ]]; then
|
||||
echo "commentFileExists=true" >> $GITHUB_ENV
|
||||
else
|
||||
echo "commentFileExists=false" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
repository: ${{ env.pr_head_repo }}
|
||||
ref: ${{ env.pr_head_ref }}
|
||||
persist-credentials: false
|
||||
|
||||
- name: Redownload analysis results
|
||||
uses: actions/github-script@v3.1.0
|
||||
with:
|
||||
script: |
|
||||
let artifacts = await github.actions.listWorkflowRunArtifacts({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
run_id: ${{github.event.workflow_run.id }},
|
||||
});
|
||||
let matchArtifact = artifacts.data.artifacts.filter((artifact) => {
|
||||
return artifact.name == "printer-linter-result"
|
||||
})[0];
|
||||
let download = await github.actions.downloadArtifact({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
artifact_id: matchArtifact.id,
|
||||
archive_format: "zip",
|
||||
});
|
||||
let fs = require("fs");
|
||||
fs.writeFileSync("${{github.workspace}}/printer-linter-result.zip", Buffer.from(download.data));
|
||||
const fs = require("fs");
|
||||
fs.writeFileSync("${{ github.workspace }}/printer-linter-result.zip", Buffer.from(download.data));
|
||||
|
||||
- name: Extract analysis results
|
||||
run: |
|
||||
mkdir printer-linter-result
|
||||
unzip printer-linter-result.zip -d printer-linter-result
|
||||
unzip -j printer-linter-result.zip -d printer-linter-result
|
||||
|
||||
- name: Set PR details environment variables
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const assert = require("node:assert").strict;
|
||||
const fs = require("fs");
|
||||
function exportVar(varName, fileName, regEx) {
|
||||
const val = fs.readFileSync("${{ github.workspace }}/printer-linter-result/" + fileName, {
|
||||
encoding: "ascii"
|
||||
}).trimEnd();
|
||||
assert.ok(regEx.test(val), "Invalid value format for " + varName);
|
||||
core.exportVariable(varName, val);
|
||||
}
|
||||
exportVar("PR_ID", "pr-id.txt", /^[0-9]+$/);
|
||||
exportVar("PR_HEAD_REPO", "pr-head-repo.txt", /^[-./0-9A-Z_a-z]+$/);
|
||||
exportVar("PR_HEAD_SHA", "pr-head-sha.txt", /^[0-9A-Fa-f]+$/);
|
||||
fs.access("${{ github.workspace }}/printer-linter-result/comment.md", fs.constants.F_OK, (err) => {
|
||||
if (err) {
|
||||
core.exportVariable("commentFileExists", "false");
|
||||
} else {
|
||||
core.exportVariable("commentFileExists", "true");
|
||||
}
|
||||
});
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ env.PR_HEAD_REPO }}
|
||||
ref: ${{ env.PR_HEAD_SHA }}
|
||||
persist-credentials: false
|
||||
|
||||
- name: Redownload analysis results
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const artifacts = await github.rest.actions.listWorkflowRunArtifacts({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
run_id: ${{github.event.workflow_run.id }},
|
||||
});
|
||||
const matchArtifact = artifacts.data.artifacts.filter((artifact) => {
|
||||
return artifact.name == "printer-linter-result"
|
||||
})[0];
|
||||
const download = await github.rest.actions.downloadArtifact({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
artifact_id: matchArtifact.id,
|
||||
archive_format: "zip",
|
||||
});
|
||||
const fs = require("fs");
|
||||
fs.writeFileSync("${{ github.workspace }}/printer-linter-result.zip", Buffer.from(download.data));
|
||||
|
||||
- name: Extract analysis results
|
||||
run: |
|
||||
mkdir printer-linter-result
|
||||
unzip -j printer-linter-result.zip -d printer-linter-result
|
||||
|
||||
- name: Run PR Comments
|
||||
if: env.commentFileExists == 'true'
|
||||
uses: peter-evans/create-or-update-comment@v4
|
||||
with:
|
||||
issue-number: ${{ env.pr_id }}
|
||||
issue-number: ${{ env.PR_ID }}
|
||||
body-path: 'printer-linter-result/comment.md'
|
||||
|
||||
- name: Run clang-tidy-pr-comments action
|
||||
uses: platisd/clang-tidy-pr-comments@bc0bb7da034a8317d54e7fe1e819159002f4cc40
|
||||
uses: platisd/clang-tidy-pr-comments@v1
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
clang_tidy_fixes: printer-linter-result/fixes.yml
|
||||
pull_request_id: ${{ env.pr_id }}
|
||||
pull_request_id: ${{ env.PR_ID }}
|
||||
request_changes: true
|
||||
|
32
.github/workflows/release-process_feature-freeze.yml
vendored
Normal file
32
.github/workflows/release-process_feature-freeze.yml
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
name: Feature Freeze
|
||||
run-name: Feature freeze Cura ${{ inputs.cura_version }} by @${{ github.actor }}
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
cura_version:
|
||||
description: 'Cura version major and minor, e.g. 5.7'
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
parse-version:
|
||||
name: Parse input version string
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
package_version: ${{ steps.version_parser.outputs.major }}.${{ steps.version_parser.outputs.minor }}.0-alpha.1
|
||||
steps:
|
||||
- name: Parse version string
|
||||
id: version_parser
|
||||
uses: booxmedialtd/ws-action-parse-semver@v1.4.7
|
||||
with:
|
||||
input_string: ${{ inputs.cura_version }}.0
|
||||
|
||||
feature-freeze:
|
||||
name: Process feature freeze
|
||||
uses: Ultimaker/Cura-workflows/.github/workflows/cura-set-packages-versions.yml@main
|
||||
needs: [parse-version]
|
||||
with:
|
||||
cura_version: ${{ needs.parse-version.outputs.package_version }}
|
||||
create_feature_branch: true
|
||||
secrets: inherit
|
179
.github/workflows/release-process_release-candidate.yml
vendored
Normal file
179
.github/workflows/release-process_release-candidate.yml
vendored
Normal file
@ -0,0 +1,179 @@
|
||||
name: Prepare Release Candidate
|
||||
run-name: Release Candidate for Cura ${{ inputs.cura_version }} by @${{ github.actor }}
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
cura_version:
|
||||
description: 'Cura version number, e.g. 5.7.0, 5.7.2 or 5.8.0-beta.2'
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
parse-version:
|
||||
name: Parse input version string
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
version_major: ${{ steps.version_parser.outputs.major }}
|
||||
version_minor: ${{ steps.version_parser.outputs.minor }}
|
||||
version_patch: ${{ steps.version_parser.outputs.patch }}
|
||||
branch_name: ${{ steps.version_parser.outputs.major }}.${{ steps.version_parser.outputs.minor }}
|
||||
steps:
|
||||
- name: Parse version string
|
||||
id: version_parser
|
||||
uses: booxmedialtd/ws-action-parse-semver@v1.4.7
|
||||
with:
|
||||
input_string: ${{ inputs.cura_version }}
|
||||
|
||||
freeze-packages-versions:
|
||||
name: Freeze packges versions
|
||||
uses: Ultimaker/Cura-workflows/.github/workflows/cura-set-packages-versions.yml@main
|
||||
needs: [parse-version]
|
||||
with:
|
||||
cura_version: ${{ inputs.cura_version }}
|
||||
create_feature_branch: false
|
||||
secrets: inherit
|
||||
|
||||
find-rc-tag:
|
||||
name: Find RC tag name
|
||||
runs-on: ubuntu-latest
|
||||
needs: [freeze-packages-versions]
|
||||
outputs:
|
||||
tag_name: ${{ steps.find-available-tag-name.outputs.tag_name }}
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-tags: true
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Find available tag name
|
||||
id: find-available-tag-name
|
||||
run: |
|
||||
VERSION=${{ inputs.cura_version }}
|
||||
|
||||
RC_INDEX=0
|
||||
while
|
||||
RC_INDEX=$((RC_INDEX+1))
|
||||
TAG_NAME="$VERSION-RC$RC_INDEX"
|
||||
[[ $(git tag -l "$TAG_NAME") ]]
|
||||
do true; done
|
||||
|
||||
echo "tag_name=$TAG_NAME" >> "$GITHUB_OUTPUT"
|
||||
|
||||
create-tags:
|
||||
name: Create tags
|
||||
runs-on: ubuntu-latest
|
||||
needs: [parse-version, find-rc-tag]
|
||||
strategy:
|
||||
matrix:
|
||||
repository: [Cura, Uranium, CuraEngine, cura-binary-data, fdm_materials]
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: Ultimaker/${{ matrix.repository }}
|
||||
ref: ${{ needs.parse-version.outputs.branch_name }}
|
||||
token: ${{ secrets.CURA_AUTORELEASE_PAT }}
|
||||
|
||||
- name: Create tag
|
||||
run: |
|
||||
git tag ${{ needs.find-rc-tag.outputs.tag_name }}
|
||||
git push origin tag ${{ needs.find-rc-tag.outputs.tag_name }}
|
||||
|
||||
create-dependencies-packages:
|
||||
name: Create conan packages for dependencies
|
||||
uses: ultimaker/cura-workflows/.github/workflows/conan-package-release.yml@main
|
||||
needs: [parse-version, freeze-packages-versions]
|
||||
strategy:
|
||||
matrix:
|
||||
repository: [Cura, Uranium, CuraEngine, cura-binary-data, fdm_materials]
|
||||
include:
|
||||
- conan_recipe_root: "."
|
||||
- repository: Cura
|
||||
conan_recipe_root: "resources"
|
||||
with:
|
||||
repository: ${{ matrix.repository }}
|
||||
ref_name: ${{ needs.parse-version.outputs.branch_name }}
|
||||
version: ${{ inputs.cura_version }}
|
||||
conan_release: true
|
||||
conan_user_channel: ultimaker/stable
|
||||
conan_internal: false
|
||||
conan_latest: true
|
||||
conan_recipe_root: ${{ matrix.conan_recipe_root }}
|
||||
secrets: inherit
|
||||
|
||||
create-cura-package:
|
||||
name: Create conan package for Cura
|
||||
uses: ultimaker/cura-workflows/.github/workflows/conan-package-release.yml@main
|
||||
needs: [parse-version, create-dependencies-packages]
|
||||
with:
|
||||
repository: Cura
|
||||
ref_name: ${{ needs.parse-version.outputs.branch_name }}
|
||||
version: ${{ inputs.cura_version }}
|
||||
conan_release: true
|
||||
conan_user_channel: ultimaker/stable
|
||||
conan_internal: false
|
||||
conan_latest: true
|
||||
secrets: inherit
|
||||
|
||||
create-installers:
|
||||
name: Create installers
|
||||
uses: ./.github/workflows/installers.yml
|
||||
needs: [parse-version, create-cura-package]
|
||||
with:
|
||||
cura_conan_version: cura/${{ inputs.cura_version }}@/
|
||||
enterprise: false
|
||||
staging: false
|
||||
nightly: false
|
||||
secrets: inherit
|
||||
|
||||
create-release-draft:
|
||||
name: Create the release draft
|
||||
runs-on: ubuntu-latest
|
||||
needs: [create-installers, parse-version]
|
||||
steps:
|
||||
- name: Checkout Cura repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ needs.parse-version.outputs.branch_name }}
|
||||
|
||||
- name: Extract changelog
|
||||
run: python ./scripts/extract_changelog.py --version ${{ needs.parse-version.outputs.version_major }}.${{ needs.parse-version.outputs.version_minor }}.${{ needs.parse-version.outputs.version_patch }} --changelog ./resources/texts/change_log.txt > formatted_changelog.txt
|
||||
|
||||
- name: Get commit id for release
|
||||
id: get-commit-id
|
||||
uses: iawia002/get-tag-or-commit-id@v1.0.1
|
||||
with:
|
||||
length: 40
|
||||
|
||||
- name: Create release
|
||||
uses: notpeelz/action-gh-create-release@v5.0.1
|
||||
with:
|
||||
target: ${{ steps.get-commit-id.outputs.id }}
|
||||
tag: ${{ inputs.cura_version }}
|
||||
strategy: replace
|
||||
title: UltiMaker Cura ${{ inputs.cura_version }}
|
||||
draft: true
|
||||
body-source: file
|
||||
body: formatted_changelog.txt
|
||||
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v4.1.7
|
||||
with:
|
||||
path: artifacts
|
||||
merge-multiple: true
|
||||
|
||||
- name: Upload artifacts
|
||||
working-directory: artifacts
|
||||
run: |
|
||||
gh release upload ${{ inputs.cura_version }} UltiMaker-Cura-${{ inputs.cura_version }}-linux-X64.AppImage --clobber
|
||||
gh release upload ${{ inputs.cura_version }} UltiMaker-Cura-${{ inputs.cura_version }}-linux-X64.AppImage.asc --clobber
|
||||
gh release upload ${{ inputs.cura_version }} UltiMaker-Cura-${{ inputs.cura_version }}-macos-ARM64.dmg --clobber
|
||||
gh release upload ${{ inputs.cura_version }} UltiMaker-Cura-${{ inputs.cura_version }}-macos-ARM64.pkg --clobber
|
||||
gh release upload ${{ inputs.cura_version }} UltiMaker-Cura-${{ inputs.cura_version }}-macos-X64.dmg --clobber
|
||||
gh release upload ${{ inputs.cura_version }} UltiMaker-Cura-${{ inputs.cura_version }}-macos-X64.pkg --clobber
|
||||
gh release upload ${{ inputs.cura_version }} UltiMaker-Cura-${{ inputs.cura_version }}-win64-X64.exe --clobber
|
||||
gh release upload ${{ inputs.cura_version }} UltiMaker-Cura-${{ inputs.cura_version }}-win64-X64.msi --clobber
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
2
.github/workflows/windows.yml
vendored
2
.github/workflows/windows.yml
vendored
@ -50,4 +50,4 @@ jobs:
|
||||
staging: ${{ inputs.staging }}
|
||||
architecture: ${{ inputs.architecture }}
|
||||
operating_system: ${{ inputs.operating_system }}
|
||||
secrets: inherit
|
||||
secrets: inherit
|
||||
|
@ -2,6 +2,7 @@ checks:
|
||||
diagnostic-mesh-file-extension: true
|
||||
diagnostic-mesh-file-size: true
|
||||
diagnostic-definition-redundant-override: true
|
||||
diagnostic-definition-experimental-setting: true
|
||||
diagnostic-resources-macos-app-directory-name: true
|
||||
diagnostic-incorrect-formula: true
|
||||
diagnostic-resource-file-deleted: true
|
||||
|
@ -5,11 +5,10 @@ requirements:
|
||||
- "curaengine/(latest)@ultimaker/testing"
|
||||
- "cura_binary_data/(latest)@ultimaker/testing"
|
||||
- "fdm_materials/(latest)@ultimaker/testing"
|
||||
- "curaengine_plugin_gradual_flow/0.1.0-beta.3"
|
||||
- "curaengine_plugin_gradual_flow/0.1.1-beta.3"
|
||||
- "dulcificum/latest@ultimaker/testing"
|
||||
- "pysavitar/5.3.0"
|
||||
- "pynest2d/5.3.0"
|
||||
- "curaengine_grpc_definitions/0.2.0"
|
||||
- "native_cad_plugin/2.0.0"
|
||||
requirements_internal:
|
||||
- "fdm_materials/(latest)@internal/testing"
|
||||
|
@ -329,7 +329,6 @@ class CuraConan(ConanFile):
|
||||
self.options["cpython"].shared = True
|
||||
self.options["boost"].header_only = True
|
||||
if self.settings.os == "Linux":
|
||||
self.options["curaengine_grpc_definitions"].shared = True
|
||||
self.options["openssl"].shared = True
|
||||
if self.conf.get("user.curaengine:sentry_url", "", check_type=str) != "":
|
||||
self.options["curaengine"].enable_sentry = True
|
||||
|
@ -115,15 +115,15 @@ class Account(QObject):
|
||||
self._update_timer.setSingleShot(True)
|
||||
self._update_timer.timeout.connect(self.sync)
|
||||
|
||||
self._sync_services: Dict[str, int] = {}
|
||||
"""contains entries "service_name" : SyncState"""
|
||||
self.syncRequested.connect(self._updatePermissions)
|
||||
self._sync_services: Dict[str, int] = {}
|
||||
|
||||
def initialize(self) -> None:
|
||||
self._authorization_service.initialize(self._application.getPreferences())
|
||||
self._authorization_service.onAuthStateChanged.connect(self._onLoginStateChanged)
|
||||
self._authorization_service.onAuthenticationError.connect(self._onLoginStateChanged)
|
||||
self._authorization_service.accessTokenChanged.connect(self._onAccessTokenChanged)
|
||||
self._authorization_service.accessTokenChanged.connect(self._updatePermissions)
|
||||
self._authorization_service.loadAuthDataFromPreferences()
|
||||
|
||||
@pyqtProperty(int, notify=syncStateChanged)
|
||||
|
@ -24,6 +24,10 @@ intent_translations["quick"] = {
|
||||
"name": catalog.i18nc("@label", "Draft"),
|
||||
"description": catalog.i18nc("@text", "The draft profile is designed to print initial prototypes and concept validation with the intent of significant print time reduction.")
|
||||
}
|
||||
intent_translations["annealing"] = {
|
||||
"name": catalog.i18nc("@label", "Annealing"),
|
||||
"description": catalog.i18nc("@text", "The annealing profile requires post-processing in an oven after the print is finished. This profile retains the dimensional accuracy of the printed part after annealing and improves strength, stiffness, and thermal resistance.")
|
||||
}
|
||||
intent_translations["solid"] = {
|
||||
"name": catalog.i18nc("@label", "Solid"),
|
||||
"description": catalog.i18nc("@text",
|
||||
|
@ -96,7 +96,8 @@ class ThreeMFWriter(MeshWriter):
|
||||
@staticmethod
|
||||
def _convertUMNodeToSavitarNode(um_node,
|
||||
transformation = Matrix(),
|
||||
exported_settings: Optional[Dict[str, Set[str]]] = None):
|
||||
exported_settings: Optional[Dict[str, Set[str]]] = None,
|
||||
center_mesh = False):
|
||||
"""Convenience function that converts an Uranium SceneNode object to a SavitarSceneNode
|
||||
|
||||
:returns: Uranium Scene node.
|
||||
@ -111,16 +112,20 @@ class ThreeMFWriter(MeshWriter):
|
||||
savitar_node = Savitar.SceneNode()
|
||||
savitar_node.setName(um_node.getName())
|
||||
|
||||
node_matrix = Matrix()
|
||||
mesh_data = um_node.getMeshData()
|
||||
# compensate for original center position, if object(s) is/are not around its zero position
|
||||
if mesh_data is not None:
|
||||
extents = mesh_data.getExtents()
|
||||
if extents is not None:
|
||||
# We use a different coordinate space while writing, so flip Z and Y
|
||||
center_vector = Vector(extents.center.x, extents.center.z, extents.center.y)
|
||||
node_matrix.setByTranslation(center_vector)
|
||||
node_matrix.multiply(um_node.getLocalTransformation())
|
||||
|
||||
if center_mesh:
|
||||
node_matrix = Matrix()
|
||||
# compensate for original center position, if object(s) is/are not around its zero position
|
||||
if mesh_data is not None:
|
||||
extents = mesh_data.getExtents()
|
||||
if extents is not None:
|
||||
# We use a different coordinate space while writing, so flip Z and Y
|
||||
center_vector = Vector(extents.center.x, extents.center.y, extents.center.z)
|
||||
node_matrix.setByTranslation(center_vector)
|
||||
node_matrix.multiply(um_node.getLocalTransformation())
|
||||
else:
|
||||
node_matrix = um_node.getLocalTransformation()
|
||||
|
||||
matrix_string = ThreeMFWriter._convertMatrixToString(node_matrix.preMultiply(transformation))
|
||||
|
||||
@ -147,7 +152,7 @@ class ThreeMFWriter(MeshWriter):
|
||||
for key in changed_setting_keys:
|
||||
savitar_node.setSetting("cura:" + key, str(stack.getProperty(key, "value")))
|
||||
else:
|
||||
# We want to export only the specified settings
|
||||
# We want to export only the specified settings
|
||||
if um_node.getName() in exported_settings:
|
||||
model_exported_settings = exported_settings[um_node.getName()]
|
||||
|
||||
@ -283,7 +288,8 @@ class ThreeMFWriter(MeshWriter):
|
||||
for root_child in node.getChildren():
|
||||
savitar_node = ThreeMFWriter._convertUMNodeToSavitarNode(root_child,
|
||||
transformation_matrix,
|
||||
exported_model_settings)
|
||||
exported_model_settings,
|
||||
center_mesh = True)
|
||||
if savitar_node:
|
||||
savitar_scene.addSceneNode(savitar_node)
|
||||
else:
|
||||
@ -442,7 +448,7 @@ class ThreeMFWriter(MeshWriter):
|
||||
def sceneNodesToString(scene_nodes: [SceneNode]) -> str:
|
||||
savitar_scene = Savitar.Scene()
|
||||
for scene_node in scene_nodes:
|
||||
savitar_node = ThreeMFWriter._convertUMNodeToSavitarNode(scene_node)
|
||||
savitar_node = ThreeMFWriter._convertUMNodeToSavitarNode(scene_node, center_mesh = True)
|
||||
savitar_scene.addSceneNode(savitar_node)
|
||||
parser = Savitar.ThreeMFParser()
|
||||
scene_string = parser.sceneToString(savitar_scene)
|
||||
|
@ -544,7 +544,7 @@ class CuraEngineBackend(QObject, Backend):
|
||||
|
||||
if job.getResult() == StartJobResult.ObjectsWithDisabledExtruder:
|
||||
self._error_message = Message(catalog.i18nc("@info:status",
|
||||
"Unable to slice because there are objects associated with disabled Extruder %s.") % job.getMessage(),
|
||||
"Unable to slice because there are objects associated with disabled Extruder %s.") % job.getAssociatedDisabledExtruders(),
|
||||
title = catalog.i18nc("@info:title", "Unable to slice"),
|
||||
message_type = Message.MessageType.WARNING)
|
||||
self._error_message.show()
|
||||
|
@ -146,6 +146,7 @@ class StartSliceJob(Job):
|
||||
self._slice_message: Arcus.PythonMessage = slice_message
|
||||
self._is_cancelled: bool = False
|
||||
self._build_plate_number: Optional[int] = None
|
||||
self._associated_disabled_extruders: Optional[str] = None
|
||||
|
||||
# cache for all setting values from all stacks (global & extruder) for the current machine
|
||||
self._all_extruders_settings: Optional[Dict[str, Any]] = None
|
||||
@ -153,6 +154,9 @@ class StartSliceJob(Job):
|
||||
def getSliceMessage(self) -> Arcus.PythonMessage:
|
||||
return self._slice_message
|
||||
|
||||
def getAssociatedDisabledExtruders(self) -> Optional[str]:
|
||||
return self._associated_disabled_extruders
|
||||
|
||||
def setBuildPlate(self, build_plate_number: int) -> None:
|
||||
self._build_plate_number = build_plate_number
|
||||
|
||||
@ -334,7 +338,7 @@ class StartSliceJob(Job):
|
||||
if has_model_with_disabled_extruders:
|
||||
self.setResult(StartJobResult.ObjectsWithDisabledExtruder)
|
||||
associated_disabled_extruders = {p + 1 for p in associated_disabled_extruders}
|
||||
self.setMessage(", ".join(map(str, sorted(associated_disabled_extruders))))
|
||||
self._associated_disabled_extruders = ", ".join(map(str, sorted(associated_disabled_extruders)))
|
||||
return
|
||||
|
||||
# There are cases when there is nothing to slice. This can happen due to one at a time slicing not being
|
||||
|
@ -14,10 +14,10 @@ def getLinter(file: Path, settings: dict) -> Optional[List[Linter]]:
|
||||
if not file.exists():
|
||||
return [Directory(file, settings)]
|
||||
|
||||
if ".inst" in file.suffixes and ".cfg" in file.suffixes:
|
||||
if ".inst" in file.suffixes and file.suffixes[-1] == ".cfg":
|
||||
return [Directory(file, settings), Profile(file, settings), Formulas(file, settings)]
|
||||
|
||||
if ".def" in file.suffixes and ".json" in file.suffixes:
|
||||
if ".def" in file.suffixes and file.suffixes[-1] == ".json":
|
||||
if file.stem in ("fdmprinter.def", "fdmextruder.def"):
|
||||
return [Formulas(file, settings)]
|
||||
return [Directory(file, settings), Definition(file, settings), Formulas(file, settings)]
|
||||
|
@ -13,8 +13,11 @@ class Definition(Linter):
|
||||
def __init__(self, file: Path, settings: dict) -> None:
|
||||
super().__init__(file, settings)
|
||||
self._definitions = {}
|
||||
self._definition_name = None
|
||||
self._experimental_settings = []
|
||||
self._loadDefinitionFiles(file)
|
||||
self._content = self._file.read_text()
|
||||
self._loadExperimentalSettings()
|
||||
self._loadBasePrinterSettings()
|
||||
|
||||
@property
|
||||
@ -32,6 +35,10 @@ class Definition(Linter):
|
||||
for check in self.checkMaterialTemperature():
|
||||
yield check
|
||||
|
||||
if self._settings["checks"].get("diagnostic-definition-experimental-setting", False):
|
||||
for check in self.checkExperimentalSetting():
|
||||
yield check
|
||||
|
||||
# Add other which will yield Diagnostic's
|
||||
# TODO: A check to determine if the user set value is with the min and max value defined in the parent and doesn't trigger a warning
|
||||
# TODO: A check if the key exist in the first place
|
||||
@ -41,9 +48,8 @@ class Definition(Linter):
|
||||
|
||||
def checkRedefineOverride(self) -> Iterator[Diagnostic]:
|
||||
""" Checks if definition file overrides its parents settings with the same value. """
|
||||
definition_name = list(self._definitions.keys())[0]
|
||||
definition = self._definitions[definition_name]
|
||||
if "overrides" in definition and definition_name not in ("fdmprinter", "fdmextruder"):
|
||||
definition = self._definitions[self._definition_name]
|
||||
if "overrides" in definition and self._definition_name not in ("fdmprinter", "fdmextruder"):
|
||||
for key, value_dict in definition["overrides"].items():
|
||||
is_redefined, child_key, child_value, parent, inherited_by= self._isDefinedInParent(key, value_dict, definition['inherits'])
|
||||
if is_redefined:
|
||||
@ -71,9 +77,8 @@ class Definition(Linter):
|
||||
|
||||
def checkMaterialTemperature(self) -> Iterator[Diagnostic]:
|
||||
"""Checks if definition file has material tremperature defined within them"""
|
||||
definition_name = list(self._definitions.keys())[0]
|
||||
definition = self._definitions[definition_name]
|
||||
if "overrides" in definition and definition_name not in ("fdmprinter", "fdmextruder"):
|
||||
definition = self._definitions[self._definition_name]
|
||||
if "overrides" in definition and self._definition_name not in ("fdmprinter", "fdmextruder"):
|
||||
for key, value_dict in definition["overrides"].items():
|
||||
if "temperature" in key and "material" in key:
|
||||
|
||||
@ -97,6 +102,22 @@ class Definition(Linter):
|
||||
replacements=replacements
|
||||
)
|
||||
|
||||
def checkExperimentalSetting(self) -> Iterator[Diagnostic]:
|
||||
"""Checks if definition uses experimental settings"""
|
||||
definition = self._definitions[self._definition_name]
|
||||
if "overrides" in definition and self._definition_name not in ("fdmprinter", "fdmextruder"):
|
||||
for setting in definition["overrides"]:
|
||||
if setting in self._experimental_settings:
|
||||
redefined = re.compile(setting)
|
||||
found = redefined.search(self._content)
|
||||
yield Diagnostic(
|
||||
file=self._file,
|
||||
diagnostic_name="diagnostic-definition-experimental-setting",
|
||||
message=f"Setting {setting} is still experimental and should not be used in default profiles",
|
||||
level="Warning",
|
||||
offset=found.span(0)[0]
|
||||
)
|
||||
|
||||
def _loadDefinitionFiles(self, definition_file) -> None:
|
||||
""" Loads definition file contents into self._definitions. Also load parent definition if it exists. """
|
||||
definition_name = Path(definition_file.stem).stem
|
||||
@ -104,6 +125,9 @@ class Definition(Linter):
|
||||
if not definition_file.exists() or definition_name in self._definitions:
|
||||
return
|
||||
|
||||
if self._definition_name is None:
|
||||
self._definition_name = definition_name
|
||||
|
||||
# Load definition file into dictionary
|
||||
self._definitions[definition_name] = json.loads(definition_file.read_text())
|
||||
|
||||
@ -152,6 +176,12 @@ class Definition(Linter):
|
||||
return self._isDefinedInParent(key, value_dict, parent["inherits"])
|
||||
return False, None, None, None, None
|
||||
|
||||
def _loadExperimentalSettings(self):
|
||||
try:
|
||||
self._experimental_settings = self._definitions[self.base_def]["settings"]["experimental"]["children"].keys()
|
||||
except:
|
||||
pass
|
||||
|
||||
def _loadBasePrinterSettings(self):
|
||||
settings = {}
|
||||
for k, v in self._definitions[self.base_def]["settings"].items():
|
||||
|
@ -51,9 +51,17 @@ class Formulas(Linter):
|
||||
self._definition = {}
|
||||
|
||||
def getCuraSettingList(self) -> list:
|
||||
settings_list = []
|
||||
|
||||
with open(os.path.join(os.path.dirname(__file__), "..", "..", "..", "..", "resources", "definitions", "fdmprinter.def.json")) as data:
|
||||
json_data = json.load(data)
|
||||
return self.extractKeys(json_data)
|
||||
settings_list += self.extractKeys(json_data)
|
||||
|
||||
with open(os.path.join(os.path.dirname(__file__), "..", "..", "..", "..", "resources", "definitions", "fdmextruder.def.json")) as data:
|
||||
json_data = json.load(data)
|
||||
settings_list += self.extractKeys(json_data)
|
||||
|
||||
return settings_list
|
||||
|
||||
def extractKeys(self, json_obj, parent_key=''):
|
||||
keys_with_value = []
|
||||
@ -146,12 +154,13 @@ class Formulas(Linter):
|
||||
|
||||
available_sections = ["values"]
|
||||
for section in available_sections:
|
||||
options = config.options(section)
|
||||
for option in options:
|
||||
values ={}
|
||||
values["value"] = config.get(section, option)
|
||||
overrides[option] = values
|
||||
file_data["overrides"]= overrides# Process the value here
|
||||
if config.has_section(section):
|
||||
options = config.options(section)
|
||||
for option in options:
|
||||
values ={}
|
||||
values["value"] = config.get(section, option)
|
||||
overrides[option] = values
|
||||
file_data["overrides"]= overrides# Process the value here
|
||||
|
||||
return file_data
|
||||
|
||||
|
@ -37,6 +37,6 @@ class Profile(Linter):
|
||||
config = ConfigParser()
|
||||
config.read([self._file])
|
||||
name_of_profile = config.get("general", "name")
|
||||
redefined = re.compile(name_of_profile)
|
||||
redefined = re.compile(re.escape(name_of_profile))
|
||||
found = redefined.search(self._content)
|
||||
return name_of_profile, found
|
||||
|
@ -206,9 +206,9 @@ chardet==3.0.4 \
|
||||
idna==2.8 \
|
||||
--hash=sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407 \
|
||||
--hash=sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c
|
||||
attrs==21.2.0 \
|
||||
--hash=sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1 \
|
||||
--hash=sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb
|
||||
attrs==21.3.0 \
|
||||
--hash=sha256:8f7335278dedd26b58c38e006338242cc0977f06d51579b2b8b87b9b33bff66c \
|
||||
--hash=sha256:50f3c9b216dc9021042f71b392859a773b904ce1a029077f58f6598272432045
|
||||
requests==2.22.0 \
|
||||
--hash=sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4 \
|
||||
--hash=sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31
|
||||
@ -222,9 +222,9 @@ constantly==15.1.0 \
|
||||
hyperlink==21.0.0 \
|
||||
--hash=sha256:427af957daa58bc909471c6c40f74c5450fa123dd093fc53efd2e91d2705a56b \
|
||||
--hash=sha256:e6b14c37ecb73e89c77d78cdb4c2cc8f3fb59a885c5b3f819ff4ed80f25af1b4
|
||||
incremental==21.3.0 \
|
||||
--hash=sha256:02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57 \
|
||||
--hash=sha256:92014aebc6a20b78a8084cdd5645eeaa7f74b8933f70fa3ada2cfbd1e3b54321
|
||||
incremental==22.10.0 \
|
||||
--hash=sha256:b864a1f30885ee72c5ac2835a761b8fe8aa9c28b9395cacf27286602688d3e51 \
|
||||
--hash=sha256:912feeb5e0f7e0188e6f42241d2f450002e11bbc0937c65865045854c24c0bd0
|
||||
zope.interface==5.4.0 \
|
||||
--hash=sha256:0f91b5b948686659a8e28b728ff5e74b1be6bf40cb04704453617e5f1e945ef3 \
|
||||
--hash=sha256:3c02411a3b62668200910090a0dff17c0b25aaa36145082a5a6adf08fa281e54 \
|
||||
|
@ -1914,6 +1914,25 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"UltimakerPPSCF": {
|
||||
"package_info": {
|
||||
"package_id": "UltimakerPPSCF",
|
||||
"package_type": "material",
|
||||
"display_name": "Ultimaker PPS-CF",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "8.6.0",
|
||||
"website": "https://ultimaker.com/materials/factor-series-pps-carbon-fiber/",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
"display_name": "UltiMaker",
|
||||
"email": "materials@ultimaker.com",
|
||||
"website": "https://ultimaker.com",
|
||||
"description": "Professional 3D printing made accessible.",
|
||||
"support_website": "https://support.ultimaker.com/s/article/How-to-print-with-UltiMaker-PPS-CF"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ULTIMAKERBASCFMETHOD": {
|
||||
"package_info": {
|
||||
"package_id": "ULTIMAKERBASCFMETHOD",
|
||||
|
1
resources/conandata.yml
Normal file
1
resources/conandata.yml
Normal file
@ -0,0 +1 @@
|
||||
version: "5.8.0-alpha.0"
|
@ -28,8 +28,6 @@ class CuraResource(ConanFile):
|
||||
self.version = self.conan_data["version"]
|
||||
|
||||
def export(self):
|
||||
copy(self, pattern="conandata.yml", src=os.path.join(self.recipe_folder, ".."), dst=self.export_folder,
|
||||
keep_path=False)
|
||||
copy(self, pattern="LICENSE*", src=os.path.join(self.recipe_folder, ".."), dst=self.export_folder,
|
||||
keep_path=False)
|
||||
update_conandata(self, {"version": self.version})
|
||||
|
59
resources/definitions/creality_ender3v3ke.def.json
Normal file
59
resources/definitions/creality_ender3v3ke.def.json
Normal file
@ -0,0 +1,59 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Creality Ender-3 V3 KE",
|
||||
"inherits": "creality_base",
|
||||
"metadata":
|
||||
{
|
||||
"visible": true,
|
||||
"manufacturer": "Creality3D",
|
||||
"file_formats": "text/x-gcode",
|
||||
"platform": "creality_ender3.3mf",
|
||||
"first_start_actions": [ "MachineSettingsAction" ],
|
||||
"has_machine_quality": true,
|
||||
"has_materials": true,
|
||||
"has_variants": true,
|
||||
"machine_extruder_trains": { "0": "creality_base_extruder_0" },
|
||||
"preferred_material": "generic_pla",
|
||||
"preferred_quality_type": "standard",
|
||||
"preferred_variant_name": "0.4mm Nozzle",
|
||||
"quality_definition": "creality_base",
|
||||
"variants_name": "Nozzle Size"
|
||||
},
|
||||
"overrides":
|
||||
{
|
||||
"gantry_height": { "value": 38 },
|
||||
"machine_depth": { "default_value": 220 },
|
||||
"machine_end_gcode": { "default_value": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F2400 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z5 ;Raise Z more\nG90 ;Absolute positionning\n\nG1 X2 Y218 F3000 ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\n\nM84 X Y E ;Disable all steppers but Z" },
|
||||
"machine_head_with_fans_polygon":
|
||||
{
|
||||
"default_value": [
|
||||
[-20, 10],
|
||||
[10, 10],
|
||||
[10, -10],
|
||||
[-20, -10]
|
||||
]
|
||||
},
|
||||
"machine_heated_bed": { "default_value": true },
|
||||
"machine_height": { "default_value": 240 },
|
||||
"machine_max_acceleration_e": { "value": 5000 },
|
||||
"machine_max_acceleration_x": { "value": 8000.0 },
|
||||
"machine_max_acceleration_y": { "value": 8000.0 },
|
||||
"machine_max_acceleration_z": { "value": 500.0 },
|
||||
"machine_max_feedrate_e": { "value": 100 },
|
||||
"machine_max_feedrate_x": { "value": 500 },
|
||||
"machine_max_feedrate_y": { "value": 500 },
|
||||
"machine_max_feedrate_z": { "value": 30 },
|
||||
"machine_name": { "default_value": "Creality Ender-3 V3 KE" },
|
||||
"machine_start_gcode": { "default_value": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X-2.0 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S{material_print_temperature_layer_0}\nG1 X-2.0 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X-1.7 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X-1.7 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0 F1800" },
|
||||
"machine_width": { "default_value": 220 },
|
||||
"material_print_temp_wait": { "default_value": false },
|
||||
"retraction_amount": { "default_value": 0.8 },
|
||||
"retraction_combing": { "value": "no_outer_surfaces" },
|
||||
"retraction_combing_max_distance": { "value": 5.0 },
|
||||
"retraction_extrusion_window": { "value": "retraction_amount" },
|
||||
"retraction_min_travel": { "value": 2.0 },
|
||||
"retraction_speed": { "default_value": 40 },
|
||||
"speed_layer_0": { "value": 100 },
|
||||
"speed_print": { "value": 300 }
|
||||
}
|
||||
}
|
@ -1342,6 +1342,15 @@
|
||||
"limit_to_extruder": "wall_0_extruder_nr",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"z_seam_on_vertex":
|
||||
{
|
||||
"label": "Z Seam On Vertex",
|
||||
"description": "Place the z-seam on a polygon vertex. Switching this off can place the seam between vertices as well. (Keep in mind that this won't override the restrictions on placing the seam on an unsupported overhang.)",
|
||||
"type": "bool",
|
||||
"default_value": true,
|
||||
"settable_per_mesh": true,
|
||||
"enabled": "z_seam_type == 'back' or z_seam_type == 'shortest'"
|
||||
},
|
||||
"z_seam_position":
|
||||
{
|
||||
"label": "Z Seam Position",
|
||||
@ -5118,6 +5127,18 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"support_infill_density_multiplier_initial_layer":
|
||||
{
|
||||
"label": "Support Infill Density Multiplier Initial Layer",
|
||||
"description": "Multiplier for the infill on the initial layers of the support. Increasing this may help for bed adhesion.",
|
||||
"type": "int",
|
||||
"minimum_value": "1",
|
||||
"default_value": 1,
|
||||
"enabled": "support_enable or support_meshes_present",
|
||||
"limit_to_extruder": "support_extruder_nr_layer_0",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
},
|
||||
"support_infill_angles":
|
||||
{
|
||||
"label": "Support Infill Line Directions",
|
||||
@ -6208,6 +6229,7 @@
|
||||
"type": "bool",
|
||||
"default_value": false,
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"resolve": "any(extruderValues('raft_remove_inside_corners'))",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false,
|
||||
"children":
|
||||
@ -6220,6 +6242,7 @@
|
||||
"value": "raft_remove_inside_corners",
|
||||
"default_value": false,
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"resolve": "any(extruderValues('raft_base_remove_inside_corners'))",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
@ -6231,6 +6254,7 @@
|
||||
"value": "raft_remove_inside_corners",
|
||||
"default_value": false,
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"resolve": "any(extruderValues('raft_interface_remove_inside_corners'))",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
@ -6242,6 +6266,7 @@
|
||||
"value": "raft_remove_inside_corners",
|
||||
"default_value": false,
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"resolve": "any(extruderValues('raft_surface_remove_inside_corners'))",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
}
|
||||
@ -6382,6 +6407,38 @@
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
},
|
||||
"raft_base_infill_overlap":
|
||||
{
|
||||
"label": "Raft Base Infill Overlap Percentage",
|
||||
"description": "The amount of overlap between the infill and the walls of the raft base, as a percentage of the infill line width. A slight overlap allows the walls to connect firmly to the infill.",
|
||||
"unit": "%",
|
||||
"type": "float",
|
||||
"default_value": 0,
|
||||
"minimum_value_warning": "-50",
|
||||
"maximum_value_warning": "100",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_base_extruder_nr",
|
||||
"children":
|
||||
{
|
||||
"raft_base_infill_overlap_mm":
|
||||
{
|
||||
"label": "Raft Base Infill Overlap",
|
||||
"description": "The amount of overlap between the infill and the walls of the raft base. A slight overlap allows the walls to connect firmly to the infill.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"default_value": 0.0,
|
||||
"minimum_value_warning": "-0.5 * machine_nozzle_size",
|
||||
"maximum_value_warning": "machine_nozzle_size",
|
||||
"value": "raft_base_line_width * raft_base_infill_overlap / 100",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
}
|
||||
}
|
||||
},
|
||||
"raft_interface_layers":
|
||||
{
|
||||
"label": "Raft Middle Layers",
|
||||
@ -6443,6 +6500,54 @@
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_interface_extruder_nr"
|
||||
},
|
||||
"raft_interface_z_offset":
|
||||
{
|
||||
"label": "Raft Interface Z Offset",
|
||||
"description": "When printing the first layer of the raft interface, translate by this offset to customize the adhesion between base and interface. A negative offset should improve the adhesion.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"default_value": 0.0,
|
||||
"minimum_value_warning": "-raft_interface_thickness / 2",
|
||||
"minimum_value": "-raft_interface_thickness",
|
||||
"maximum_value_warning": "raft_interface_thickness / 2",
|
||||
"maximum_value": "raft_interface_thickness",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_interface_layers > 0",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_interface_extruder_nr"
|
||||
},
|
||||
"raft_interface_infill_overlap":
|
||||
{
|
||||
"label": "Raft Interface Infill Overlap Percentage",
|
||||
"description": "The amount of overlap between the infill and the walls of the raft interface, as a percentage of the infill line width. A slight overlap allows the walls to connect firmly to the infill.",
|
||||
"unit": "%",
|
||||
"type": "float",
|
||||
"default_value": 0,
|
||||
"minimum_value_warning": "-50",
|
||||
"maximum_value_warning": "100",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_interface_extruder_nr",
|
||||
"children":
|
||||
{
|
||||
"raft_interface_infill_overlap_mm":
|
||||
{
|
||||
"label": "Raft Interface Infill Overlap",
|
||||
"description": "The amount of overlap between the infill and the walls of the raft interface. A slight overlap allows the walls to connect firmly to the infill.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"default_value": 0.0,
|
||||
"minimum_value_warning": "-0.5 * machine_nozzle_size",
|
||||
"maximum_value_warning": "machine_nozzle_size",
|
||||
"value": "raft_interface_line_width * raft_interface_infill_overlap / 100",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_interface_extruder_nr"
|
||||
}
|
||||
}
|
||||
},
|
||||
"raft_surface_layers":
|
||||
{
|
||||
"label": "Raft Top Layers",
|
||||
@ -6504,6 +6609,22 @@
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
},
|
||||
"raft_surface_z_offset":
|
||||
{
|
||||
"label": "Raft Surface Z Offset",
|
||||
"description": "When printing the first layer of the raft surface, translate by this offset to customize the adhesion between interface and surface. A negative offset should improve the adhesion.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"default_value": 0.0,
|
||||
"minimum_value_warning": "-raft_surface_thickness / 2",
|
||||
"minimum_value": "-raft_surface_thickness",
|
||||
"maximum_value_warning": "raft_surface_thickness / 2",
|
||||
"maximum_value": "raft_surface_thickness",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
},
|
||||
"raft_surface_monotonic":
|
||||
{
|
||||
"label": "Monotonic Raft Top Surface Order",
|
||||
@ -6516,6 +6637,38 @@
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
},
|
||||
"raft_surface_infill_overlap":
|
||||
{
|
||||
"label": "Raft Surface Infill Overlap Percentage",
|
||||
"description": "The amount of overlap between the infill and the walls of the raft surface, as a percentage of the infill line width. A slight overlap allows the walls to connect firmly to the infill.",
|
||||
"unit": "%",
|
||||
"type": "float",
|
||||
"default_value": 0,
|
||||
"minimum_value_warning": "-50",
|
||||
"maximum_value_warning": "100",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_surface_extruder_nr",
|
||||
"children":
|
||||
{
|
||||
"raft_surface_infill_overlap_mm":
|
||||
{
|
||||
"label": "Raft Surface Infill Overlap",
|
||||
"description": "The amount of overlap between the infill and the walls of the raft surface. A slight overlap allows the walls to connect firmly to the infill.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"default_value": 0.0,
|
||||
"minimum_value_warning": "-0.5 * machine_nozzle_size",
|
||||
"maximum_value_warning": "machine_nozzle_size",
|
||||
"value": "raft_surface_line_width * raft_surface_infill_overlap / 100",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
}
|
||||
}
|
||||
},
|
||||
"raft_wall_count":
|
||||
{
|
||||
"label": "Raft Wall Count",
|
||||
@ -6818,6 +6971,63 @@
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
}
|
||||
}
|
||||
},
|
||||
"raft_flow":
|
||||
{
|
||||
"label": "Raft Flow",
|
||||
"description": "The amount of material, relative to a normal extrusion line, to extrude during raft printing. Having an increased flow may improve adhesion and raft structural strength.",
|
||||
"type": "float",
|
||||
"unit": "%",
|
||||
"default_value": 100.0,
|
||||
"minimum_value": "10",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"children":
|
||||
{
|
||||
"raft_base_flow":
|
||||
{
|
||||
"label": "Raft Base Flow",
|
||||
"description": "The amount of material, relative to a normal extrusion line, to extrude during raft base printing. Having an increased flow may improve adhesion and raft structural strength.",
|
||||
"type": "float",
|
||||
"unit": "%",
|
||||
"default_value": 100.0,
|
||||
"value": "raft_flow",
|
||||
"minimum_value": "10",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
},
|
||||
"raft_interface_flow":
|
||||
{
|
||||
"label": "Raft Interface Flow",
|
||||
"description": "The amount of material, relative to a normal extrusion line, to extrude during raft interface printing. Having an increased flow may improve adhesion and raft structural strength.",
|
||||
"type": "float",
|
||||
"unit": "%",
|
||||
"default_value": 100.0,
|
||||
"value": "raft_flow",
|
||||
"minimum_value": "10",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_interface_extruder_nr"
|
||||
},
|
||||
"raft_surface_flow":
|
||||
{
|
||||
"label": "Raft Surface Flow",
|
||||
"description": "The amount of material, relative to a normal extrusion line, to extrude during raft surface printing. Having an increased flow may improve adhesion and raft structural strength.",
|
||||
"type": "float",
|
||||
"unit": "%",
|
||||
"default_value": 100.0,
|
||||
"value": "raft_flow",
|
||||
"minimum_value": "10",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -6845,7 +7055,7 @@
|
||||
"label": "Prime Tower Type",
|
||||
"description": "<html>How to generate the prime tower:<ul><li><b>Normal:</b> create a bucket in which secondary materials are primed</li><li><b>Interleaved:</b> create a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other</li></ul></html>",
|
||||
"type": "enum",
|
||||
"resolve": "'interleaved' if (all(material_type_var == extruderValues('material_type')[0] for material_type_var in extruderValues('material_type')) and all(material_brand_var == extruderValues('material_brand')[0] for material_brand_var in extruderValues('material_brand'))) else 'normal'",
|
||||
"resolve": "'interleaved' if all(mode == 'interleaved' for mode in extruderValues('prime_tower_mode')) else 'interleaved' if (all(material_type_var == extruderValues('material_type')[0] for material_type_var in extruderValues('material_type')) and all(material_brand_var == extruderValues('material_brand')[0] for material_brand_var in extruderValues('material_brand'))) else 'normal'",
|
||||
"options":
|
||||
{
|
||||
"normal": "Normal",
|
||||
@ -8021,6 +8231,19 @@
|
||||
"default_value": 90,
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"seam_overhang_angle":
|
||||
{
|
||||
"label": "Seam Overhanging Wall Angle",
|
||||
"description": "Try to prevent seams on walls that overhang more than this angle. When the value is 90, no walls will be treated as overhanging.",
|
||||
"unit": "\u00b0",
|
||||
"type": "float",
|
||||
"minimum_value": "0",
|
||||
"minimum_value_warning": "2",
|
||||
"maximum_value": "90",
|
||||
"default_value": 90,
|
||||
"value": "wall_overhang_angle",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"wall_overhang_speed_factor":
|
||||
{
|
||||
"label": "Overhanging Wall Speed",
|
||||
|
@ -80,6 +80,7 @@
|
||||
"maximum_value_warning": "120",
|
||||
"minimum_value": "0"
|
||||
},
|
||||
"material_print_temp_wait": { "value": false },
|
||||
"material_print_temperature": { "minimum_value": "0" },
|
||||
"material_standby_temperature":
|
||||
{
|
||||
@ -88,6 +89,9 @@
|
||||
},
|
||||
"meshfix_maximum_deviation": { "value": "machine_nozzle_size / 10" },
|
||||
"meshfix_maximum_resolution": { "value": "max(speed_wall_0 / 75, 0.5)" },
|
||||
"prime_tower_base_curve_magnitude": { "value": 2 },
|
||||
"prime_tower_base_height": { "value": 6 },
|
||||
"prime_tower_base_size": { "value": 10 },
|
||||
"raft_base_speed": { "value": "raft_speed" },
|
||||
"raft_base_thickness": { "value": "min(machine_nozzle_size * 0.75, 0.3)" },
|
||||
"raft_interface_fan_speed": { "value": "(raft_base_fan_speed + raft_surface_fan_speed) / 2" },
|
||||
@ -125,6 +129,7 @@
|
||||
"support_line_distance": { "minimum_value_warning": "0 if support_structure == 'tree' else support_line_width" },
|
||||
"support_tower_maximum_supported_diameter": { "value": "support_tower_diameter" },
|
||||
"support_tower_roof_angle": { "value": "0 if support_interface_enable else 65" },
|
||||
"support_use_towers": { "value": false },
|
||||
"support_wall_count": { "value": "1 if support_structure == 'tree' else 0" },
|
||||
"support_xy_distance_overhang": { "value": "0.2" },
|
||||
"support_z_distance": { "value": "0" },
|
||||
|
@ -1,259 +0,0 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "UltiMaker Sketch",
|
||||
"inherits": "ultimaker",
|
||||
"metadata":
|
||||
{
|
||||
"visible": true,
|
||||
"author": "Ultimaker",
|
||||
"manufacturer": "Ultimaker B.V.",
|
||||
"file_formats": "application/x-makerbot-sketch",
|
||||
"platform": "ultimaker_sketch_platform.obj",
|
||||
"exclude_materials": [
|
||||
"dsm_175_novamidid1030cf",
|
||||
"Essentium_175_UltrafuseZPCTG",
|
||||
"imade3d_petg_175",
|
||||
"imade3d_pla_175",
|
||||
"imade3d_petg_green",
|
||||
"imade3d_pla_green",
|
||||
"imade3d_petg_pink",
|
||||
"imade3d_pla_pink",
|
||||
"chromatik_pla",
|
||||
"3D-Fuel_PLA_PRO_Black",
|
||||
"3D-Fuel_PLA_SnapSupport",
|
||||
"bestfilament_abs_skyblue",
|
||||
"bestfilament_petg_orange",
|
||||
"bestfilament_pla_green",
|
||||
"dsm_arnitel2045_175",
|
||||
"dsm_novamid1070_175",
|
||||
"emotiontech_abs",
|
||||
"emotiontech_absx",
|
||||
"emotiontech_acetate",
|
||||
"emotiontech_asax",
|
||||
"emotiontech_bvoh",
|
||||
"emotiontech_copa",
|
||||
"emotiontech_hips",
|
||||
"emotiontech_nylon_1030",
|
||||
"emotiontech_nylon_1030cf",
|
||||
"emotiontech_nylon_1070",
|
||||
"emotiontech_pc",
|
||||
"emotiontech_pekk",
|
||||
"emotiontech_petg",
|
||||
"emotiontech_pla",
|
||||
"emotiontech_pla_hr_870",
|
||||
"emotiontech_pva-m",
|
||||
"emotiontech_pva-s",
|
||||
"emotiontech_tpu98a",
|
||||
"eryone_petg",
|
||||
"eryone_pla",
|
||||
"eryone_pla_glow",
|
||||
"eryone_pla_matte",
|
||||
"eryone_pla_wood",
|
||||
"eryone_tpu",
|
||||
"eSUN_PETG_Black",
|
||||
"eSUN_PETG_Grey",
|
||||
"eSUN_PETG_Purple",
|
||||
"eSUN_PLA_PRO_Black",
|
||||
"eSUN_PLA_PRO_Grey",
|
||||
"eSUN_PLA_PRO_Purple",
|
||||
"eSUN_PLA_PRO_White",
|
||||
"Extrudr_GreenTECPro_Anthracite_175",
|
||||
"Extrudr_GreenTECPro_Black_175",
|
||||
"Extrudr_GreenTECPro_Blue_175",
|
||||
"Extrudr_GreenTECPro_Nature_175",
|
||||
"Extrudr_GreenTECPro_Red_175",
|
||||
"Extrudr_GreenTECPro_Silver_175",
|
||||
"Extrudr_GreenTECPro_White_175",
|
||||
"fabtotum_abs",
|
||||
"fabtotum_nylon",
|
||||
"fabtotum_pla",
|
||||
"fabtotum_tpu",
|
||||
"fdplast_abs_tomato",
|
||||
"fdplast_petg_gray",
|
||||
"fdplast_pla_olive",
|
||||
"filo3d_pla",
|
||||
"filo3d_pla_green",
|
||||
"filo3d_pla_red",
|
||||
"generic_asa_175",
|
||||
"generic_abs_175",
|
||||
"generic_absr_175",
|
||||
"generic_bvoh_175",
|
||||
"generic_cpe_175",
|
||||
"generic_cffpa_175",
|
||||
"generic_hips_175",
|
||||
"generic_nylon_175",
|
||||
"generic_pc_175",
|
||||
"generic_petg_175",
|
||||
"generic_pva_175",
|
||||
"generic_rapidrinse_175",
|
||||
"generic_sr30_175",
|
||||
"generic_tpu_175",
|
||||
"goofoo_abs",
|
||||
"goofoo_asa",
|
||||
"goofoo_bronze_pla",
|
||||
"goofoo_emarble_pla",
|
||||
"goofoo_esilk_pla",
|
||||
"goofoo_hips",
|
||||
"goofoo_pa",
|
||||
"goofoo_pa_cf",
|
||||
"goofoo_pc",
|
||||
"goofoo_peek",
|
||||
"goofoo_petg",
|
||||
"goofoo_pla",
|
||||
"goofoo_pva",
|
||||
"goofoo_tpe_83a",
|
||||
"goofoo_tpu_87a",
|
||||
"goofoo_tpu_95a",
|
||||
"goofoo_wood_pla",
|
||||
"ideagen3D_ToughPLA",
|
||||
"imade3d_petg_175",
|
||||
"imade3d_pla_175",
|
||||
"innofill_innoflex60_175",
|
||||
"layer_one_black_pla",
|
||||
"layer_one_dark_gray_pla",
|
||||
"layer_one_white_pla",
|
||||
"leapfrog_abs_natural",
|
||||
"leapfrog_epla_natural",
|
||||
"leapfrog_pva_natural",
|
||||
"polyflex_pla",
|
||||
"polymax_pla",
|
||||
"polyplus_pla",
|
||||
"polywood_pla",
|
||||
"redd_abs",
|
||||
"redd_asa",
|
||||
"redd_hips",
|
||||
"redd_nylon",
|
||||
"redd_petg",
|
||||
"redd_pla",
|
||||
"redd_tpe",
|
||||
"tizyx_abs",
|
||||
"tizyx_flex",
|
||||
"tizyx_petg",
|
||||
"tizyx_pla",
|
||||
"tizyx_pla_bois",
|
||||
"tizyx_pva",
|
||||
"verbatim_bvoh_175",
|
||||
"Vertex_Delta_ABS",
|
||||
"Vertex_Delta_PET",
|
||||
"Vertex_Delta_PLA",
|
||||
"Vertex_Delta_PLA_Glitter",
|
||||
"Vertex_Delta_PLA_Mat",
|
||||
"Vertex_Delta_PLA_Satin",
|
||||
"Vertex_Delta_PLA_Wood",
|
||||
"Vertex_Delta_TPU",
|
||||
"volumic_abs_ultra",
|
||||
"volumic_arma_ultra",
|
||||
"volumic_asa_ultra",
|
||||
"volumic_br80_ultra",
|
||||
"volumic_bumper_ultra",
|
||||
"volumic_cu80_ultra",
|
||||
"volumic_flex93_ultra",
|
||||
"volumic_medical_ultra",
|
||||
"volumic_nylon_ultra",
|
||||
"volumic_pekk_carbone",
|
||||
"volumic_petgcarbone_ultra",
|
||||
"volumic_petg_ultra",
|
||||
"volumic_pla_ultra",
|
||||
"volumic_pp_ultra",
|
||||
"volumic_strong_ultra",
|
||||
"volumic_support_ultra",
|
||||
"xyzprinting_abs",
|
||||
"xyzprinting_antibact_pla",
|
||||
"xyzprinting_carbon_fiber",
|
||||
"xyzprinting_colorinkjet_pla",
|
||||
"xyzprinting_flexible",
|
||||
"xyzprinting_metallic_pla",
|
||||
"xyzprinting_nylon",
|
||||
"xyzprinting_pahtcf15",
|
||||
"xyzprinting_pc",
|
||||
"xyzprinting_petcf15",
|
||||
"xyzprinting_petg",
|
||||
"xyzprinting_pla",
|
||||
"xyzprinting_ppgf30",
|
||||
"xyzprinting_tough_pla",
|
||||
"xyzprinting_tpu",
|
||||
"zyyx_pro_flex",
|
||||
"zyyx_pro_pla",
|
||||
"octofiber_pla",
|
||||
"fiberlogy_hd_pla"
|
||||
],
|
||||
"has_machine_quality": true,
|
||||
"has_materials": true,
|
||||
"has_variants": false,
|
||||
"machine_extruder_trains": { "0": "ultimaker_sketch_extruder" },
|
||||
"platform_offset": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"platform_texture": "MakerbotSketch.png",
|
||||
"preferred_quality_type": "draft",
|
||||
"preferred_variant_name": "0.4mm",
|
||||
"reference_machine_id": "sketch",
|
||||
"supports_network_connection": true,
|
||||
"supports_usb_connection": false,
|
||||
"variant_definition": "ultimaker_sketch",
|
||||
"variants_name": "Extruder",
|
||||
"weight": -1
|
||||
},
|
||||
"overrides":
|
||||
{
|
||||
"acceleration_enabled": { "value": false },
|
||||
"adhesion_type": { "value": "'raft'" },
|
||||
"brim_width": { "value": "3" },
|
||||
"cool_fan_speed": { "value": "100" },
|
||||
"extruder_prime_pos_abs": { "default_value": true },
|
||||
"gantry_height": { "value": "60" },
|
||||
"infill_overlap": { "value": 15 },
|
||||
"infill_pattern": { "value": "'zigzag' if infill_sparse_density > 80 else 'triangles'" },
|
||||
"infill_sparse_density": { "value": 15 },
|
||||
"jerk_enabled": { "value": false },
|
||||
"layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" },
|
||||
"layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" },
|
||||
"machine_center_is_zero": { "default_value": true },
|
||||
"machine_depth": { "default_value": 150 },
|
||||
"machine_end_gcode": { "default_value": "M107; Disable Fan; \n; End of print; \n; End GCode\nM104 S0 T0; Set Toolhead Temp to 0\nM140 S0 T0; Set Platform Temp to 0\nG162 Z F1800; Move to max axes position\nG28 X Y; Home\nM652; Turn off back fan\nM132 X Y Z A B; Set Home Position\nG91; Use Relative Positioning\nM18; Disable Axes\n\n" },
|
||||
"machine_extruder_count": { "default_value": 1 },
|
||||
"machine_gcode_flavor": { "default_value": "Griffin" },
|
||||
"machine_heated_bed": { "default_value": true },
|
||||
"machine_height": { "default_value": 150 },
|
||||
"machine_max_feedrate_x": { "default_value": 300 },
|
||||
"machine_max_feedrate_y": { "default_value": 300 },
|
||||
"machine_max_feedrate_z": { "default_value": 40 },
|
||||
"machine_min_cool_heat_time_window": { "value": "15" },
|
||||
"machine_name": { "default_value": "UltiMaker Sketch" },
|
||||
"machine_nozzle_cool_down_speed": { "default_value": 0.8 },
|
||||
"machine_nozzle_heat_up_speed": { "default_value": 1.4 },
|
||||
"machine_start_gcode": { "default_value": "M140 S50 T0; Set Platform Temp\nM104 S220 T0; Set Extruder Temp\nG90; Use Absolute Positioning\nG28; Home\nM132 X Y Z A B; Set Current Position to Home\nG161 X Y F3300; Move to min axes positions\nM7 T0; Wait For Platform to Heat\nM6 T0; Wait For Extruders to Heat\nM651; Turn on back fan\nM907 X100 Y100 Z40 A80 B20; Set Stepper Currents\nM106; Enable Cooling Fan\n; Purge Line\nG92 E0; Reset Extruder Axis Position\nG1 X-26.18 Y-75.90 Z0.200 F420\nG1 X26.18 Y-75.90 E10\nG92 E0; Reset Extruder Axis Position\n; Start GCode\n" },
|
||||
"machine_width": { "default_value": 150 },
|
||||
"material_diameter": { "default_value": 1.75 },
|
||||
"material_flow": { "default_value": 109 },
|
||||
"multiple_mesh_overlap": { "value": "0" },
|
||||
"optimize_wall_printing_order": { "value": "True" },
|
||||
"prime_blob_enable":
|
||||
{
|
||||
"default_value": true,
|
||||
"enabled": true,
|
||||
"value": "resolveOrValue('print_sequence') != 'one_at_a_time'"
|
||||
},
|
||||
"raft_margin": { "value": "5" },
|
||||
"retraction_amount": { "value": "5.5" },
|
||||
"retraction_prime_speed": { "value": "15" },
|
||||
"retraction_speed": { "value": "25" },
|
||||
"speed_print": { "value": 60 },
|
||||
"speed_support": { "value": "0.7 * speed_print" },
|
||||
"speed_support_interface": { "value": "speed_topbottom" },
|
||||
"speed_topbottom": { "value": "0.7 * speed_print" },
|
||||
"speed_travel": { "value": 80 },
|
||||
"speed_wall": { "value": "0.7 * speed_print" },
|
||||
"speed_wall_0": { "value": "0.5 * speed_print " },
|
||||
"speed_wall_x": { "value": "speed_wall" },
|
||||
"speed_z_hop": { "value": 7 },
|
||||
"support_angle": { "value": "45" },
|
||||
"top_bottom_thickness": { "value": "4 * layer_height" },
|
||||
"travel_avoid_distance": { "value": "machine_nozzle_tip_outer_diameter / 2 * 1.5" },
|
||||
"wall_0_inset": { "value": "0" },
|
||||
"wall_thickness": { "value": "2 * machine_nozzle_size" },
|
||||
"zig_zaggify_infill": { "value": "gradual_infill_steps == 0" }
|
||||
}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
{
|
||||
"version": 2,
|
||||
"name": "Extruder",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata":
|
||||
{
|
||||
"machine": "ultimaker_sketch",
|
||||
"position": "0"
|
||||
},
|
||||
"overrides":
|
||||
{
|
||||
"extruder_nr":
|
||||
{
|
||||
"default_value": 0,
|
||||
"maximum_value": "1"
|
||||
},
|
||||
"machine_nozzle_offset_x": { "default_value": 0 },
|
||||
"machine_nozzle_offset_y": { "default_value": 0 },
|
||||
"machine_nozzle_size": { "default_value": 0.4 },
|
||||
"material_diameter": { "default_value": 1.75 }
|
||||
}
|
||||
}
|
@ -12,10 +12,8 @@ type = intent
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
build_volume_temperature = 35
|
||||
jerk_print = 30
|
||||
material_bed_temperature = =default_material_bed_temperature + 5
|
||||
material_print_temperature = =default_material_print_temperature + 15
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
speed_print = 80
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,30 @@
|
||||
[general]
|
||||
definition = ultimaker_factor4
|
||||
name = Normal
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
material = generic_bam
|
||||
quality_type = fast
|
||||
setting_version = 23
|
||||
type = quality
|
||||
variant = AA 0.4
|
||||
weight = -1
|
||||
|
||||
[values]
|
||||
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
|
||||
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
|
||||
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
|
||||
brim_replaces_support = False
|
||||
machine_nozzle_heat_up_speed = 1.56
|
||||
material_print_temperature = =default_material_print_temperature - 5
|
||||
prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100
|
||||
skin_material_flow = =material_flow * 0.965
|
||||
speed_print = 60
|
||||
support_angle = 45
|
||||
support_bottom_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 2) * layer_height
|
||||
support_interface_density = =min(extruderValues('material_surface_energy'))
|
||||
support_interface_enable = True
|
||||
support_join_distance = 5
|
||||
support_top_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 1) * layer_height
|
||||
|
@ -0,0 +1,28 @@
|
||||
[general]
|
||||
definition = ultimaker_factor4
|
||||
name = Normal
|
||||
version = 4
|
||||
|
||||
[metadata]
|
||||
material = generic_pva
|
||||
quality_type = fast
|
||||
setting_version = 23
|
||||
type = quality
|
||||
variant = BB 0.4
|
||||
weight = -1
|
||||
|
||||
[values]
|
||||
_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.1
|
||||
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
|
||||
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
|
||||
acceleration_support_bottom = 100
|
||||
acceleration_support_interface = 1500
|
||||
brim_replaces_support = False
|
||||
prime_tower_min_volume = 15
|
||||
skin_material_flow = =material_flow * 0.93
|
||||
speed_print = 50
|
||||
support_infill_sparse_thickness = =min(layer_height * 2, machine_nozzle_size * 3 / 4) if layer_height <= 0.15 / 0.4 * machine_nozzle_size else layer_height
|
||||
support_interface_offset = 1
|
||||
support_offset = 3
|
||||
support_z_distance = 0
|
||||
|
@ -20,6 +20,8 @@ acceleration_support_interface = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =40 if extruders_enabled_count > 1 else 35
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
minimum_support_area = 4
|
||||
prime_tower_min_volume = 15
|
||||
skin_material_flow = =material_flow * 0.93
|
||||
speed_print = 50
|
||||
|
@ -20,6 +20,8 @@ acceleration_support_interface = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =40 if extruders_enabled_count > 1 else 35
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
minimum_support_area = 4
|
||||
prime_tower_min_volume = 15
|
||||
skin_material_flow = =material_flow * 0.93
|
||||
speed_print = 50
|
||||
|
@ -20,6 +20,8 @@ acceleration_support_interface = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =40 if extruders_enabled_count > 1 else 35
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
minimum_support_area = 4
|
||||
prime_tower_min_volume = 15
|
||||
skin_material_flow = =material_flow * 0.93
|
||||
speed_print = 40
|
||||
|
@ -20,6 +20,8 @@ acceleration_support_interface = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =40 if extruders_enabled_count > 1 else 35
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
minimum_support_area = 4
|
||||
prime_tower_min_volume = 15
|
||||
skin_material_flow = =material_flow * 0.93
|
||||
support_infill_sparse_thickness = =min(layer_height * 2, machine_nozzle_size * 3 / 4) if layer_height <= 0.15 / 0.4 * machine_nozzle_size else layer_height
|
||||
|
@ -20,6 +20,8 @@ acceleration_support_interface = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =40 if extruders_enabled_count > 1 else 35
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
minimum_support_area = 4
|
||||
prime_tower_min_volume = 15
|
||||
skin_material_flow = =material_flow * 0.93
|
||||
support_infill_sparse_thickness = =min(layer_height * 2, machine_nozzle_size * 3 / 4) if layer_height <= 0.15 / 0.4 * machine_nozzle_size else layer_height
|
||||
|
@ -20,6 +20,8 @@ acceleration_support_interface = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =40 if extruders_enabled_count > 1 else 35
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
minimum_support_area = 4
|
||||
prime_tower_min_volume = 15
|
||||
skin_material_flow = =material_flow * 0.93
|
||||
support_infill_sparse_thickness = =min(layer_height * 2, machine_nozzle_size * 3 / 4) if layer_height <= 0.15 / 0.4 * machine_nozzle_size else layer_height
|
||||
|
@ -41,7 +41,6 @@ machine_nozzle_cool_down_speed = 1.3
|
||||
machine_nozzle_heat_up_speed = 1.9
|
||||
material_extrusion_cool_down_speed = 0.7
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 6.5
|
||||
retraction_prime_speed = =retraction_speed
|
||||
|
@ -15,7 +15,6 @@ weight = 1
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature - 5
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_prime_speed = =retraction_speed
|
||||
speed_print = 50
|
||||
|
@ -14,7 +14,6 @@ weight = -1
|
||||
[values]
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_prime_speed = =retraction_speed
|
||||
speed_print = 70
|
||||
|
@ -14,7 +14,6 @@ weight = 0
|
||||
[values]
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_prime_speed = =retraction_speed
|
||||
support_bottom_distance = =support_z_distance
|
||||
|
@ -18,7 +18,6 @@ infill_sparse_density = 15
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_prime_speed = =retraction_speed
|
||||
speed_topbottom = =math.ceil(speed_print * 40 / 70)
|
||||
|
@ -22,7 +22,6 @@ infill_sparse_density = 15
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_prime_speed = =retraction_speed
|
||||
speed_print = 50
|
||||
|
@ -42,7 +42,6 @@ machine_nozzle_heat_up_speed = 1.9
|
||||
material_extrusion_cool_down_speed = 0.7
|
||||
material_max_flowrate = 12
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 6.5
|
||||
retraction_prime_speed = =retraction_speed
|
||||
|
@ -43,7 +43,6 @@ material_extrusion_cool_down_speed = 0.7
|
||||
material_max_flowrate = 12
|
||||
meshfix_maximum_resolution = 0.7
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 6.5
|
||||
retraction_prime_speed = =retraction_speed
|
||||
|
@ -42,7 +42,6 @@ machine_nozzle_heat_up_speed = 1.9
|
||||
material_extrusion_cool_down_speed = 0.7
|
||||
material_max_flowrate = 12
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 6.5
|
||||
retraction_prime_speed = =retraction_speed
|
||||
|
@ -45,7 +45,6 @@ material_max_flowrate = 12
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
meshfix_maximum_resolution = 0.7
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 6.5
|
||||
retraction_prime_speed = =retraction_speed
|
||||
|
@ -44,7 +44,6 @@ material_max_flowrate = 12
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
meshfix_maximum_resolution = 0.7
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 6.5
|
||||
retraction_prime_speed = =retraction_speed
|
||||
|
@ -16,7 +16,6 @@ gradual_infill_step_height = =3 * layer_height
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 45)
|
||||
|
@ -16,7 +16,6 @@ gradual_infill_step_height = =3 * layer_height
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 45)
|
||||
|
@ -16,7 +16,6 @@ gradual_infill_step_height = =3 * layer_height
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 15
|
||||
prime_tower_enable = True
|
||||
speed_infill = =math.ceil(speed_print * 35 / 45)
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
|
@ -47,7 +47,6 @@ material_max_flowrate = 15
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
meshfix_maximum_resolution = 0.7
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = True
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 4
|
||||
retraction_prime_speed = 22
|
||||
|
@ -44,7 +44,6 @@ material_flow = 93
|
||||
material_max_flowrate = 15
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = True
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 4
|
||||
retraction_prime_speed = 22
|
||||
|
@ -44,7 +44,6 @@ material_flow = 93
|
||||
material_max_flowrate = 15
|
||||
material_print_temperature = =default_material_print_temperature + 15
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = True
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 4
|
||||
retraction_prime_speed = 22
|
||||
|
@ -12,14 +12,18 @@ variant = BB 0.4
|
||||
weight = 1
|
||||
|
||||
[values]
|
||||
acceleration_prime_tower = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
material_print_temperature = =default_material_print_temperature - 5
|
||||
prime_tower_enable = False
|
||||
minimum_support_area = 4
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
speed_prime_tower = 25
|
||||
speed_support = 50
|
||||
support_infill_sparse_thickness = =3 * layer_height
|
||||
support_interface_enable = True
|
||||
|
||||
|
@ -12,13 +12,17 @@ variant = BB 0.4
|
||||
weight = -1
|
||||
|
||||
[values]
|
||||
acceleration_prime_tower = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
prime_tower_enable = False
|
||||
initial_layer_line_width_factor = 150
|
||||
minimum_support_area = 4
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
speed_prime_tower = 25
|
||||
speed_support = 50
|
||||
support_infill_sparse_thickness = =2 * layer_height
|
||||
support_interface_enable = True
|
||||
|
||||
|
@ -12,14 +12,18 @@ variant = BB 0.4
|
||||
weight = 0
|
||||
|
||||
[values]
|
||||
acceleration_prime_tower = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
material_print_temperature = =default_material_print_temperature - 5
|
||||
prime_tower_enable = False
|
||||
minimum_support_area = 4
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
speed_prime_tower = 25
|
||||
speed_support = 50
|
||||
support_infill_sparse_thickness = =2 * layer_height
|
||||
support_interface_enable = True
|
||||
|
||||
|
@ -12,13 +12,17 @@ variant = BB 0.4
|
||||
weight = -2
|
||||
|
||||
[values]
|
||||
acceleration_prime_tower = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
prime_tower_enable = False
|
||||
minimum_support_area = 4
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
speed_prime_tower = 25
|
||||
speed_support = 50
|
||||
support_interface_enable = True
|
||||
|
||||
|
@ -13,13 +13,18 @@ variant = BB 0.4
|
||||
weight = -3
|
||||
|
||||
[values]
|
||||
acceleration_prime_tower = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
material_print_temperature = =default_material_print_temperature - 5
|
||||
minimum_support_area = 4
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
speed_prime_tower = 25
|
||||
speed_support = 50
|
||||
support_infill_sparse_thickness = 0.3
|
||||
support_interface_enable = True
|
||||
|
||||
|
@ -12,11 +12,16 @@ variant = BB 0.8
|
||||
weight = -2
|
||||
|
||||
[values]
|
||||
acceleration_prime_tower = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
minimum_support_area = 4
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
speed_prime_tower = 25
|
||||
speed_support = 50
|
||||
support_interface_enable = True
|
||||
|
||||
|
@ -12,13 +12,18 @@ variant = BB 0.8
|
||||
weight = -3
|
||||
|
||||
[values]
|
||||
acceleration_prime_tower = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
minimum_support_area = 4
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
speed_prime_tower = 25
|
||||
speed_support = 50
|
||||
support_infill_sparse_thickness = 0.3
|
||||
support_interface_enable = True
|
||||
|
||||
|
@ -12,12 +12,17 @@ variant = BB 0.8
|
||||
weight = -4
|
||||
|
||||
[values]
|
||||
acceleration_prime_tower = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
minimum_support_area = 4
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
speed_prime_tower = 25
|
||||
speed_support = 50
|
||||
support_interface_enable = True
|
||||
|
||||
|
@ -18,7 +18,6 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 45)
|
||||
|
@ -18,7 +18,6 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 45)
|
||||
|
@ -18,7 +18,6 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 45)
|
||||
|
@ -18,7 +18,6 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 45)
|
||||
|
@ -18,7 +18,6 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 45)
|
||||
|
@ -18,7 +18,6 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 45)
|
||||
|
@ -18,7 +18,6 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 45)
|
||||
|
@ -18,7 +18,6 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 45)
|
||||
|
@ -41,7 +41,6 @@ machine_nozzle_cool_down_speed = 1.3
|
||||
machine_nozzle_heat_up_speed = 1.9
|
||||
material_extrusion_cool_down_speed = 0.7
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 6.5
|
||||
retraction_prime_speed = =retraction_speed
|
||||
|
@ -15,7 +15,6 @@ weight = 1
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature - 5
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_prime_speed = =retraction_speed
|
||||
speed_print = 50
|
||||
|
@ -14,7 +14,6 @@ weight = -1
|
||||
[values]
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_prime_speed = =retraction_speed
|
||||
speed_print = 70
|
||||
|
@ -14,7 +14,6 @@ weight = 0
|
||||
[values]
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_prime_speed = =retraction_speed
|
||||
support_bottom_distance = =support_z_distance
|
||||
|
@ -18,7 +18,6 @@ infill_sparse_density = 15
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_prime_speed = =retraction_speed
|
||||
speed_topbottom = =math.ceil(speed_print * 40 / 70)
|
||||
|
@ -22,7 +22,6 @@ infill_sparse_density = 15
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_prime_speed = =retraction_speed
|
||||
speed_print = 50
|
||||
|
@ -42,7 +42,6 @@ machine_nozzle_heat_up_speed = 1.9
|
||||
material_extrusion_cool_down_speed = 0.7
|
||||
material_max_flowrate = 12
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 6.5
|
||||
retraction_prime_speed = =retraction_speed
|
||||
|
@ -43,7 +43,6 @@ material_extrusion_cool_down_speed = 0.7
|
||||
material_max_flowrate = 12
|
||||
meshfix_maximum_resolution = 0.7
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 6.5
|
||||
retraction_prime_speed = =retraction_speed
|
||||
|
@ -42,7 +42,6 @@ machine_nozzle_heat_up_speed = 1.9
|
||||
material_extrusion_cool_down_speed = 0.7
|
||||
material_max_flowrate = 12
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 6.5
|
||||
retraction_prime_speed = =retraction_speed
|
||||
|
@ -45,7 +45,6 @@ material_max_flowrate = 12
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
meshfix_maximum_resolution = 0.7
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 6.5
|
||||
retraction_prime_speed = =retraction_speed
|
||||
|
@ -44,7 +44,6 @@ material_max_flowrate = 12
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
meshfix_maximum_resolution = 0.7
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = False
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 6.5
|
||||
retraction_prime_speed = =retraction_speed
|
||||
|
@ -16,7 +16,6 @@ gradual_infill_step_height = =3 * layer_height
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 45)
|
||||
|
@ -16,7 +16,6 @@ gradual_infill_step_height = =3 * layer_height
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 45)
|
||||
|
@ -16,7 +16,6 @@ gradual_infill_step_height = =3 * layer_height
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 15
|
||||
prime_tower_enable = True
|
||||
speed_infill = =math.ceil(speed_print * 35 / 45)
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
|
@ -47,7 +47,6 @@ material_max_flowrate = 15
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
meshfix_maximum_resolution = 0.7
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = True
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 4
|
||||
retraction_prime_speed = 22
|
||||
|
@ -44,7 +44,6 @@ material_flow = 93
|
||||
material_max_flowrate = 15
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = True
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 4
|
||||
retraction_prime_speed = 22
|
||||
|
@ -44,7 +44,6 @@ material_flow = 93
|
||||
material_max_flowrate = 15
|
||||
material_print_temperature = =default_material_print_temperature + 15
|
||||
optimize_wall_printing_order = False
|
||||
prime_tower_enable = True
|
||||
raft_airgap = 0.25
|
||||
retraction_amount = 4
|
||||
retraction_prime_speed = 22
|
||||
|
@ -12,14 +12,18 @@ variant = BB 0.4
|
||||
weight = 1
|
||||
|
||||
[values]
|
||||
acceleration_prime_tower = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
material_print_temperature = =default_material_print_temperature - 5
|
||||
prime_tower_enable = False
|
||||
minimum_support_area = 4
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
speed_prime_tower = 25
|
||||
speed_support = 50
|
||||
support_infill_sparse_thickness = =3 * layer_height
|
||||
support_interface_enable = True
|
||||
|
||||
|
@ -12,13 +12,17 @@ variant = BB 0.4
|
||||
weight = -1
|
||||
|
||||
[values]
|
||||
acceleration_prime_tower = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
prime_tower_enable = False
|
||||
initial_layer_line_width_factor = 150
|
||||
minimum_support_area = 4
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
speed_prime_tower = 25
|
||||
speed_support = 50
|
||||
support_infill_sparse_thickness = =2 * layer_height
|
||||
support_interface_enable = True
|
||||
|
||||
|
@ -12,14 +12,18 @@ variant = BB 0.4
|
||||
weight = 0
|
||||
|
||||
[values]
|
||||
acceleration_prime_tower = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
material_print_temperature = =default_material_print_temperature - 5
|
||||
prime_tower_enable = False
|
||||
minimum_support_area = 4
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
speed_prime_tower = 25
|
||||
speed_support = 50
|
||||
support_infill_sparse_thickness = =2 * layer_height
|
||||
support_interface_enable = True
|
||||
|
||||
|
@ -12,13 +12,17 @@ variant = BB 0.4
|
||||
weight = -2
|
||||
|
||||
[values]
|
||||
acceleration_prime_tower = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
prime_tower_enable = False
|
||||
minimum_support_area = 4
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
speed_prime_tower = 25
|
||||
speed_support = 50
|
||||
support_interface_enable = True
|
||||
|
||||
|
@ -13,14 +13,18 @@ variant = BB 0.4
|
||||
weight = -3
|
||||
|
||||
[values]
|
||||
acceleration_prime_tower = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
material_print_temperature = =default_material_print_temperature - 5
|
||||
prime_tower_enable = False
|
||||
minimum_support_area = 4
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
speed_prime_tower = 25
|
||||
speed_support = 50
|
||||
support_infill_sparse_thickness = 0.3
|
||||
support_interface_enable = True
|
||||
|
||||
|
@ -12,11 +12,16 @@ variant = BB 0.8
|
||||
weight = -2
|
||||
|
||||
[values]
|
||||
acceleration_prime_tower = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
minimum_support_area = 4
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
speed_prime_tower = 25
|
||||
speed_support = 50
|
||||
support_interface_enable = True
|
||||
|
||||
|
@ -12,13 +12,18 @@ variant = BB 0.8
|
||||
weight = -3
|
||||
|
||||
[values]
|
||||
acceleration_prime_tower = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
minimum_support_area = 4
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
speed_prime_tower = 25
|
||||
speed_support = 50
|
||||
support_infill_sparse_thickness = 0.3
|
||||
support_interface_enable = True
|
||||
|
||||
|
@ -12,12 +12,17 @@ variant = BB 0.8
|
||||
weight = -4
|
||||
|
||||
[values]
|
||||
acceleration_prime_tower = 1500
|
||||
brim_replaces_support = False
|
||||
build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
|
||||
cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
|
||||
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
|
||||
initial_layer_line_width_factor = 150
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
minimum_support_area = 4
|
||||
retraction_count_max = 5
|
||||
skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
|
||||
speed_prime_tower = 25
|
||||
speed_support = 50
|
||||
support_interface_enable = True
|
||||
|
||||
|
@ -18,7 +18,6 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 45)
|
||||
|
@ -18,7 +18,6 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 45)
|
||||
|
@ -18,7 +18,6 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
|
||||
machine_nozzle_cool_down_speed = 0.75
|
||||
machine_nozzle_heat_up_speed = 1.6
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
prime_tower_enable = True
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 45)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 45)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user