diff --git a/src/.doxygen b/.doxygen similarity index 94% rename from src/.doxygen rename to .doxygen index f822282e40..fb8ae5f045 100644 --- a/src/.doxygen +++ b/.doxygen @@ -1,4 +1,4 @@ -# Doxyfile 1.9.5 +# Doxyfile 1.9.8 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. @@ -48,7 +48,7 @@ PROJECT_NAME = OrcaSlicer # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 1.5.0 +PROJECT_NUMBER = 1.6.3 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -61,14 +61,14 @@ PROJECT_BRIEF = OrcaSlicer # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy # the logo to the output directory. -PROJECT_LOGO = D:/a/OrcaSlicer/OrcaSlicer/resources/images/BambuStudio.png +PROJECT_LOGO = ./resources/images/OrcaSlicer_32px.png # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # into which the generated documentation will be written. If a relative path is # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. -OUTPUT_DIRECTORY = OrcaSlicer-doc +OUTPUT_DIRECTORY = ../ # If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 # sub-directories (in 2 levels) under the output directory of each output format @@ -86,7 +86,7 @@ CREATE_SUBDIRS = YES # level increment doubles the number of directories, resulting in 4096 # directories at level 8 which is the default and also the maximum value. The # sub-directories are organized in 2 levels, the first level always has a fixed -# numer of 16 directories. +# number of 16 directories. # Minimum value: 0, maximum value: 8, default value: 8. # This tag requires that the tag CREATE_SUBDIRS is set to YES. @@ -184,7 +184,7 @@ FULL_PATH_NAMES = YES # will be relative from the directory where doxygen is started. # This tag requires that the tag FULL_PATH_NAMES is set to YES. -STRIP_FROM_PATH = /Users/lijiang/lab/OrcaSlicer/ +STRIP_FROM_PATH = /Users/runner/work/OrcaSlicer/OrcaSlicer # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the # path mentioned in the documentation of a class, which tells the reader which @@ -193,7 +193,7 @@ STRIP_FROM_PATH = /Users/lijiang/lab/OrcaSlicer/ # specify the list of include paths that are normally passed to the compiler # using the -I flag. -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = /Users/runner/work/OrcaSlicer/OrcaSlicer # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but # less readable) file names. This can be useful is your file systems doesn't @@ -363,6 +363,17 @@ MARKDOWN_SUPPORT = YES TOC_INCLUDE_HEADINGS = 5 +# The MARKDOWN_ID_STYLE tag can be used to specify the algorithm used to +# generate identifiers for the Markdown headings. Note: Every identifier is +# unique. +# Possible values are: DOXYGEN use a fixed 'autotoc_md' string followed by a +# sequence number starting at 0 and GITHUB use the lower case version of title +# with any whitespace replaced by '-' and punctuation characters removed. +# The default value is: DOXYGEN. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +MARKDOWN_ID_STYLE = GITHUB + # When enabled doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can # be prevented in individual cases by putting a % sign in front of the word or @@ -379,7 +390,7 @@ AUTOLINK_SUPPORT = YES # diagrams that involve STL classes more complete and accurate. # The default value is: NO. -BUILTIN_STL_SUPPORT = NO +BUILTIN_STL_SUPPORT = YES # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. @@ -418,7 +429,7 @@ DISTRIBUTE_GROUP_DOC = NO # is disabled and one has to add nested compounds explicitly via \ingroup. # The default value is: NO. -GROUP_NESTED_COMPOUNDS = NO +GROUP_NESTED_COMPOUNDS = YES # Set the SUBGROUPING tag to YES to allow class member groups of the same type # (for instance a group of public functions) to be put as a subgroup of that @@ -487,6 +498,14 @@ LOOKUP_CACHE_SIZE = 6 NUM_PROC_THREADS = 0 +# If the TIMESTAMP tag is set different from NO then each generated page will +# contain the date or date and time when the page was generated. Setting this to +# NO can help when comparing the output of multiple runs. +# Possible values are: YES, NO, DATETIME and DATE. +# The default value is: NO. + +TIMESTAMP = NO + #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- @@ -499,7 +518,7 @@ NUM_PROC_THREADS = 0 # normally produced when WARNINGS is set to YES. # The default value is: NO. -EXTRACT_ALL = NO +EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will # be included in the documentation. @@ -568,7 +587,8 @@ HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. If set # to NO, these classes will be included in the various overviews. This option -# has no effect if EXTRACT_ALL is enabled. +# will also hide undocumented C++ concepts if enabled. This option has no effect +# if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_CLASSES = NO @@ -714,26 +734,26 @@ STRICT_PROTO_MATCHING = NO # list. This list is created by putting \todo commands in the documentation. # The default value is: YES. -GENERATE_TODOLIST = YES +GENERATE_TODOLIST = NO # The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test # list. This list is created by putting \test commands in the documentation. # The default value is: YES. -GENERATE_TESTLIST = YES +GENERATE_TESTLIST = NO # The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug # list. This list is created by putting \bug commands in the documentation. # The default value is: YES. -GENERATE_BUGLIST = YES +GENERATE_BUGLIST = NO # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) # the deprecated list. This list is created by putting \deprecated commands in # the documentation. # The default value is: YES. -GENERATE_DEPRECATEDLIST= YES +GENERATE_DEPRECATEDLIST= NO # The ENABLED_SECTIONS tag can be used to enable conditional documentation # sections, marked by \if ... \endif and \cond @@ -859,11 +879,26 @@ WARN_IF_INCOMPLETE_DOC = YES WARN_NO_PARAMDOC = NO +# If WARN_IF_UNDOC_ENUM_VAL option is set to YES, doxygen will warn about +# undocumented enumeration values. If set to NO, doxygen will accept +# undocumented enumeration values. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: NO. + +WARN_IF_UNDOC_ENUM_VAL = NO + # If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when # a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS # then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but # at the end of the doxygen process doxygen will return with a non-zero status. -# Possible values are: NO, YES and FAIL_ON_WARNINGS. +# If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS_PRINT then doxygen behaves +# like FAIL_ON_WARNINGS but in case no WARN_LOGFILE is defined doxygen will not +# write the warning messages in between other messages but write them at the end +# of a run, in case a WARN_LOGFILE is defined the warning messages will be +# besides being in the defined file also be shown at the end of a run, unless +# the WARN_LOGFILE is defined as - i.e. standard output (stdout) in that case +# the behavior will remain as with the setting FAIL_ON_WARNINGS. +# Possible values are: NO, YES, FAIL_ON_WARNINGS and FAIL_ON_WARNINGS_PRINT. # The default value is: NO. WARN_AS_ERROR = NO @@ -908,7 +943,7 @@ WARN_LOGFILE = # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = . +INPUT = ./src # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses @@ -1031,9 +1066,6 @@ EXCLUDE_PATTERNS = # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # ANamespace::AClass, ANamespace::*Test -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories use the pattern */test/* EXCLUDE_SYMBOLS = @@ -1219,46 +1251,6 @@ USE_HTAGS = YES VERBATIM_HEADERS = YES -# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the -# clang parser (see: -# http://clang.llvm.org/) for more accurate parsing at the cost of reduced -# performance. This can be particularly helpful with template rich C++ code for -# which doxygen's built-in parser lacks the necessary type information. -# Note: The availability of this option depends on whether or not doxygen was -# generated with the -Duse_libclang=ON option for CMake. -# The default value is: NO. - -CLANG_ASSISTED_PARSING = NO - -# If the CLANG_ASSISTED_PARSING tag is set to YES and the CLANG_ADD_INC_PATHS -# tag is set to YES then doxygen will add the directory of each input to the -# include path. -# The default value is: YES. -# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. - -CLANG_ADD_INC_PATHS = YES - -# If clang assisted parsing is enabled you can provide the compiler with command -# line options that you would normally use when invoking the compiler. Note that -# the include paths will already be set by doxygen for the files and directories -# specified with INPUT and INCLUDE_PATH. -# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. - -CLANG_OPTIONS = - -# If clang assisted parsing is enabled you can provide the clang parser with the -# path to the directory containing a file called compile_commands.json. This -# file is the compilation database (see: -# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) containing the -# options used when the source files were built. This is equivalent to -# specifying the -p option to a clang tool, such as clang-check. These options -# will then be passed to the parser. Any options specified with CLANG_OPTIONS -# will be added as well. -# Note: The availability of this option depends on whether or not doxygen was -# generated with the -Duse_libclang=ON option for CMake. - -CLANG_DATABASE_PATH = - #--------------------------------------------------------------------------- # Configuration options related to the alphabetical class index #--------------------------------------------------------------------------- @@ -1270,10 +1262,11 @@ CLANG_DATABASE_PATH = ALPHABETICAL_INDEX = YES -# In case all classes in a project start with a common prefix, all classes will -# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag -# can be used to specify a prefix (or a list of prefixes) that should be ignored -# while generating the index headers. +# The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes) +# that should be ignored while generating the index headers. The IGNORE_PREFIX +# tag works for classes, function and member names. The entity will be placed in +# the alphabetical list under the first letter of the entity name that remains +# after removing the prefix. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. IGNORE_PREFIX = @@ -1293,7 +1286,7 @@ GENERATE_HTML = YES # The default directory is: html. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_OUTPUT = html +HTML_OUTPUT = OrcaSlicer_Dev_Document # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each # generated HTML page (for example: .htm, .php, .asp). @@ -1352,7 +1345,12 @@ HTML_STYLESHEET = # Doxygen will copy the style sheet files to the output directory. # Note: The order of the extra style sheet files is of importance (e.g. the last # style sheet in the list overrules the setting of the previous ones in the -# list). For an example see the documentation. +# list). +# Note: Since the styling of scrollbars can currently not be overruled in +# Webkit/Chromium, the styling will be left out of the default doxygen.css if +# one or more extra stylesheets have been specified. So if scrollbar +# customization is desired it has to be added explicitly. For an example see the +# documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_STYLESHEET = @@ -1368,17 +1366,13 @@ HTML_EXTRA_STYLESHEET = HTML_EXTRA_FILES = # The HTML_COLORSTYLE tag can be used to specify if the generated HTML output -# should be rendered with a dark or light theme. Default setting AUTO_LIGHT -# enables light output unless the user preference is dark output. Other options -# are DARK to always use dark mode, LIGHT to always use light mode, AUTO_DARK to -# default to dark mode unless the user prefers light mode, and TOGGLE to let the -# user toggle between dark and light mode via a button. -# Possible values are: LIGHT Always generate light output., DARK Always generate -# dark output., AUTO_LIGHT Automatically set the mode according to the user -# preference, use light mode if no preference is set (the default)., AUTO_DARK -# Automatically set the mode according to the user preference, use dark mode if -# no preference is set. and TOGGLE Allow to user to switch between light and -# dark mode via a button.. +# should be rendered with a dark or light theme. +# Possible values are: LIGHT always generate light mode output, DARK always +# generate dark mode output, AUTO_LIGHT automatically set the mode according to +# the user preference, use light mode if no preference is set (the default), +# AUTO_DARK automatically set the mode according to the user preference, use +# dark mode if no preference is set and TOGGLE allow to user to switch between +# light and dark mode via a button. # The default value is: AUTO_LIGHT. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1414,15 +1408,6 @@ HTML_COLORSTYLE_SAT = 100 HTML_COLORSTYLE_GAMMA = 80 -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting this -# to YES can help to show when doxygen was last run and thus if the -# documentation is up to date. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_TIMESTAMP = NO - # If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML # documentation will contain a main index with vertical navigation menus that # are dynamically created via JavaScript. If disabled, the navigation index will @@ -1440,7 +1425,7 @@ HTML_DYNAMIC_MENUS = YES # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_DYNAMIC_SECTIONS = NO +HTML_DYNAMIC_SECTIONS = YES # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries # shown in the various tree structured indices initially; the user can expand @@ -1468,7 +1453,7 @@ HTML_INDEX_NUM_ENTRIES = 100 # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. -GENERATE_DOCSET = NO +GENERATE_DOCSET = YES # This tag determines the name of the docset feed. A documentation feed provides # an umbrella under which multiple documentation sets from a single provider @@ -1572,6 +1557,16 @@ BINARY_TOC = NO TOC_EXPAND = NO +# The SITEMAP_URL tag is used to specify the full URL of the place where the +# generated documentation will be placed on the server by the user during the +# deployment of the documentation. The generated sitemap is called sitemap.xml +# and placed on the directory specified by HTML_OUTPUT. In case no SITEMAP_URL +# is specified no sitemap is generated. For information about the sitemap +# protocol see https://www.sitemaps.org +# This tag requires that the tag GENERATE_HTML is set to YES. + +SITEMAP_URL = + # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help @@ -1736,7 +1731,7 @@ OBFUSCATE_EMAILS = YES # The default value is: png. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_FORMULA_FORMAT = png +HTML_FORMULA_FORMAT = svg # Use this tag to change the font size of LaTeX formulas included as images in # the HTML documentation. When you change the font size after a successful @@ -2060,9 +2055,16 @@ PDF_HYPERLINKS = YES USE_PDFLATEX = YES -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode -# command to the generated LaTeX files. This will instruct LaTeX to keep running -# if errors occur, instead of asking the user for help. +# The LATEX_BATCHMODE tag ignals the behavior of LaTeX in case of an error. +# Possible values are: NO same as ERROR_STOP, YES same as BATCH, BATCH In batch +# mode nothing is printed on the terminal, errors are scrolled as if is +# hit at every error; missing files that TeX tries to input or request from +# keyboard input (\read on a not open input stream) cause the job to abort, +# NON_STOP In nonstop mode the diagnostic message will appear on the terminal, +# but there is no possibility of user interaction just like in batch mode, +# SCROLL In scroll mode, TeX will stop only for missing files to input or if +# keyboard input is necessary and ERROR_STOP In errorstop mode, TeX will stop at +# each error, asking for user intervention. # The default value is: NO. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -2083,14 +2085,6 @@ LATEX_HIDE_INDICES = NO LATEX_BIB_STYLE = plain -# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated -# page will contain the date and time when the page was generated. Setting this -# to NO can help when comparing the output of multiple runs. -# The default value is: NO. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_TIMESTAMP = NO - # The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute) # path from which the emoji images will be read. If a relative path is entered, # it will be relative to the LATEX_OUTPUT directory. If left blank the @@ -2256,7 +2250,7 @@ DOCBOOK_OUTPUT = docbook #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an -# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures +# AutoGen Definitions (see https://autogen.sourceforge.net/) file that captures # the structure of the code including all documentation. Note that this feature # is still experimental and incomplete at the moment. # The default value is: NO. @@ -2267,6 +2261,28 @@ GENERATE_AUTOGEN_DEF = NO # Configuration options related to Sqlite3 output #--------------------------------------------------------------------------- +# If the GENERATE_SQLITE3 tag is set to YES doxygen will generate a Sqlite3 +# database with symbols found by doxygen stored in tables. +# The default value is: NO. + +GENERATE_SQLITE3 = NO + +# The SQLITE3_OUTPUT tag is used to specify where the Sqlite3 database will be +# put. If a relative path is entered the value of OUTPUT_DIRECTORY will be put +# in front of it. +# The default directory is: sqlite3. +# This tag requires that the tag GENERATE_SQLITE3 is set to YES. + +SQLITE3_OUTPUT = sqlite3 + +# The SQLITE3_OVERWRITE_DB tag is set to YES, the existing doxygen_sqlite3.db +# database file will be recreated with each doxygen run. If set to NO, doxygen +# will warn if an a database file is already found and not modify it. +# The default value is: YES. +# This tag requires that the tag GENERATE_SQLITE3 is set to YES. + +SQLITE3_RECREATE_DB = YES + #--------------------------------------------------------------------------- # Configuration options related to the Perl module output #--------------------------------------------------------------------------- @@ -2322,7 +2338,7 @@ ENABLE_PREPROCESSING = YES # The default value is: NO. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -MACRO_EXPANSION = NO +MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then # the macro expansion is limited to the macros specified with the PREDEFINED and @@ -2330,7 +2346,7 @@ MACRO_EXPANSION = NO # The default value is: NO. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -EXPAND_ONLY_PREDEF = NO +EXPAND_ONLY_PREDEF = YES # If the SEARCH_INCLUDES tag is set to YES, the include files in the # INCLUDE_PATH will be searched if a #include is found. @@ -2431,16 +2447,9 @@ EXTERNAL_GROUPS = YES EXTERNAL_PAGES = YES #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to diagram generator tools #--------------------------------------------------------------------------- -# You can include diagrams made with dia in doxygen documentation. Doxygen will -# then run dia to produce the diagram and insert it in the documentation. The -# DIA_PATH tag allows you to specify the directory where the dia binary resides. -# If left empty dia is assumed to be found in the default search path. - -DIA_PATH = - # If set to YES the inheritance and collaboration graphs will hide inheritance # and usage relations if the target is undocumented or is not a class. # The default value is: YES. @@ -2449,7 +2458,7 @@ HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz (see: -# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent +# https://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent # Bell Labs. The other options in this section have no effect if this option is # set to NO # The default value is: NO. @@ -2502,13 +2511,15 @@ DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4" DOT_FONTPATH = -# If the CLASS_GRAPH tag is set to YES (or GRAPH) then doxygen will generate a -# graph for each documented class showing the direct and indirect inheritance -# relations. In case HAVE_DOT is set as well dot will be used to draw the graph, -# otherwise the built-in generator will be used. If the CLASS_GRAPH tag is set -# to TEXT the direct and indirect inheritance relations will be shown as texts / -# links. -# Possible values are: NO, YES, TEXT and GRAPH. +# If the CLASS_GRAPH tag is set to YES or GRAPH or BUILTIN then doxygen will +# generate a graph for each documented class showing the direct and indirect +# inheritance relations. In case the CLASS_GRAPH tag is set to YES or GRAPH and +# HAVE_DOT is enabled as well, then dot will be used to draw the graph. In case +# the CLASS_GRAPH tag is set to YES and HAVE_DOT is disabled or if the +# CLASS_GRAPH tag is set to BUILTIN, then the built-in generator will be used. +# If the CLASS_GRAPH tag is set to TEXT the direct and indirect inheritance +# relations will be shown as texts / links. +# Possible values are: NO, YES, TEXT, GRAPH and BUILTIN. # The default value is: YES. CLASS_GRAPH = YES @@ -2579,7 +2590,7 @@ DOT_WRAP_THRESHOLD = 17 # The default value is: NO. # This tag requires that the tag HAVE_DOT is set to YES. -TEMPLATE_RELATIONS = NO +TEMPLATE_RELATIONS = YES # If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to # YES then doxygen will generate a graph for each documented file showing the @@ -2649,7 +2660,7 @@ DIR_GRAPH_MAX_DEPTH = 1 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. For an explanation of the image formats see the section # output formats in the documentation of the dot tool (Graphviz (see: -# http://www.graphviz.org/)). +# https://www.graphviz.org/)). # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order # to make the SVG files visible in IE 9+ (other browsers do not have this # requirement). @@ -2686,11 +2697,12 @@ DOT_PATH = DOTFILE_DIRS = -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the \mscfile -# command). +# You can include diagrams made with dia in doxygen documentation. Doxygen will +# then run dia to produce the diagram and insert it in the documentation. The +# DIA_PATH tag allows you to specify the directory where the dia binary resides. +# If left empty dia is assumed to be found in the default search path. -MSCFILE_DIRS = +DIA_PATH = # The DIAFILE_DIRS tag can be used to specify one or more directories that # contain dia files that are included in the documentation (see the \diafile @@ -2738,7 +2750,7 @@ DOT_GRAPH_MAX_NODES = 50 # Minimum value: 0, maximum value: 1000, default value: 0. # This tag requires that the tag HAVE_DOT is set to YES. -MAX_DOT_GRAPH_DEPTH = 4 +MAX_DOT_GRAPH_DEPTH = 5 # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This @@ -2767,3 +2779,19 @@ GENERATE_LEGEND = YES # The default value is: YES. DOT_CLEANUP = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. If the MSCGEN_TOOL tag is left empty (the default), then doxygen will +# use a built-in version of mscgen tool to produce the charts. Alternatively, +# the MSCGEN_TOOL tag can also specify the name an external tool. For instance, +# specifying prog as the value, doxygen will call the tool as prog -T +# -o . The external tool should support +# output file formats "png", "eps", "svg", and "ismap". + +MSCGEN_TOOL = + +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the \mscfile +# command). + +MSCFILE_DIRS = diff --git a/.github/workflows/build_deps.yml b/.github/workflows/build_deps.yml new file mode 100644 index 0000000000..e42b1a7250 --- /dev/null +++ b/.github/workflows/build_deps.yml @@ -0,0 +1,79 @@ +# name: Build Deps +name: Build deps + +on: + pull_request: + branches: + - main + paths: + - 'deps/**' + push: + branches: + - main + paths: + - 'deps/**' + +jobs: + build_deps: + strategy: + fail-fast: true + matrix: + include: + - os: ubuntu-22.04 + - os: windows-2019 + - os: macos-12 + arch: x86_64 + - os: macos-12 + arch: arm64 + runs-on: ${{ matrix.os }} + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: setup dev on Windows + if: matrix.os == 'Windows' + uses: ilammy/msvc-dev-cmd@v1 + + - name: Build on Windows + if: matrix.os == 'windows-2019' + working-directory: ${{ github.workspace }} + run: | + choco install strawberryperl + mkdir ${{ github.workspace }}/deps/build + mkdir ${{ github.workspace }}/deps/build/OrcaSlicer_dep + .\build_release.bat deps + + - name: Build on Mac x86_64 + if: matrix.os == 'macos-12' && matrix.arch == 'x86_64' + working-directory: ${{ github.workspace }} + run: | + brew install cmake git gettext + mkdir -p ${{ github.workspace }}/deps/build_x86_64 + mkdir -p ${{ github.workspace }}/deps/build_x86_64/OrcaSlicer_dep_x86_64 + ./build_release_macos.sh -d -a x86_64 + + - name: Build on Mac arm64 + if: matrix.os == 'macos-12' && matrix.arch == 'arm64' + working-directory: ${{ github.workspace }} + run: | + brew install cmake git gettext + mkdir -p ${{ github.workspace }}/deps/build_arm64 + mkdir -p ${{ github.workspace }}/deps/build_arm64/OrcaSlicer_dep_arm64 + ./build_release_macos.sh -d -a arm64 + + - name: Build on Ubuntu + if: matrix.os == 'ubuntu-22.04' + working-directory: ${{ github.workspace }} + run: | + sudo apt-get update + sudo apt-get install -y cmake git g++ build-essential libgl1-mesa-dev m4 \ + libwayland-dev libxkbcommon-dev wayland-protocols extra-cmake-modules pkgconf \ + libglu1-mesa-dev libcairo2-dev libgtk-3-dev libsoup2.4-dev libwebkit2gtk-4.0-dev \ + libgstreamer1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-base1.0-dev \ + gstreamer1.0-plugins-bad libosmesa6-dev wget sudo autoconf curl libunwind-dev + mkdir -p ${{ github.workspace }}/deps/build + mkdir -p ${{ github.workspace }}/deps/build/destdir + sudo ./BuildLinux.sh -ur + sudo chown $USER -R ./ + ./BuildLinux.sh -dr \ No newline at end of file diff --git a/.github/workflows/build_linux.yml b/.github/workflows/build_linux.yml index 4744392fa9..043c34fc1b 100644 --- a/.github/workflows/build_linux.yml +++ b/.github/workflows/build_linux.yml @@ -4,9 +4,22 @@ on: push: branches: - main + paths: + - 'src/**' + - '**/CMakeLists.txt' + - 'version.inc' + - 'bbl/**' + - 'resources/**' + pull_request: branches: - main + paths: + - 'src/**' + - '**/CMakeLists.txt' + - 'version.inc' + - 'bbl/**' + - 'resources/**' jobs: appimage-builder: @@ -49,11 +62,11 @@ jobs: run: | mkdir -p ${{ github.workspace }}/deps/build mkdir -p ${{ github.workspace }}/deps/build/destdir - curl -LJO https://github.com/SoftFever/FileSharing/releases/download/OrcaSlicer_deps_Mar/OrcaSlicer_dep_ubuntu_05-04-2023.tar.gz - tar -zxf OrcaSlicer_dep_ubuntu_05-04-2023.tar.gz -C ${{ github.workspace }}/deps/build + curl -LJO https://github.com/SoftFever/FileSharing/releases/download/OrcaSlicer_deps_Jun_2023/OrcaSlicer_dep_ubuntu_11-06-2023.tar.gz + tar -zxf OrcaSlicer_dep_ubuntu_11-06-2023.tar.gz -C ${{ github.workspace }}/deps/build chown -R $(id -u):$(id -g) ${{ github.workspace }}/deps/build/destdir ls -l ${{ github.workspace }}/deps/build/destdir - rm OrcaSlicer_dep_ubuntu_05-04-2023.tar.gz + rm OrcaSlicer_dep_ubuntu_11-06-2023.tar.gz - name: Build Studio diff --git a/.github/workflows/build_mac_arm64.yml b/.github/workflows/build_mac_arm64.yml index 8287c844a8..1316ee1806 100644 --- a/.github/workflows/build_mac_arm64.yml +++ b/.github/workflows/build_mac_arm64.yml @@ -4,9 +4,22 @@ on: push: branches: - main + paths: + - 'src/**' + - '**/CMakeLists.txt' + - 'version.inc' + - 'bbl/**' + - 'resources/**' + pull_request: branches: - main + paths: + - 'src/**' + - '**/CMakeLists.txt' + - 'version.inc' + - 'bbl/**' + - 'resources/**' jobs: build_osx_arm64: diff --git a/.github/workflows/build_mac_x64.yml b/.github/workflows/build_mac_x64.yml index 0dbacc0b15..c3544f56eb 100644 --- a/.github/workflows/build_mac_x64.yml +++ b/.github/workflows/build_mac_x64.yml @@ -4,9 +4,22 @@ on: push: branches: - main + paths: + - 'src/**' + - '**/CMakeLists.txt' + - 'version.inc' + - 'bbl/**' + - 'resources/**' + pull_request: branches: - main + paths: + - 'src/**' + - '**/CMakeLists.txt' + - 'version.inc' + - 'bbl/**' + - 'resources/**' jobs: build_osx_x86_64: diff --git a/.github/workflows/build_win.yml b/.github/workflows/build_win.yml index cacf9774db..b3a81574fa 100644 --- a/.github/workflows/build_win.yml +++ b/.github/workflows/build_win.yml @@ -4,9 +4,22 @@ on: push: branches: - main + paths: + - 'src/**' + - '**/CMakeLists.txt' + - 'version.inc' + - 'bbl/**' + - 'resources/**' + pull_request: branches: - main + paths: + - 'src/**' + - '**/CMakeLists.txt' + - 'version.inc' + - 'bbl/**' + - 'resources/**' jobs: build_win64: diff --git a/.github/workflows/publish_docs_to_wiki.yml b/.github/workflows/publish_docs_to_wiki.yml index 4cf0865e95..c55539c118 100644 --- a/.github/workflows/publish_docs_to_wiki.yml +++ b/.github/workflows/publish_docs_to_wiki.yml @@ -6,7 +6,7 @@ on: paths: - doc/** # This includes all sub folders branches: - - PublishDocsToWiki # This can be changed to any branch of your preference + - main # This can be changed to any branch of your preference env: USER_TOKEN: ${{ secrets.GH_WIKI_PAT }} # This is the repository secret personal access token diff --git a/.gitignore b/.gitignore index da7a18c3a9..efe2e50257 100644 --- a/.gitignore +++ b/.gitignore @@ -23,4 +23,6 @@ deps/build-linux/* install_* build_*/ SVG -src/OrcaSlicer-doc/ \ No newline at end of file +src/OrcaSlicer-doc/ +.idea/ +bbl/i18n/es/OrcaSlicer_es.mo diff --git a/README.md b/README.md index 26d5860c89..d9f9f5c9f1 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,10 @@ +[![Build Win64](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_win.yml/badge.svg)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_win.yml) +[![Build Mac AppleSilicon](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_arm64.yml/badge.svg)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_arm64.yml) +[![Build Mac Intel](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_x64.yml/badge.svg)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_x64.yml) +[![Build Linux](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_linux.yml/badge.svg)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_linux.yml) + # Orca Slicer -[![Build Win64](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_win.yml/badge.svg?branch=SoftFever)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_win.yml) -[![Build Mac AppleSilicon](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_arm64.yml/badge.svg?branch=SoftFever)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_arm64.yml) -[![Build Mac Intel](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_x64.yml/badge.svg?branch=SoftFever)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_x64.yml) -[![Build Linux](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_linux.yml/badge.svg?branch=SoftFever)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_linux.yml) Orca Slicer is a fork of Bambu Studio. It was previously known as BambuStudio-SoftFever. Bambu Studio is based on [PrusaSlicer](https://github.com/prusa3d/PrusaSlicer) by Prusa Research, which is from [Slic3r](https://github.com/Slic3r/Slic3r) by Alessandro Ranellucci and the RepRap community. Orca Slicer incorporates a lot of features from SuperSlicer by @supermerill @@ -32,12 +33,16 @@ Prebuilt binaries are available through the [github releases page](https://githu 2. Double click to unzip the package, move OrcaSlicer.app to Application folder. 3. The app is signed but not notarized at the moment due to the proptiery network plugin. We have two options to make it run on our machines - - Option 1: + - Option 1 (You only need to do this once. After that the app can be oppened normally.): + - Step 1: Hold _cmd_ and right click the app, from the context menu choose **Open**. + - Step 2: A warning window will pop up, click _Open_ + + - Option 2: Execute this command in terminal: `xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app` ```console softfever@mac:~$ xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app ``` - - Option 2: + - Option 3: - Step 1: open the app, a warning window will pop up ![image](./SoftFever_doc/mac_cant_open.png) - Step 2: in `System Settings` -> `Privacy & Security`, click `Open Anyway`: diff --git a/bbl/i18n/OrcaSlicer.pot b/bbl/i18n/OrcaSlicer.pot index d600bc7773..14d31487bd 100644 --- a/bbl/i18n/OrcaSlicer.pot +++ b/bbl/i18n/OrcaSlicer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-06 13:46+0200\n" +"POT-Creation-Date: 2023-07-07 00:37+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,29 +17,6 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -msgid "Physical Printer" -msgstr "" - -msgid "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-signed certificate." -msgstr "" - -msgid "On this system, %s uses HTTPS certificates from the system Certificate Store or Keychain." -msgstr "" - -msgid "To use a custom CA file, please import your CA file into Certificate Store / Keychain." -msgstr "" - -msgid "Send to print" -msgstr "" - -msgid "Upload" -msgstr "" - -msgid "Upload and Print" -msgstr "" - -msgid "Use forward slashes ( / ) as a directory separator if needed." -msgstr "" msgid "Supports Painting" msgstr "" @@ -1861,7 +1838,10 @@ msgstr "" msgid "You need to select the material type and color first." msgstr "" -msgid "Other color" +msgid "Other Color" +msgstr "" + +msgid "Custom Color" msgstr "" msgid "Dynamic flow calibration" @@ -3194,6 +3174,12 @@ msgstr "" msgid "Pressure advance" msgstr "" +msgid "Retraction test" +msgstr "" + +msgid "Orca Tolerance Test" +msgstr "" + msgid "Max flowrate" msgstr "" @@ -4975,8 +4961,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add " -"Primitive\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add Primitive" +"\"->\"Timelapse Wipe Tower\"." msgstr "" msgid "Line width" @@ -5158,7 +5144,7 @@ msgstr "" msgid "Cooling Fan" msgstr "" -msgid "Fan speedup time" +msgid "Fan speed-up time" msgstr "" msgid "Extruder Clearance" @@ -6084,6 +6070,9 @@ msgstr "" msgid "No extrusions under current settings." msgstr "" +msgid "Bed temperatures for the used filaments differ significantly." +msgstr "" + msgid "" "Smooth mode of timelapse is not supported when \"by object\" sequence is " "enabled." @@ -6616,11 +6605,11 @@ msgid "Internal bridge support thickness" msgstr "" msgid "" -"If enabled, Studio will generate support loops under the contours of " -"internal bridges.These support loops could prevent internal bridges from " -"extruding over the air and improve the top surface quality, especially when " -"the sparse infill density is low.This value determines the thickness of the " -"support loops. 0 means disable this feature" +"If enabled, support loops will be generated under the contours of internal " +"bridges.These support loops could prevent internal bridges from extruding " +"over the air and improve the top surface quality, especially when the sparse " +"infill density is low.This value determines the thickness of the support " +"loops. 0 means disable this feature" msgstr "" msgid "Top surface pattern" @@ -6946,6 +6935,45 @@ msgstr "" msgid "Lightning" msgstr "" +msgid "Sparse infill anchor length" +msgstr "" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than infill_anchor_max is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to this parameter, but no longer than anchor_length_max. \n" +"Set this parameter to zero to disable anchoring perimeters connected to a " +"single infill line." +msgstr "" + +msgid "0 (no open anchors)" +msgstr "" + +msgid "1000 (unlimited)" +msgstr "" + +msgid "Maximum length of the infill anchor" +msgstr "" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than this parameter is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to infill_anchor, but no longer than this parameter. \n" +"If set to 0, the old algorithm for infill connection will be used, it should " +"create the same result as with 1000 & 0." +msgstr "" + +msgid "0 (Simple connect)" +msgstr "" + msgid "Acceleration of outer walls" msgstr "" @@ -7044,6 +7072,14 @@ msgstr "" msgid "Travel speed of initial layer" msgstr "" +msgid "Number of slow layers" +msgstr "" + +msgid "" +"The first few layers are printed slower than normal. The speed is gradually " +"increased in a linear fashion over the specified number of layers." +msgstr "" + msgid "Initial layer nozzle temperature" msgstr "" @@ -7053,6 +7089,24 @@ msgstr "" msgid "Full fan speed at layer" msgstr "" +msgid "" +"Fan speed will be ramped up linearly from zero at layer " +"\"close_fan_the_first_x_layers\" to maximum at layer \"full_fan_speed_layer" +"\". \"full_fan_speed_layer\" will be ignored if lower than " +"\"close_fan_the_first_x_layers\", in which case the fan will be running at " +"maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1." +msgstr "" + +msgid "Support interface fan speed" +msgstr "" + +msgid "" +"This fan speed is enforced during all support interfaces, to be able to " +"weaken their bonding with a high fan speed.\n" +"Set to -1 to disable this override.\n" +"Can only be overriden by disable_fan_first_layers." +msgstr "" + msgid "" "Randomly jitter while printing the wall, so that the surface has a rough " "look. This setting controls the fuzzy position" @@ -7158,9 +7212,6 @@ msgstr "" msgid "Enable this option if machine has auxiliary part cooling fan" msgstr "" -msgid "Fan Speedup Time" -msgstr "" - msgid "" "Start the fan this number of seconds earlier than its target start time (you " "can use fractional seconds). It assumes infinite acceleration for this time " @@ -7675,6 +7726,14 @@ msgstr "" msgid "Random" msgstr "" +msgid "Staggered inner seams" +msgstr "" + +msgid "" +"This option causes the inner seams to be shifted backwards based on their " +"depth, forming a zigzag pattern." +msgstr "" + msgid "Seam gap" msgstr "" @@ -7730,6 +7789,12 @@ msgstr "" msgid "Number of loops for the skirt. Zero means disabling skirt" msgstr "" +msgid "Skirt speed" +msgstr "" + +msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -8655,102 +8720,54 @@ msgid "" "end > start + step)" msgstr "" -#: resources/data/hints.ini: [hint:3D Scene Operations] -msgid "3D Scene Operations\nDid you know how to control view and object/part selection with mouse and touchpanel in the 3D scene?" +msgid "Start retraction length: " msgstr "" -#: resources/data/hints.ini: [hint:Cut Tool] -msgid "Cut Tool\nDid you know that you can cut a model at any angle and position with the cutting tool?" +msgid "End retraction length: " msgstr "" -#: resources/data/hints.ini: [hint:Fix Model] -msgid "Fix Model\nDid you know that you can fix a corrupted 3D model to avoid a lot of slicing problems?" +msgid "mm/mm" msgstr "" -#: resources/data/hints.ini: [hint:Timelapse] -msgid "Timelapse\nDid you know that you can generate a timelapse video during each print?" +msgid "Physical Printer" msgstr "" -#: resources/data/hints.ini: [hint:Auto-Arrange] -msgid "Auto-Arrange\nDid you know that you can auto-arrange all objects in your project?" +msgid "Print Host upload" msgstr "" -#: resources/data/hints.ini: [hint:Auto-Orient] -msgid "Auto-Orient\nDid you know that you can rotate objects to an optimal orientation for printing by a simple click?" +msgid "Test" msgstr "" -#: resources/data/hints.ini: [hint:Lay on Face] -msgid "Lay on Face\nDid you know that you can quickly orient a model so that one of its faces sits on the print bed? Select the \"Place on face\" function or press the F key." +msgid "Could not get a valid Printer Host reference" msgstr "" -#: resources/data/hints.ini: [hint:Object List] -msgid "Object List\nDid you know that you can view all objects/parts in a list and change settings for each object/part?" +msgid "Success!" msgstr "" -#: resources/data/hints.ini: [hint:Simplify Model] -msgid "Simplify Model\nDid you know that you can reduce the number of triangles in a mesh using the Simplify mesh feature? Right-click the model and select Simplify model. Read more in the documentation." +msgid "Refresh Printers" msgstr "" -#: resources/data/hints.ini: [hint:Slicing Parameter Table] -msgid "Slicing Parameter Table\nDid you know that you can view all objects/parts on a table and change settings for each object/part?" +msgid "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." msgstr "" -#: resources/data/hints.ini: [hint:Split to Objects/Parts] -msgid "Split to Objects/Parts\nDid you know that you can split a big object into small ones for easy colorizing or printing?" +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "" -#: resources/data/hints.ini: [hint:Subtract a Part] -msgid "Subtract a Part\nDid you know that you can subtract one mesh from another using the Negative part modifier? That way you can, for example, create easily resizable holes directly in Orca Slicer. Read more in the documentation." +msgid "Open CA certificate file" msgstr "" -#: resources/data/hints.ini: [hint:STEP] -msgid "STEP\nDid you know that you can improve your print quality by slicing a STEP file instead of an STL?\nOrca Slicer supports slicing STEP files, providing smoother results than a lower resolution STL. Give it a try!" +#, possible-c-format, possible-boost-format +msgid "" +"On this system, %s uses HTTPS certificates from the system Certificate Store " +"or Keychain." msgstr "" -#: resources/data/hints.ini: [hint:Z seam location] -msgid "Z seam location\nDid you know that you can customize the location of the Z seam, and even paint it on your print, to have it in a less visible location? This improves the overall look of your model. Check it out!" +msgid "" +"To use a custom CA file, please import your CA file into Certificate Store / " +"Keychain." msgstr "" -#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] -msgid "Fine-tuning for flow rate\nDid you know that flow rate can be fine-tuned for even better-looking prints? Depending on the material, you can improve the overall finish of the printed model by doing some fine-tuning." -msgstr "" - -#: resources/data/hints.ini: [hint:Split your prints into plates] -msgid "Split your prints into plates\nDid you know that you can split a model that has a lot of parts into individual plates ready to print? This will simplify the process of keeping track of all the parts." -msgstr "" - -#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer Height] -msgid "Speed up your print with Adaptive Layer Height\nDid you know that you can print a model even faster, by using the Adaptive Layer Height option? Check it out!" -msgstr "" - -#: resources/data/hints.ini: [hint:Support painting] -msgid "Support painting\nDid you know that you can paint the location of your supports? This feature makes it easy to place the support material only on the sections of the model that actually need it." -msgstr "" - -#: resources/data/hints.ini: [hint:Different types of supports] -msgid "Different types of supports\nDid you know that you can choose from multiple types of supports? Tree supports work great for organic models, while saving filament and improving print speed. Check them out!" -msgstr "" - -#: resources/data/hints.ini: [hint:Printing Silk Filament] -msgid "Printing Silk Filament\nDid you know that Silk filament needs special consideration to print it successfully? Higher temperature and lower speed are always recommended for the best results." -msgstr "" - -#: resources/data/hints.ini: [hint:Brim for better adhesion] -msgid "Brim for better adhesion\nDid you know that when printing models have a small contact interface with the printing surface, it's recommended to use a brim?" -msgstr "" - -#: resources/data/hints.ini: [hint:Set parameters for multiple objects] -msgid "Set parameters for multiple objects\nDid you know that you can set slicing parameters for all selected objects at one time?" -msgstr "" - -#: resources/data/hints.ini: [hint:Stack objects] -msgid "Stack objects\nDid you know that you can stack objects as a whole one?" -msgstr "" - -#: resources/data/hints.ini: [hint:Flush into support/objects/infill] -msgid "Flush into support/objects/infill\nDid you know that you can save the wasted filament by flushing them into support/objects/infill during filament change?" -msgstr "" - -#: resources/data/hints.ini: [hint:Improve strength] -msgid "Improve strength\nDid you know that you can use more wall loops and higher sparse infill density to improve the strength of the model?" +msgid "Connection to printers connected via the print host failed." msgstr "" diff --git a/bbl/i18n/cs/OrcaSlicer_cs.po b/bbl/i18n/cs/OrcaSlicer_cs.po index a7c0578111..165527af1a 100755 --- a/bbl/i18n/cs/OrcaSlicer_cs.po +++ b/bbl/i18n/cs/OrcaSlicer_cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-29 20:13+0800\n" +"POT-Creation-Date: 2023-07-07 00:37+0800\n" "PO-Revision-Date: 2023-03-31 22:48+0200\n" "Last-Translator: Momo \n" "Language-Team: \n" @@ -1909,7 +1909,10 @@ msgstr "Zadejte platnou hodnotu (K v 0~0,5, N v 0,6~2,0)" msgid "You need to select the material type and color first." msgstr "" -msgid "Other color" +msgid "Other Color" +msgstr "" + +msgid "Custom Color" msgstr "" msgid "Dynamic flow calibration" @@ -3350,6 +3353,12 @@ msgstr "Průtok" msgid "Pressure advance" msgstr "Předstih tlaku" +msgid "Retraction test" +msgstr "" + +msgid "Orca Tolerance Test" +msgstr "" + msgid "Max flowrate" msgstr "Max. průtok" @@ -5319,9 +5328,6 @@ msgstr "Výstup G-kódu" msgid "Post-processing Scripts" msgstr "Skripty Post-processing" -msgid "Post-processing scripts" -msgstr "" - msgid "Frequent" msgstr "Časté" @@ -5458,6 +5464,12 @@ msgstr "" msgid "Printable space" msgstr "Prostor pro tisk" +msgid "Cooling Fan" +msgstr "" + +msgid "Fan speed-up time" +msgstr "" + msgid "Extruder Clearance" msgstr "Vzdálenost extrudéru" @@ -6428,6 +6440,9 @@ msgstr "" msgid "No extrusions under current settings." msgstr "Žádné extruze pod aktuálním nastavením." +msgid "Bed temperatures for the used filaments differ significantly." +msgstr "" + msgid "" "Smooth mode of timelapse is not supported when \"by object\" sequence is " "enabled." @@ -6812,8 +6827,8 @@ msgstr "" "jak velká šířka linky bez podpěry spodní vrstvy. 0% znamená vynucení " "chlazení pro celou vnější stěnu bez ohledu na míru převisu" -msgid "Bridge direction" -msgstr "Směr mostu" +msgid "Bridge infill direction" +msgstr "Směr výplně mostu" msgid "" "Bridging angle override. If left to zero, the bridging angle will be " @@ -7070,17 +7085,12 @@ msgid "Internal bridge support thickness" msgstr "Tloušťka vnitřní podpory mostu" msgid "" -"If enabled, Studio will generate support loops under the contours of " -"internal bridges.These support loops could prevent internal bridges from " -"extruding over the air and improve the top surface quality, especially when " -"the sparse infill density is low.This value determines the thickness of the " -"support loops. 0 means disable this feature" +"If enabled, support loops will be generated under the contours of internal " +"bridges.These support loops could prevent internal bridges from extruding " +"over the air and improve the top surface quality, especially when the sparse " +"infill density is low.This value determines the thickness of the support " +"loops. 0 means disable this feature" msgstr "" -"Pokud je povoleno, Studio vygeneruje podpůrné smyčky pod obrysy vnitřních " -"mostů. Tyto podpůrné smyčky by mohly bránit vnitřním mostům vytlačováním " -"vzduchem a zlepšují špičkovou kvalitu povrchu, zvláště když řídká hustota " -"výplně je nízká. Tato hodnota určuje tloušťku výplně podpůrné smyčky. 0 " -"znamená vypnutí této funkce" msgid "Top surface pattern" msgstr "Vzor horního povrchu" @@ -7404,14 +7414,6 @@ msgid "" "of line" msgstr "Úhel pro vzor řídké výplně, který řídí začátek nebo hlavní směr linky" -msgid "Bridge infill direction" -msgstr "Směr výplně mostu" - -msgid "" -"Angle for bridge infill pattern, which controls the start or main direction " -"of line" -msgstr "Úhel pro vzor výplně mostu, který řídí začátek nebo hlavní směr linky" - msgid "Sparse infill density" msgstr "Hustota řídké výplně" @@ -7455,6 +7457,45 @@ msgstr "Kubický podepíraný" msgid "Lightning" msgstr "Blesky" +msgid "Sparse infill anchor length" +msgstr "" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than infill_anchor_max is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to this parameter, but no longer than anchor_length_max. \n" +"Set this parameter to zero to disable anchoring perimeters connected to a " +"single infill line." +msgstr "" + +msgid "0 (no open anchors)" +msgstr "" + +msgid "1000 (unlimited)" +msgstr "" + +msgid "Maximum length of the infill anchor" +msgstr "" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than this parameter is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to infill_anchor, but no longer than this parameter. \n" +"If set to 0, the old algorithm for infill connection will be used, it should " +"create the same result as with 1000 & 0." +msgstr "" + +msgid "0 (Simple connect)" +msgstr "" + msgid "Acceleration of outer walls" msgstr "Zrychlení vnějších stěny" @@ -7565,6 +7606,14 @@ msgstr "Rychlost pohybu první vrstvy" msgid "Travel speed of initial layer" msgstr "Cestovní rychlost počáteční vrstvy" +msgid "Number of slow layers" +msgstr "" + +msgid "" +"The first few layers are printed slower than normal. The speed is gradually " +"increased in a linear fashion over the specified number of layers." +msgstr "" + msgid "Initial layer nozzle temperature" msgstr "Teplota trysky první vrstvy" @@ -7574,6 +7623,24 @@ msgstr "Teplota trysky pro tisk první vrstvy při použití tohoto filamentu" msgid "Full fan speed at layer" msgstr "Maximální otáčky ventilátoru ve vrstvě" +msgid "" +"Fan speed will be ramped up linearly from zero at layer " +"\"close_fan_the_first_x_layers\" to maximum at layer \"full_fan_speed_layer" +"\". \"full_fan_speed_layer\" will be ignored if lower than " +"\"close_fan_the_first_x_layers\", in which case the fan will be running at " +"maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1." +msgstr "" + +msgid "Support interface fan speed" +msgstr "" + +msgid "" +"This fan speed is enforced during all support interfaces, to be able to " +"weaken their bonding with a high fan speed.\n" +"Set to -1 to disable this override.\n" +"Can only be overriden by disable_fan_first_layers." +msgstr "" + msgid "" "Randomly jitter while printing the wall, so that the surface has a rough " "look. This setting controls the fuzzy position" @@ -7697,6 +7764,35 @@ msgstr "" msgid "Enable this option if machine has auxiliary part cooling fan" msgstr "Povolte tuto možnost, pokud má stroj pomocný chladicí ventilátor" +msgid "" +"Start the fan this number of seconds earlier than its target start time (you " +"can use fractional seconds). It assumes infinite acceleration for this time " +"estimation, and will only take into account G1 and G0 moves (arc fitting is " +"unsupported).\n" +"It won't move fan comands from custom gcodes (they act as a sort of " +"'barrier').\n" +"It won't move fan comands into the start gcode if the 'only custom start " +"gcode' is activated.\n" +"Use 0 to deactivate." +msgstr "" + +msgid "Only overhangs" +msgstr "" + +msgid "Will only take into account the delay for the cooling of overhangs." +msgstr "" + +msgid "Fan kick-start time" +msgstr "" + +msgid "" +"Emit a max fan speed command for this amount of seconds before reducing to " +"target speed to kick-start the cooling fan.\n" +"This is useful for fans where a low PWM/power may be insufficient to get the " +"fan started spinning from a stop, or to get the fan up to speed faster.\n" +"Set to 0 to deactivate." +msgstr "" + msgid "G-code flavor" msgstr "Druh G-code" @@ -8246,14 +8342,22 @@ msgstr "Zezadu" msgid "Random" msgstr "Náhodný" +msgid "Staggered inner seams" +msgstr "" + +msgid "" +"This option causes the inner seams to be shifted backwards based on their " +"depth, forming a zigzag pattern." +msgstr "" + msgid "Seam gap" msgstr "Mezera švu" msgid "" "In order to reduce the visibility of the seam in a closed loop extrusion, " "the loop is interrupted and shortened by a specified amount.\n" -"This amount can be specified in millimeters or as a percentage of the current " -"extruder diameter. The default value for this parameter is 15%." +"This amount can be specified in millimeters or as a percentage of the " +"current extruder diameter. The default value for this parameter is 15%." msgstr "" "Aby se snížila viditelnost švu při vytlačování s uzavřenou smyčkou, smyčka " "se přeruší a zkrátí o zadanou hodnotu.\n" @@ -8314,6 +8418,12 @@ msgstr "Obrysové Smyčky" msgid "Number of loops for the skirt. Zero means disabling skirt" msgstr "Počet smyček pro Obrys. Nula znamená deaktivaci sukně" +msgid "Skirt speed" +msgstr "" + +msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -9388,270 +9498,320 @@ msgstr "" "start > 10 kroků >= 0\n" "konec > začátek + krok)" -#: resources/data/hints.ini: [hint:3D Scene Operations] -msgid "" -"3D Scene Operations\n" -"Did you know how to control view and object/part selection with mouse and " -"touchpanel in the 3D scene?" +msgid "Start retraction length: " msgstr "" -"Operace 3D scény\n" -"Did jste, jak ovládat pohled a výběr objektů/dílů pomocí myši a dotykového " -"panelu ve 3D scéně?" -#: resources/data/hints.ini: [hint:Cut Tool] -msgid "" -"Cut Tool\n" -"Did you know that you can cut a model at any angle and position with the " -"cutting tool?" +msgid "End retraction length: " msgstr "" -"Nástroj pro řezání\n" -"Did jste, že pomocí řezného nástroje můžete řezat model v libovolném úhlu a " -"poloze?" -#: resources/data/hints.ini: [hint:Fix Model] -msgid "" -"Fix Model\n" -"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " -"problems?" +msgid "mm/mm" msgstr "" -"Opravit model\n" -"Did jste, že můžete opravit poškozený 3D model, abyste se vyhnuli mnoha " -"problémům s krájením?" -#: resources/data/hints.ini: [hint:Timelapse] -msgid "" -"Timelapse\n" -"Did you know that you can generate a timelapse video during each print?" +msgid "Physical Printer" msgstr "" -"Časosběr\n" -"Did jste, že můžete generovat časosběrné video během každého tisku?" -#: resources/data/hints.ini: [hint:Auto-Arrange] -msgid "" -"Auto-Arrange\n" -"Did you know that you can auto-arrange all objects in your project?" +msgid "Print Host upload" msgstr "" -"Automatické uspořádání\n" -"Did jste, že můžete automaticky uspořádat všechny objekty ve svém projektu?" -#: resources/data/hints.ini: [hint:Auto-Orient] -msgid "" -"Auto-Orient\n" -"Did you know that you can rotate objects to an optimal orientation for " -"printing by a simple click?" +msgid "Test" msgstr "" -"Auto-Orient\n" -"Did jste, že můžete otočit objekty do optimální orientace pro tisk " -"jednoduchým kliknutím?" -#: resources/data/hints.ini: [hint:Lay on Face] -msgid "" -"Lay on Face\n" -"Did you know that you can quickly orient a model so that one of its faces " -"sits on the print bed? Select the \"Place on face\" function or press the " -"F key." +msgid "Could not get a valid Printer Host reference" msgstr "" -"Plochou na podložku\n" -"Did jste, že můžete rychle orientovat model tak, aby jedna z jeho tváří " -"seděla na tiskové podložce? Vyberte funkci \"Umístit na obličej\" nebo " -"stiskněte klávesu F ." -#: resources/data/hints.ini: [hint:Object List] -msgid "" -"Object List\n" -"Did you know that you can view all objects/parts in a list and change " -"settings for each object/part?" +msgid "Success!" msgstr "" -"Seznam objektů\n" -"Did jste, že můžete zobrazit všechny objekty/části v seznamu a změnit " -"nastavení pro každý objekt/část?" -#: resources/data/hints.ini: [hint:Simplify Model] -msgid "" -"Simplify Model\n" -"Did you know that you can reduce the number of triangles in a mesh using the " -"Simplify mesh feature? Right-click the model and select Simplify model. Read " -"more in the documentation." +msgid "Refresh Printers" msgstr "" -"Zjednodušte model\n" -"Did jste, že můžete snížit počet trojúhelníků v síti pomocí funkce " -"Zjednodušit síť? Klikněte pravým tlačítkem na model a vyberte Zjednodušit " -"model. Více v dokumentaci." -#: resources/data/hints.ini: [hint:Slicing Parameter Table] msgid "" -"Slicing Parameter Table\n" -"Did you know that you can view all objects/parts on a table and change " -"settings for each object/part?" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." msgstr "" -"Tabulka parametrů dělení\n" -"Did jste, že můžete zobrazit všechny objekty/části v tabulce a změnit " -"nastavení pro každý objekt/část?" -#: resources/data/hints.ini: [hint:Split to Objects/Parts] -msgid "" -"Split to Objects/Parts\n" -"Did you know that you can split a big object into small ones for easy " -"colorizing or printing?" +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "" -"Rozdělit na objekty/části\n" -"Didi jste, že velký objekt můžete rozdělit na malé pro snadné obarvení nebo " -"tisk?" -#: resources/data/hints.ini: [hint:Subtract a Part] -msgid "" -"Subtract a Part\n" -"Did you know that you can subtract one mesh from another using the Negative " -"part modifier? That way you can, for example, create easily resizable holes " -"directly in Orca Slicer. Read more in the documentation." +msgid "Open CA certificate file" msgstr "" -"Odečtení dílu\n" -"Did jste, že můžete odečíst jednu síť od druhé pomocí modifikátoru záporné " -"části? Tímto způsobem můžete například vytvářet snadno měnitelné otvory " -"přímo v Orca Slicer. Přečtěte si více v dokumentaci." -#: resources/data/hints.ini: [hint:STEP] +#, c-format, boost-format msgid "" -"STEP\n" -"Did you know that you can improve your print quality by slicing a STEP file " -"instead of an STL?\n" -"Orca Slicer supports slicing STEP files, providing smoother results than a " -"lower resolution STL. Give it a try!" +"On this system, %s uses HTTPS certificates from the system Certificate Store " +"or Keychain." msgstr "" -"STEP\n" -"Did jste, že kvalitu tisku můžete zlepšit krájením souboru STEP místo STL?\n" -"Orca Slicer podporuje krájení souborů STEP a poskytuje hladší výsledky než " -"STL s nižším rozlišením. Vyzkoušejte to!" -#: resources/data/hints.ini: [hint:Z seam location] msgid "" -"Z seam location\n" -"Did you know that you can customize the location of the Z seam, and even " -"paint it on your print, to have it in a less visible location? This improves " -"the overall look of your model. Check it out!" +"To use a custom CA file, please import your CA file into Certificate Store / " +"Keychain." msgstr "" -"Umístění Z švu\n" -"Did jste, že si můžete přizpůsobit umístění Z švu a dokonce jej namalovat na " -"tisk, abyste jej měli na méně viditelném místě? To zlepšuje celkový vzhled " -"vašeho modelu. Vyzkoušejte to!" -#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] -msgid "" -"Fine-tuning for flow rate\n" -"Did you know that flow rate can be fine-tuned for even better-looking " -"prints? Depending on the material, you can improve the overall finish of the " -"printed model by doing some fine-tuning." +msgid "Connection to printers connected via the print host failed." msgstr "" -"Jemné doladění průtoku\n" -"Did jste, že průtok lze vyladit pro ještě lépe vypadající výtisky? V " -"závislosti na materiálu můžete vylepšit celkovou povrchovou úpravu tištěného " -"modelu provedením nějakého jemného doladění." -#: resources/data/hints.ini: [hint:Split your prints into plates] -msgid "" -"Split your prints into plates\n" -"Did you know that you can split a model that has a lot of parts into " -"individual plates ready to print? This will simplify the process of keeping " -"track of all the parts." -msgstr "" -"Rozdělit výtisky na desky\n" -"Did jste, že můžete rozdělit model, který má mnoho dílů, na jednotlivé desky " -"připravené k tisku? To zjednoduší proces sledování všech dílů." +#~ msgid "" +#~ "3D Scene Operations\n" +#~ "Did you know how to control view and object/part selection with mouse and " +#~ "touchpanel in the 3D scene?" +#~ msgstr "" +#~ "Operace 3D scény\n" +#~ "Did jste, jak ovládat pohled a výběr objektů/dílů pomocí myši a " +#~ "dotykového panelu ve 3D scéně?" -#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer -#: Height] -msgid "" -"Speed up your print with Adaptive Layer Height\n" -"Did you know that you can print a model even faster, by using the Adaptive " -"Layer Height option? Check it out!" -msgstr "" -"Urychlete svůj tisk pomocí Adaptivní výšky vrstvy\n" -"Did jste, že můžete tisknout model ještě rychleji pomocí možnosti Adaptivní " -"výška vrstvy? Vyzkoušejte to!" +#~ msgid "" +#~ "Cut Tool\n" +#~ "Did you know that you can cut a model at any angle and position with the " +#~ "cutting tool?" +#~ msgstr "" +#~ "Nástroj pro řezání\n" +#~ "Did jste, že pomocí řezného nástroje můžete řezat model v libovolném úhlu " +#~ "a poloze?" -#: resources/data/hints.ini: [hint:Support painting] -msgid "" -"Support painting\n" -"Did you know that you can paint the location of your supports? This feature " -"makes it easy to place the support material only on the sections of the " -"model that actually need it." -msgstr "" -"Malování podpěry\n" -"Did jste, že můžete namalovat umístění svých podpěr? Tato funkce usnadňuje " -"umístění podpěrného materiálu pouze na části modelu, které to skutečně " -"potřebují." +#~ msgid "" +#~ "Fix Model\n" +#~ "Did you know that you can fix a corrupted 3D model to avoid a lot of " +#~ "slicing problems?" +#~ msgstr "" +#~ "Opravit model\n" +#~ "Did jste, že můžete opravit poškozený 3D model, abyste se vyhnuli mnoha " +#~ "problémům s krájením?" -#: resources/data/hints.ini: [hint:Different types of supports] -msgid "" -"Different types of supports\n" -"Did you know that you can choose from multiple types of supports? Tree " -"supports work great for organic models, while saving filament and improving " -"print speed. Check them out!" -msgstr "" -"Různé typy podpěr\n" -"Did jste, že si můžete vybrat z více typů podpěr? Podpěry stromu fungují " -"skvěle pro organické modely, přičemž šetří vlákno a zlepšují rychlost tisku. " -"Vyzkoušejte je!" +#~ msgid "" +#~ "Timelapse\n" +#~ "Did you know that you can generate a timelapse video during each print?" +#~ msgstr "" +#~ "Časosběr\n" +#~ "Did jste, že můžete generovat časosběrné video během každého tisku?" -#: resources/data/hints.ini: [hint:Printing Silk Filament] -msgid "" -"Printing Silk Filament\n" -"Did you know that Silk filament needs special consideration to print it " -"successfully? Higher temperature and lower speed are always recommended for " -"the best results." -msgstr "" -"Tisk hedvábného vlákna\n" -"Did jste, že hedvábný filament vyžaduje zvláštní pozornost, aby byl úspěšný? " -"Pro dosažení nejlepších výsledků se vždy doporučuje vyšší teplota a nižší " -"rychlost." +#~ msgid "" +#~ "Auto-Arrange\n" +#~ "Did you know that you can auto-arrange all objects in your project?" +#~ msgstr "" +#~ "Automatické uspořádání\n" +#~ "Did jste, že můžete automaticky uspořádat všechny objekty ve svém " +#~ "projektu?" -#: resources/data/hints.ini: [hint:Brim for better adhesion] -msgid "" -"Brim for better adhesion\n" -"Did you know that when printing models have a small contact interface with " -"the printing surface, it's recommended to use a brim?" -msgstr "" -"Okraj pro lepší přilnavost\n" -"Did jste, že když tiskové modely mají malé kontaktní rozhraní s tiskovou " -"plochou, doporučuje se použít okraj?" +#~ msgid "" +#~ "Auto-Orient\n" +#~ "Did you know that you can rotate objects to an optimal orientation for " +#~ "printing by a simple click?" +#~ msgstr "" +#~ "Auto-Orient\n" +#~ "Did jste, že můžete otočit objekty do optimální orientace pro tisk " +#~ "jednoduchým kliknutím?" -#: resources/data/hints.ini: [hint:Set parameters for multiple objects] -msgid "" -"Set parameters for multiple objects\n" -"Did you know that you can set slicing parameters for all selected objects at " -"one time?" -msgstr "" -"Nastavit parametry pro více objektů\n" -"Did jste, že můžete nastavit parametry krájení pro všechny vybrané objekty " -"najednou?" +#~ msgid "" +#~ "Lay on Face\n" +#~ "Did you know that you can quickly orient a model so that one of its faces " +#~ "sits on the print bed? Select the \"Place on face\" function or press the " +#~ "F key." +#~ msgstr "" +#~ "Plochou na podložku\n" +#~ "Did jste, že můžete rychle orientovat model tak, aby jedna z jeho tváří " +#~ "seděla na tiskové podložce? Vyberte funkci \"Umístit na obličej\" nebo " +#~ "stiskněte klávesu F ." -#: resources/data/hints.ini: [hint:Stack objects] -msgid "" -"Stack objects\n" -"Did you know that you can stack objects as a whole one?" -msgstr "" -"Skládat objekty\n" -"Did jste, že můžete skládat objekty jako jeden celek?" +#~ msgid "" +#~ "Object List\n" +#~ "Did you know that you can view all objects/parts in a list and change " +#~ "settings for each object/part?" +#~ msgstr "" +#~ "Seznam objektů\n" +#~ "Did jste, že můžete zobrazit všechny objekty/části v seznamu a změnit " +#~ "nastavení pro každý objekt/část?" -#: resources/data/hints.ini: [hint:Flush into support/objects/infill] -msgid "" -"Flush into support/objects/infill\n" -"Did you know that you can save the wasted filament by flushing them into " -"support/objects/infill during filament change?" -msgstr "" -"Vypláchnout do support/objects/infill\n" -"Did jste, že můžete zachránit ztracené vlákno jejich vypláchnutím do support/" -"objects/infill během výměny vlákna?" +#~ msgid "" +#~ "Simplify Model\n" +#~ "Did you know that you can reduce the number of triangles in a mesh using " +#~ "the Simplify mesh feature? Right-click the model and select Simplify " +#~ "model. Read more in the documentation." +#~ msgstr "" +#~ "Zjednodušte model\n" +#~ "Did jste, že můžete snížit počet trojúhelníků v síti pomocí funkce " +#~ "Zjednodušit síť? Klikněte pravým tlačítkem na model a vyberte Zjednodušit " +#~ "model. Více v dokumentaci." -#: resources/data/hints.ini: [hint:Improve strength] -msgid "" -"Improve strength\n" -"Did you know that you can use more wall loops and higher sparse infill " -"density to improve the strength of the model?" -msgstr "" -"Zlepšete pevnost\n" -"Did jste, že ke zlepšení pevnosti modelu můžete použít více smyček na stěně " -"a vyšší hustotu výplně?" +#~ msgid "" +#~ "Slicing Parameter Table\n" +#~ "Did you know that you can view all objects/parts on a table and change " +#~ "settings for each object/part?" +#~ msgstr "" +#~ "Tabulka parametrů dělení\n" +#~ "Did jste, že můžete zobrazit všechny objekty/části v tabulce a změnit " +#~ "nastavení pro každý objekt/část?" + +#~ msgid "" +#~ "Split to Objects/Parts\n" +#~ "Did you know that you can split a big object into small ones for easy " +#~ "colorizing or printing?" +#~ msgstr "" +#~ "Rozdělit na objekty/části\n" +#~ "Didi jste, že velký objekt můžete rozdělit na malé pro snadné obarvení " +#~ "nebo tisk?" + +#~ msgid "" +#~ "Subtract a Part\n" +#~ "Did you know that you can subtract one mesh from another using the " +#~ "Negative part modifier? That way you can, for example, create easily " +#~ "resizable holes directly in Orca Slicer. Read more in the documentation." +#~ msgstr "" +#~ "Odečtení dílu\n" +#~ "Did jste, že můžete odečíst jednu síť od druhé pomocí modifikátoru " +#~ "záporné části? Tímto způsobem můžete například vytvářet snadno měnitelné " +#~ "otvory přímo v Orca Slicer. Přečtěte si více v dokumentaci." + +#~ msgid "" +#~ "STEP\n" +#~ "Did you know that you can improve your print quality by slicing a STEP " +#~ "file instead of an STL?\n" +#~ "Orca Slicer supports slicing STEP files, providing smoother results than " +#~ "a lower resolution STL. Give it a try!" +#~ msgstr "" +#~ "STEP\n" +#~ "Did jste, že kvalitu tisku můžete zlepšit krájením souboru STEP místo " +#~ "STL?\n" +#~ "Orca Slicer podporuje krájení souborů STEP a poskytuje hladší výsledky " +#~ "než STL s nižším rozlišením. Vyzkoušejte to!" + +#~ msgid "" +#~ "Z seam location\n" +#~ "Did you know that you can customize the location of the Z seam, and even " +#~ "paint it on your print, to have it in a less visible location? This " +#~ "improves the overall look of your model. Check it out!" +#~ msgstr "" +#~ "Umístění Z švu\n" +#~ "Did jste, že si můžete přizpůsobit umístění Z švu a dokonce jej namalovat " +#~ "na tisk, abyste jej měli na méně viditelném místě? To zlepšuje celkový " +#~ "vzhled vašeho modelu. Vyzkoušejte to!" + +#~ msgid "" +#~ "Fine-tuning for flow rate\n" +#~ "Did you know that flow rate can be fine-tuned for even better-looking " +#~ "prints? Depending on the material, you can improve the overall finish of " +#~ "the printed model by doing some fine-tuning." +#~ msgstr "" +#~ "Jemné doladění průtoku\n" +#~ "Did jste, že průtok lze vyladit pro ještě lépe vypadající výtisky? V " +#~ "závislosti na materiálu můžete vylepšit celkovou povrchovou úpravu " +#~ "tištěného modelu provedením nějakého jemného doladění." + +#~ msgid "" +#~ "Split your prints into plates\n" +#~ "Did you know that you can split a model that has a lot of parts into " +#~ "individual plates ready to print? This will simplify the process of " +#~ "keeping track of all the parts." +#~ msgstr "" +#~ "Rozdělit výtisky na desky\n" +#~ "Did jste, že můžete rozdělit model, který má mnoho dílů, na jednotlivé " +#~ "desky připravené k tisku? To zjednoduší proces sledování všech dílů." + +#~ msgid "" +#~ "Speed up your print with Adaptive Layer Height\n" +#~ "Did you know that you can print a model even faster, by using the " +#~ "Adaptive Layer Height option? Check it out!" +#~ msgstr "" +#~ "Urychlete svůj tisk pomocí Adaptivní výšky vrstvy\n" +#~ "Did jste, že můžete tisknout model ještě rychleji pomocí možnosti " +#~ "Adaptivní výška vrstvy? Vyzkoušejte to!" + +#~ msgid "" +#~ "Support painting\n" +#~ "Did you know that you can paint the location of your supports? This " +#~ "feature makes it easy to place the support material only on the sections " +#~ "of the model that actually need it." +#~ msgstr "" +#~ "Malování podpěry\n" +#~ "Did jste, že můžete namalovat umístění svých podpěr? Tato funkce " +#~ "usnadňuje umístění podpěrného materiálu pouze na části modelu, které to " +#~ "skutečně potřebují." + +#~ msgid "" +#~ "Different types of supports\n" +#~ "Did you know that you can choose from multiple types of supports? Tree " +#~ "supports work great for organic models, while saving filament and " +#~ "improving print speed. Check them out!" +#~ msgstr "" +#~ "Různé typy podpěr\n" +#~ "Did jste, že si můžete vybrat z více typů podpěr? Podpěry stromu fungují " +#~ "skvěle pro organické modely, přičemž šetří vlákno a zlepšují rychlost " +#~ "tisku. Vyzkoušejte je!" + +#~ msgid "" +#~ "Printing Silk Filament\n" +#~ "Did you know that Silk filament needs special consideration to print it " +#~ "successfully? Higher temperature and lower speed are always recommended " +#~ "for the best results." +#~ msgstr "" +#~ "Tisk hedvábného vlákna\n" +#~ "Did jste, že hedvábný filament vyžaduje zvláštní pozornost, aby byl " +#~ "úspěšný? Pro dosažení nejlepších výsledků se vždy doporučuje vyšší " +#~ "teplota a nižší rychlost." + +#~ msgid "" +#~ "Brim for better adhesion\n" +#~ "Did you know that when printing models have a small contact interface " +#~ "with the printing surface, it's recommended to use a brim?" +#~ msgstr "" +#~ "Okraj pro lepší přilnavost\n" +#~ "Did jste, že když tiskové modely mají malé kontaktní rozhraní s tiskovou " +#~ "plochou, doporučuje se použít okraj?" + +#~ msgid "" +#~ "Set parameters for multiple objects\n" +#~ "Did you know that you can set slicing parameters for all selected objects " +#~ "at one time?" +#~ msgstr "" +#~ "Nastavit parametry pro více objektů\n" +#~ "Did jste, že můžete nastavit parametry krájení pro všechny vybrané " +#~ "objekty najednou?" + +#~ msgid "" +#~ "Stack objects\n" +#~ "Did you know that you can stack objects as a whole one?" +#~ msgstr "" +#~ "Skládat objekty\n" +#~ "Did jste, že můžete skládat objekty jako jeden celek?" + +#~ msgid "" +#~ "Flush into support/objects/infill\n" +#~ "Did you know that you can save the wasted filament by flushing them into " +#~ "support/objects/infill during filament change?" +#~ msgstr "" +#~ "Vypláchnout do support/objects/infill\n" +#~ "Did jste, že můžete zachránit ztracené vlákno jejich vypláchnutím do " +#~ "support/objects/infill během výměny vlákna?" + +#~ msgid "" +#~ "Improve strength\n" +#~ "Did you know that you can use more wall loops and higher sparse infill " +#~ "density to improve the strength of the model?" +#~ msgstr "" +#~ "Zlepšete pevnost\n" +#~ "Did jste, že ke zlepšení pevnosti modelu můžete použít více smyček na " +#~ "stěně a vyšší hustotu výplně?" + +#~ msgid "" +#~ "If enabled, support loops will be generated under the contours of " +#~ "internal bridges. These support loops could prevent internal bridges from " +#~ "extruding over the air and improve the top surface quality, especially " +#~ "when the sparse infill density is low.This value determines the thickness " +#~ "of the support loops. 0 means disable this feature" +#~ msgstr "" +#~ "Pokud je povoleno, Studio vygeneruje podpůrné smyčky pod obrysy vnitřních " +#~ "mostů. Tyto podpůrné smyčky by mohly bránit vnitřním mostům vytlačováním " +#~ "vzduchem a zlepšují špičkovou kvalitu povrchu, zvláště když řídká hustota " +#~ "výplně je nízká. Tato hodnota určuje tloušťku výplně podpůrné smyčky. 0 " +#~ "znamená vypnutí této funkce" + +#~ msgid "Bridge direction" +#~ msgstr "Směr mostu" + +#~ msgid "" +#~ "Angle for bridge infill pattern, which controls the start or main " +#~ "direction of line" +#~ msgstr "" +#~ "Úhel pro vzor výplně mostu, který řídí začátek nebo hlavní směr linky" #~ msgid "Keep upper part" #~ msgstr "Zachovat horní část" diff --git a/bbl/i18n/de/OrcaSlicer_de.po b/bbl/i18n/de/OrcaSlicer_de.po index 25feba573a..d10115a393 100644 --- a/bbl/i18n/de/OrcaSlicer_de.po +++ b/bbl/i18n/de/OrcaSlicer_de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-06 13:46+0200\n" +"POT-Creation-Date: 2023-07-07 00:37+0800\n" "PO-Revision-Date: \n" "Last-Translator: Heiko Liebscher \n" "Language-Team: \n" @@ -13,39 +13,6 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n==1) ? 0 : 1;\n" "X-Generator: Poedit 3.2.2\n" -#, fuzzy -msgid "Physical Printer" -msgstr "Drucker" - -msgid "" -"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" -"signed certificate." -msgstr "" - -msgid "" -"On this system, %s uses HTTPS certificates from the system Certificate Store " -"or Keychain." -msgstr "" - -msgid "" -"To use a custom CA file, please import your CA file into Certificate Store / " -"Keychain." -msgstr "" - -#, fuzzy -msgid "Send to print" -msgstr "Zum Drucker senden" - -#, fuzzy -msgid "Upload" -msgstr "Entladen" - -msgid "Upload and Print" -msgstr "" - -msgid "Use forward slashes ( / ) as a directory separator if needed." -msgstr "" - msgid "Supports Painting" msgstr "Stützen aufmalen" @@ -874,7 +841,7 @@ msgid "Load..." msgstr "Laden..." msgid "Orca Cube" -msgstr "" +msgstr "Orca Würfel" msgid "3DBenchy" msgstr "" @@ -883,7 +850,7 @@ msgid "Autodesk FDM Test" msgstr "" msgid "Voron Cube" -msgstr "" +msgstr "Voron Würfel" msgid "Cube" msgstr "Würfel" @@ -1982,8 +1949,11 @@ msgstr "" msgid "You need to select the material type and color first." msgstr "Sie müssen zuerst den Materialtyp und die Farbe auswählen." -msgid "Other color" -msgstr "Andere Farbe" +msgid "Other Color" +msgstr "" + +msgid "Custom Color" +msgstr "" msgid "Dynamic flow calibration" msgstr "Dynamische Flusskalibrierung" @@ -3212,7 +3182,7 @@ msgid "Export G-code file" msgstr "G-Code als Datei exportieren" msgid "Send" -msgstr "Aktuelle Platte senden" +msgstr "Senden" msgid "Export plate sliced file" msgstr "Exportiere aktuelle Platte als STL Datei" @@ -3224,7 +3194,7 @@ msgid "Print all" msgstr "Alle Platten drucken" msgid "Send all" -msgstr "Alle Platten senden" +msgstr "Sende alle" msgid "Keyboard Shortcuts" msgstr "Tastaturkürzel" @@ -3469,6 +3439,13 @@ msgstr "Durchflussrate" msgid "Pressure advance" msgstr "Pressure advance" +#, fuzzy +msgid "Retraction test" +msgstr "Rückzugslängen Test" + +msgid "Orca Tolerance Test" +msgstr "Orca Toleranz Test" + msgid "Max flowrate" msgstr "Maximale Durchflussrate" @@ -3830,7 +3807,7 @@ msgid "0" msgstr "0" msgid "Layer: N/A" -msgstr "" +msgstr "Schicht: N/A" msgid "Clear" msgstr "Löschen" @@ -4794,7 +4771,7 @@ msgid "Update built-in Presets automatically." msgstr "Aktualisiere integrierte Voreinstellungen automatisch." msgid "System Sync" -msgstr "" +msgstr "System-Synchronisation " msgid "Clear my choice on the unsaved presets." msgstr "Meine Auswahl bei den nicht gespeicherten Voreinstellungen löschen." @@ -5447,13 +5424,13 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add " -"Primitive\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add Primitive" +"\"->\"Timelapse Wipe Tower\"." msgstr "" "Wenn Sie einen Zeitraffer ohne Werkzeugkopf aufnehmen, wird empfohlen, einen " "\"Timelapse Wischturm\" hinzuzufügen, indem Sie mit der rechten Maustaste " -"auf die leere Position der Bauplatte klicken und \"Primitiv hinzufügen\"-" -">\"Timelapse Wischturm\" wählen." +"auf die leere Position der Bauplatte klicken und \"Primitiv hinzufügen\"->" +"\"Timelapse Wischturm\" wählen." msgid "Line width" msgstr "Breite der Linie" @@ -5666,8 +5643,8 @@ msgid "Cooling Fan" msgstr "Kühlung" #, fuzzy -msgid "Fan speedup time" -msgstr "Lüftergeschwindigkeit" +msgid "Fan speed-up time" +msgstr "Lüfter Beschleunigungszeit" msgid "Extruder Clearance" msgstr "Freiraum des Extruders" @@ -5983,10 +5960,10 @@ msgid "The multiplier should be in range [%.2f, %.2f]." msgstr "Der Multiplikator sollte im Bereich [%.2f, %.2f] liegen." msgid "unloaded" -msgstr "entladen wird" +msgstr "entladen" msgid "loaded" -msgstr "geladen wird" +msgstr "geladen" msgid "Filament #" msgstr "Filament #" @@ -6667,6 +6644,9 @@ msgstr "" msgid "No extrusions under current settings." msgstr "Keine Extrusion unter den aktuellen Einstellungen." +msgid "Bed temperatures for the used filaments differ significantly." +msgstr "" + msgid "" "Smooth mode of timelapse is not supported when \"by object\" sequence is " "enabled." @@ -7341,17 +7321,12 @@ msgid "Internal bridge support thickness" msgstr "Dicke der internen Brückenstützen" msgid "" -"If enabled, Studio will generate support loops under the contours of " -"internal bridges.These support loops could prevent internal bridges from " -"extruding over the air and improve the top surface quality, especially when " -"the sparse infill density is low.This value determines the thickness of the " -"support loops. 0 means disable this feature" +"If enabled, support loops will be generated under the contours of internal " +"bridges.These support loops could prevent internal bridges from extruding " +"over the air and improve the top surface quality, especially when the sparse " +"infill density is low.This value determines the thickness of the support " +"loops. 0 means disable this feature" msgstr "" -"Wenn aktiviert, generiert Studio Stützschleifen unter den Konturen interner " -"Brücken. Diese Stützschleifen könnten verhindern, dass interne Brücken über " -"die Luft extrudieren, und die höchste Oberflächenqualität verbessern, " -"insbesondere wenn die spärliche Fülldichte niedrig ist. Dieser Wert bestimmt " -"die Dicke der Stützschleifen. 0 bedeutet, diese Funktion zu deaktivieren" msgid "Top surface pattern" msgstr "Muster der Oberfläche" @@ -7738,6 +7713,66 @@ msgstr "Kubisch Stützen" msgid "Lightning" msgstr "Blitz" +msgid "Sparse infill anchor length" +msgstr "Länge des Infill-Ankers" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than infill_anchor_max is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to this parameter, but no longer than anchor_length_max. \n" +"Set this parameter to zero to disable anchoring perimeters connected to a " +"single infill line." +msgstr "" +"Verbindet eine Infill-Linie mit einem kurzen Segment eines zusätzlichen " +"Perimeters mit einem internen Perimeter. Wenn sie als Prozentsatz " +"ausgedrückt wird (Beispiel: 15%), wird sie über die Breite der Infill-" +"Extrusion berechnet. OrcaSlicer versucht, zwei nahe beieinander liegende " +"Infill-Linien mit einem kurzen Perimetersegment zu verbinden. Wenn kein " +"solches Perimetersegment gefunden wird, das kürzer als infill_anchor_max " +"ist, wird die Infill-Linie nur an einer Seite mit einem Perimetersegment " +"verbunden und die Länge des genommenen Perimetersegments ist auf diesen " +"Parameter begrenzt, aber nicht länger als anchor_length_max. Setzen Sie " +"diesen Parameter auf Null, um die Verankerung von Perimetern zu " +"deaktivieren, die mit einer einzelnen Infill-Linie verbunden sind." + +msgid "0 (no open anchors)" +msgstr "0 (keine offenen Anker)" + +msgid "1000 (unlimited)" +msgstr "1000 (unbegrenzt)" + +msgid "Maximum length of the infill anchor" +msgstr "Maximale Länge des Infill-Ankers" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than this parameter is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to infill_anchor, but no longer than this parameter. \n" +"If set to 0, the old algorithm for infill connection will be used, it should " +"create the same result as with 1000 & 0." +msgstr "" +"Verbindet eine Infill-Linie mit einem kurzen Segment eines zusätzlichen " +"Perimeters mit einem internen Perimeter. Wenn sie als Prozentsatz " +"ausgedrückt wird (Beispiel: 15%), wird sie über die Breite der Infill-" +"Extrusion berechnet. OrcaSlicer versucht, zwei nahe beieinander liegende " +"Infill-Linien mit einem kurzen Perimetersegment zu verbinden. Wenn kein " +"solches Perimetersegment gefunden wird, das kürzer als dieser Parameter ist, " +"wird die Infill-Linie nur an einer Seite mit einem Perimetersegment " +"verbunden und die Länge des genommenen Perimetersegments wird auf " +"infill_anchor begrenzt, aber nicht länger als dieser Parameter. Setzen Sie " +"diesen Parameter auf Null, um die Verankerung zu deaktivieren." + +msgid "0 (Simple connect)" +msgstr "0 (Einfache Verbindung)" + msgid "Acceleration of outer walls" msgstr "Beschleunigung Außenwände" @@ -7858,6 +7893,18 @@ msgstr "Bewegung" msgid "Travel speed of initial layer" msgstr "Bewegungsgeschwindigkeit der ersten Schicht" +#, fuzzy +msgid "Number of slow layers" +msgstr "Anzahl der lansamen Schichten" + +msgid "" +"The first few layers are printed slower than normal. The speed is gradually " +"increased in a linear fashion over the specified number of layers." +msgstr "" +"Die ersten paar Schichten werden langsamer als normal gedruckt. Die " +"Geschwindigkeitwird allmählich linear über die angegebene Anzahl von " +"Schichten erhöht." + msgid "Initial layer nozzle temperature" msgstr "Düsentemperatur für die erste Schicht" @@ -7869,6 +7916,34 @@ msgstr "" msgid "Full fan speed at layer" msgstr "Volle Lüfterdrehzahl ab Schicht" +msgid "" +"Fan speed will be ramped up linearly from zero at layer " +"\"close_fan_the_first_x_layers\" to maximum at layer \"full_fan_speed_layer" +"\". \"full_fan_speed_layer\" will be ignored if lower than " +"\"close_fan_the_first_x_layers\", in which case the fan will be running at " +"maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1." +msgstr "" +"Die Lüftergeschwindigkeit wird linear von Null bei der Schicht" +"\"close_fan_the_first_x_layers\" auf das Maximum bei der Schicht " +"\"full_fan_speed_layer\" erhöht. \"full_fan_speed_layer\" wird ignoriert, " +"wenn es niedriger ist als \"close_fan_the_first_x_layers\",in diesem Fall " +"läuft der Lüfter bei Schicht \"close_fan_the_first_x_layers\"+ 1 mit maximal " +"zulässiger Geschwindigkeit." + +#, fuzzy +msgid "Support interface fan speed" +msgstr "Stützstruktur-Schnittstelle" + +msgid "" +"This fan speed is enforced during all support interfaces, to be able to " +"weaken their bonding with a high fan speed.\n" +"Set to -1 to disable this override.\n" +"Can only be overriden by disable_fan_first_layers." +msgstr "" +"Diese Lüftergeschwindigkeit wird während der Stützstruktur verwendet.\n" +"Setzen Sie es auf -1, um dies zu deaktivieren.\n" +"Kann nur durch disable_fan_first_layers außer Kraft gesetzt werden." + msgid "" "Randomly jitter while printing the wall, so that the surface has a rough " "look. This setting controls the fuzzy position" @@ -7997,10 +8072,6 @@ msgstr "" "Aktivieren Sie diese Option, wenn die Maschine über ein zusätzliches " "Kühlgebläse verfügt" -#, fuzzy -msgid "Fan Speedup Time" -msgstr "Lüftergeschwindigkeit: " - msgid "" "Start the fan this number of seconds earlier than its target start time (you " "can use fractional seconds). It assumes infinite acceleration for this time " @@ -8012,16 +8083,23 @@ msgid "" "gcode' is activated.\n" "Use 0 to deactivate." msgstr "" +"Starte den Lüfter diese Anzahl an Sekunden früher. (du kannst auch Milli-" +"Sekunden verwenden). Dabei wird eine unendliche Beschleunigung angenommenund " +"nur G1- und G0-Bewegungen berücksichtigt (Kurvenanpassung wird nicht " +"unterstützt).Fan-Befehle in benutzerdefinierten G-Codes werden nicht " +"verschoben (sie wirken wie eine Art 'Barriere').Fan-Befehle werden nicht in " +"den Start-G-Code verschoben, wenn nur benutzerdefinierterStart-G-Code " +"aktiviert ist. Verwende 0, um den Lüfter zu deaktivieren." #, fuzzy msgid "Only overhangs" msgstr "Nur an Überhängen" msgid "Will only take into account the delay for the cooling of overhangs." -msgstr "" +msgstr "Berücksichtigt nur die Verzögerung für die Kühlung von Überhängen." msgid "Fan kick-start time" -msgstr "" +msgstr "Lüfter Anlaufzeit" msgid "" "Emit a max fan speed command for this amount of seconds before reducing to " @@ -8030,6 +8108,12 @@ msgid "" "fan started spinning from a stop, or to get the fan up to speed faster.\n" "Set to 0 to deactivate." msgstr "" +"Gib für die angegebene Zeit einen Befehl zur maximalen Lüftergeschwindigkeit " +"aus, bevor die Geschwindigkeit auf die Zielgeschwindigkeit reduziert wird, " +"um den Kühlventilator anzuschubsen.Dies ist bei Lüftern nützlich, bei denen " +"eine niedrige PWM-Leistung möglicherweise nicht ausreicht, um den Lüfter vom " +"Stillstand aus zu starten oder um den Lüfter schneller auf Touren zu bringen." +"Setze den Wert auf 0, um diese Funktion zu deaktivieren." msgid "G-code flavor" msgstr "G-Code Typ" @@ -8606,6 +8690,14 @@ msgstr "Rückseite" msgid "Random" msgstr "Zufall" +msgid "Staggered inner seams" +msgstr "" + +msgid "" +"This option causes the inner seams to be shifted backwards based on their " +"depth, forming a zigzag pattern." +msgstr "" + msgid "Seam gap" msgstr "Naht Zwischenraum" @@ -8682,6 +8774,12 @@ msgid "Number of loops for the skirt. Zero means disabling skirt" msgstr "" "Anzahl der Ringe für die Umrandung. Null bedeutet Deaktivierung der Umrandung" +msgid "Skirt speed" +msgstr "" + +msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -9805,278 +9903,353 @@ msgstr "" "Start > 10 Schrittweite >= 0\n" "Ende > Start + Schrittweite)" -#: resources/data/hints.ini: [hint:3D Scene Operations] -msgid "" -"3D Scene Operations\n" -"Did you know how to control view and object/part selection with mouse and " -"touchpanel in the 3D scene?" -msgstr "" -"3D-Szenenbedienung\n" -"Wissen Sie, wie Sie die Ansicht und die Auswahl von Objekten/Teilen in der " -"3D-Szene mit der Maus und dem Touchpad steuern können?" +#, fuzzy +msgid "Start retraction length: " +msgstr "Start Rückzugslänge" -#: resources/data/hints.ini: [hint:Cut Tool] -msgid "" -"Cut Tool\n" -"Did you know that you can cut a model at any angle and position with the " -"cutting tool?" -msgstr "" -"Schnittwerkzeug\n" -"Wussten Sie, dass Sie mit dem Schnittwerkzeug ein Modell in jedem beliebigen " -"Winkel und jeder beliebigen Position zerschneiden können?" +#, fuzzy +msgid "End retraction length: " +msgstr "Ende Rückzugslänge" -#: resources/data/hints.ini: [hint:Fix Model] -msgid "" -"Fix Model\n" -"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " -"problems?" +msgid "mm/mm" msgstr "" -"Modell reparieren\n" -"Wussten Sie, dass Sie ein beschädigtes 3D-Modell reparieren können, um viele " -"Probleme beim Slicen zu vermeiden?" -#: resources/data/hints.ini: [hint:Timelapse] -msgid "" -"Timelapse\n" -"Did you know that you can generate a timelapse video during each print?" -msgstr "" -"Zeitraffer\n" -"Wussten Sie, dass Sie bei jedem Druck ein Zeitraffervideo erstellen können?" +#, fuzzy +msgid "Physical Printer" +msgstr "Drucker" -#: resources/data/hints.ini: [hint:Auto-Arrange] -msgid "" -"Auto-Arrange\n" -"Did you know that you can auto-arrange all objects in your project?" -msgstr "" -"Automatisch anordnen\n" -"Wussten Sie, dass Sie alle Objekte in Ihrem Projekt automatisch anordnen " -"können?" +msgid "Print Host upload" +msgstr "Hochladen zum Druck-Host" -#: resources/data/hints.ini: [hint:Auto-Orient] -msgid "" -"Auto-Orient\n" -"Did you know that you can rotate objects to an optimal orientation for " -"printing by a simple click?" +msgid "Test" msgstr "" -"Automatische Ausrichtung\n" -"Wussten Sie schon, dass Sie Objekte mit einem einfachen Klick in eine für " -"den Druck optimale Ausrichtung drehen können?" -#: resources/data/hints.ini: [hint:Lay on Face] -msgid "" -"Lay on Face\n" -"Did you know that you can quickly orient a model so that one of its faces " -"sits on the print bed? Select the \"Place on face\" function or press the " -"F key." -msgstr "" -"Auf Fläche legen\n" -"Wussten Sie, dass Sie ein Modell schnell so ausrichten können, dass eine " -"seiner Flächen auf dem Druckbett liegt? Wählen Sie die Funktion \"Auf Fläche " -"legen\" oder drücken Sie die Taste F." +msgid "Could not get a valid Printer Host reference" +msgstr "Konnte keine gültige Referenz zum Druck-Host erhalten" -#: resources/data/hints.ini: [hint:Object List] -msgid "" -"Object List\n" -"Did you know that you can view all objects/parts in a list and change " -"settings for each object/part?" -msgstr "" -"Objekt-Liste\n" -"Wussten Sie, dass Sie alle Objekte/Teile in einer Liste anzeigen und die " -"Einstellungen für jedes Objekt/Teil ändern können?" +msgid "Success!" +msgstr "Erfolgreich!" -#: resources/data/hints.ini: [hint:Simplify Model] -msgid "" -"Simplify Model\n" -"Did you know that you can reduce the number of triangles in a mesh using the " -"Simplify mesh feature? Right-click the model and select Simplify model. Read " -"more in the documentation." -msgstr "" -"Modell vereinfachen\n" -"Wussten Sie schon, dass Sie die Anzahl der Dreiecke in einem Netz mit der " -"Funktion \"Netz vereinfachen\" reduzieren können? Klicken Sie mit der " -"rechten Maustaste auf das Modell und wählen Sie \"Modell vereinfachen\". " -"Weitere Informationen finden Sie in der Dokumentation." +msgid "Refresh Printers" +msgstr "Drucker aktualisieren" -#: resources/data/hints.ini: [hint:Slicing Parameter Table] msgid "" -"Slicing Parameter Table\n" -"Did you know that you can view all objects/parts on a table and change " -"settings for each object/part?" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." msgstr "" -"Parametertabelle für das Slicen\n" -"Wussten Sie, dass Sie alle Objekte/Teile in einer Tabelle anzeigen und die " -"Einstellungen für jedes Objekt/Teil ändern können?" +"Die HTTPS-CA-Datei ist optional. Sie wird nur benötigt, wenn Sie HTTPS mit " +"einem selbstsignierten Zertifikat verwenden." -#: resources/data/hints.ini: [hint:Split to Objects/Parts] -msgid "" -"Split to Objects/Parts\n" -"Did you know that you can split a big object into small ones for easy " -"colorizing or printing?" -msgstr "" -"In Objekte/Teile aufteilen\n" -"Wussten Sie, dass Sie ein großes Objekt in kleine Teile aufteilen können, um " -"es leichter einzufärben oder drucken zu können?" +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +msgstr "Zertifikatdateien (*.crt, *.pem)|*.crt;*.pem|Alle Dateien|*.*" -#: resources/data/hints.ini: [hint:Subtract a Part] -msgid "" -"Subtract a Part\n" -"Did you know that you can subtract one mesh from another using the Negative " -"part modifier? That way you can, for example, create easily resizable holes " -"directly in Orca Slicer. Read more in the documentation." -msgstr "" -"Ein Teil subtrahieren\n" -"Wussten Sie, dass Sie mit dem \"negatives Teil Modifikator\" ein Netz von " -"einem anderen subtrahieren können? Auf diese Weise können Sie z.B. leicht " -"veränderbare Löcher direkt in Bambu Studio erstellen. Lesen Sie mehr dazu in " -"der Dokumentation." +msgid "Open CA certificate file" +msgstr "Öffnen Sie die CA-Zertifikatsdatei." -#: resources/data/hints.ini: [hint:STEP] +#, c-format, boost-format msgid "" -"STEP\n" -"Did you know that you can improve your print quality by slicing a STEP file " -"instead of an STL?\n" -"Orca Slicer supports slicing STEP files, providing smoother results than a " -"lower resolution STL. Give it a try!" +"On this system, %s uses HTTPS certificates from the system Certificate Store " +"or Keychain." msgstr "" -"STEP\n" -"Wussten Sie, dass Sie Ihre Druckqualität verbessern können, indem Sie eine " -"STEP-Datei anstelle einer STL-Datei slicen?\n" -"Bambu Studio unterstützt das Slicen von STEP-Dateien und liefert glattere " -"Ergebnisse als eine STL mit geringerer Auflösung. Probiere es aus!" +"Auf diesem System verwendet %s HTTPS-Zertifikate aus dem " +"Systemzertifikatspeicher oder dem Schlüsselbund." -#: resources/data/hints.ini: [hint:Z seam location] msgid "" -"Z seam location\n" -"Did you know that you can customize the location of the Z seam, and even " -"paint it on your print, to have it in a less visible location? This improves " -"the overall look of your model. Check it out!" +"To use a custom CA file, please import your CA file into Certificate Store / " +"Keychain." msgstr "" -"Position der Z-Naht\n" -"Wussten Sie, dass Sie die Position der Z-Naht anpassen und sie sogar auf " -"Ihren Druck malen können, um sie an einer weniger sichtbaren Stelle " -"anzubringen? Dadurch wird das Gesamtbild Ihres Modells verbessert. Probiere " -"es aus!" +"Um eine benutzerdefinierte CA-Datei zu verwenden, importieren Sie bitte Ihre " +"CA-Datei in den Zertifikatspeicher / das Schlüsselbund." -#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] -msgid "" -"Fine-tuning for flow rate\n" -"Did you know that flow rate can be fine-tuned for even better-looking " -"prints? Depending on the material, you can improve the overall finish of the " -"printed model by doing some fine-tuning." +msgid "Connection to printers connected via the print host failed." msgstr "" -"Feineinstellung der Flussrate\n" -"Wussten Sie, dass die Flussgeschwindigkeit des Filament fein eingestellt " -"werden kann, um noch besser aussehende Drucke zu erhalten? Je nach Material " -"können Sie das Gesamtergebnis des gedruckten Modells verbessern, indem Sie " -"eine Feineinstellung vornehmen." +"Die Verbindung zu den über den Druck-Host verbundenen Druckern ist " +"fehlgeschlagen." -#: resources/data/hints.ini: [hint:Split your prints into plates] -msgid "" -"Split your prints into plates\n" -"Did you know that you can split a model that has a lot of parts into " -"individual plates ready to print? This will simplify the process of keeping " -"track of all the parts." -msgstr "" -"Drucke in mehrere Druckplatten aufteilen\n" -"Wussten Sie, dass Sie ein Modell, das aus vielen Teilen besteht, in einzelne " -"Druckplatten aufteilen können? Dadurch wird es einfacher, den Überblick über " -"alle Teile zu behalten." +#~ msgid "Other color" +#~ msgstr "Andere Farbe" -#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer -#: Height] -msgid "" -"Speed up your print with Adaptive Layer Height\n" -"Did you know that you can print a model even faster, by using the Adaptive " -"Layer Height option? Check it out!" -msgstr "" -"Beschleunigen Sie Ihren Druck mit adaptiven Schichthöhe\n" -"Wussten Sie, dass Sie ein Modell noch schneller drucken können, wenn Sie die " -"Option \"Adaptive Schichthöhe\" verwenden? Probiere es aus!" +#~ msgid "" +#~ "3D Scene Operations\n" +#~ "Did you know how to control view and object/part selection with mouse and " +#~ "touchpanel in the 3D scene?" +#~ msgstr "" +#~ "3D-Szenenbedienung\n" +#~ "Wissen Sie, wie Sie die Ansicht und die Auswahl von Objekten/Teilen in " +#~ "der 3D-Szene mit der Maus und dem Touchpad steuern können?" -#: resources/data/hints.ini: [hint:Support painting] -msgid "" -"Support painting\n" -"Did you know that you can paint the location of your supports? This feature " -"makes it easy to place the support material only on the sections of the " -"model that actually need it." -msgstr "" -"Stützen malen\n" -"Wussten Sie, dass Sie die Position der Stützen aufmalen können? Diese " -"Funktion macht es möglich, das Stützmaterial nur auf die Bereiche des " -"Modells zu platzieren, die es tatsächlich benötigen." +#~ msgid "" +#~ "Cut Tool\n" +#~ "Did you know that you can cut a model at any angle and position with the " +#~ "cutting tool?" +#~ msgstr "" +#~ "Schnittwerkzeug\n" +#~ "Wussten Sie, dass Sie mit dem Schnittwerkzeug ein Modell in jedem " +#~ "beliebigen Winkel und jeder beliebigen Position zerschneiden können?" -#: resources/data/hints.ini: [hint:Different types of supports] -msgid "" -"Different types of supports\n" -"Did you know that you can choose from multiple types of supports? Tree " -"supports work great for organic models, while saving filament and improving " -"print speed. Check them out!" -msgstr "" -"Verschiedene Arten von Stützstrukturen\n" -"Wussten Sie, dass Sie zwischen verschiedenen Arten von Stützen wählen " -"können? Baumstützen eignet sich hervorragend für organische Modelle, sparen " -"Filament und erhöhen die Druckgeschwindigkeit. Probiere sie aus!" +#~ msgid "" +#~ "Fix Model\n" +#~ "Did you know that you can fix a corrupted 3D model to avoid a lot of " +#~ "slicing problems?" +#~ msgstr "" +#~ "Modell reparieren\n" +#~ "Wussten Sie, dass Sie ein beschädigtes 3D-Modell reparieren können, um " +#~ "viele Probleme beim Slicen zu vermeiden?" -#: resources/data/hints.ini: [hint:Printing Silk Filament] -msgid "" -"Printing Silk Filament\n" -"Did you know that Silk filament needs special consideration to print it " -"successfully? Higher temperature and lower speed are always recommended for " -"the best results." -msgstr "" -"Drucken von Silkfilamenten\n" -"Wussten Sie, dass Silkfilamente besondere Bedingungen erfordern, um " -"erfolgreich gedruckt zu werden? Eine höhere Temperatur und eine niedrigere " -"Geschwindigkeit werden immer empfohlen, um die besten Ergebnisse zu erzielen." +#~ msgid "" +#~ "Timelapse\n" +#~ "Did you know that you can generate a timelapse video during each print?" +#~ msgstr "" +#~ "Zeitraffer\n" +#~ "Wussten Sie, dass Sie bei jedem Druck ein Zeitraffervideo erstellen " +#~ "können?" -#: resources/data/hints.ini: [hint:Brim for better adhesion] -msgid "" -"Brim for better adhesion\n" -"Did you know that when printing models have a small contact interface with " -"the printing surface, it's recommended to use a brim?" -msgstr "" -"Rand für bessere Haftung\n" -"Wussten Sie, dass bei gedruckten Modellen, die eine kleine Kontaktfläche mit " -"der Druckoberfläche haben, die Verwendung eines Randes empfohlen wird?" +#~ msgid "" +#~ "Auto-Arrange\n" +#~ "Did you know that you can auto-arrange all objects in your project?" +#~ msgstr "" +#~ "Automatisch anordnen\n" +#~ "Wussten Sie, dass Sie alle Objekte in Ihrem Projekt automatisch anordnen " +#~ "können?" -#: resources/data/hints.ini: [hint:Set parameters for multiple objects] -msgid "" -"Set parameters for multiple objects\n" -"Did you know that you can set slicing parameters for all selected objects at " -"one time?" -msgstr "" -"Parameter für mehrere Objekte festlegen\n" -"Wussten Sie schon, dass Sie die Slicingparameter für alle ausgewählten " -"Objekte gleichzeitig festlegen können?" +#~ msgid "" +#~ "Auto-Orient\n" +#~ "Did you know that you can rotate objects to an optimal orientation for " +#~ "printing by a simple click?" +#~ msgstr "" +#~ "Automatische Ausrichtung\n" +#~ "Wussten Sie schon, dass Sie Objekte mit einem einfachen Klick in eine für " +#~ "den Druck optimale Ausrichtung drehen können?" -#: resources/data/hints.ini: [hint:Stack objects] -msgid "" -"Stack objects\n" -"Did you know that you can stack objects as a whole one?" -msgstr "" -"Objekte stapeln\n" -"Wussten Sie, dass Sie Objekte als Ganzes stapeln können?" +#~ msgid "" +#~ "Lay on Face\n" +#~ "Did you know that you can quickly orient a model so that one of its faces " +#~ "sits on the print bed? Select the \"Place on face\" function or press the " +#~ "F key." +#~ msgstr "" +#~ "Auf Fläche legen\n" +#~ "Wussten Sie, dass Sie ein Modell schnell so ausrichten können, dass eine " +#~ "seiner Flächen auf dem Druckbett liegt? Wählen Sie die Funktion \"Auf " +#~ "Fläche legen\" oder drücken Sie die Taste F." -#: resources/data/hints.ini: [hint:Flush into support/objects/infill] -msgid "" -"Flush into support/objects/infill\n" -"Did you know that you can save the wasted filament by flushing them into " -"support/objects/infill during filament change?" -msgstr "" -"Reinigen in Stützstrukturen/Objekten/Füllungen\n" -"Wussten Sie schon, dass Sie die Menge an verschwendetem Filament reduzieren " -"können, indem Sie es während des Filamentwechsels in Stützstrukturen/" -"Objekten/Füllungen reinigen?" +#~ msgid "" +#~ "Object List\n" +#~ "Did you know that you can view all objects/parts in a list and change " +#~ "settings for each object/part?" +#~ msgstr "" +#~ "Objekt-Liste\n" +#~ "Wussten Sie, dass Sie alle Objekte/Teile in einer Liste anzeigen und die " +#~ "Einstellungen für jedes Objekt/Teil ändern können?" -#: resources/data/hints.ini: [hint:Improve strength] -msgid "" -"Improve strength\n" -"Did you know that you can use more wall loops and higher sparse infill " -"density to improve the strength of the model?" -msgstr "" -"Festigkeit verbessern\n" -"Wussten Sie, dass Sie die Festigkeit des Modells durch mehr Wandschleifen " -"und eine höhere Dichte der Füllung verbessern können?" +#~ msgid "" +#~ "Simplify Model\n" +#~ "Did you know that you can reduce the number of triangles in a mesh using " +#~ "the Simplify mesh feature? Right-click the model and select Simplify " +#~ "model. Read more in the documentation." +#~ msgstr "" +#~ "Modell vereinfachen\n" +#~ "Wussten Sie schon, dass Sie die Anzahl der Dreiecke in einem Netz mit der " +#~ "Funktion \"Netz vereinfachen\" reduzieren können? Klicken Sie mit der " +#~ "rechten Maustaste auf das Modell und wählen Sie \"Modell vereinfachen\". " +#~ "Weitere Informationen finden Sie in der Dokumentation." + +#~ msgid "" +#~ "Slicing Parameter Table\n" +#~ "Did you know that you can view all objects/parts on a table and change " +#~ "settings for each object/part?" +#~ msgstr "" +#~ "Parametertabelle für das Slicen\n" +#~ "Wussten Sie, dass Sie alle Objekte/Teile in einer Tabelle anzeigen und " +#~ "die Einstellungen für jedes Objekt/Teil ändern können?" + +#~ msgid "" +#~ "Split to Objects/Parts\n" +#~ "Did you know that you can split a big object into small ones for easy " +#~ "colorizing or printing?" +#~ msgstr "" +#~ "In Objekte/Teile aufteilen\n" +#~ "Wussten Sie, dass Sie ein großes Objekt in kleine Teile aufteilen können, " +#~ "um es leichter einzufärben oder drucken zu können?" + +#~ msgid "" +#~ "Subtract a Part\n" +#~ "Did you know that you can subtract one mesh from another using the " +#~ "Negative part modifier? That way you can, for example, create easily " +#~ "resizable holes directly in Orca Slicer. Read more in the documentation." +#~ msgstr "" +#~ "Ein Teil subtrahieren\n" +#~ "Wussten Sie, dass Sie mit dem \"negatives Teil Modifikator\" ein Netz von " +#~ "einem anderen subtrahieren können? Auf diese Weise können Sie z.B. leicht " +#~ "veränderbare Löcher direkt in Bambu Studio erstellen. Lesen Sie mehr dazu " +#~ "in der Dokumentation." + +#~ msgid "" +#~ "STEP\n" +#~ "Did you know that you can improve your print quality by slicing a STEP " +#~ "file instead of an STL?\n" +#~ "Orca Slicer supports slicing STEP files, providing smoother results than " +#~ "a lower resolution STL. Give it a try!" +#~ msgstr "" +#~ "STEP\n" +#~ "Wussten Sie, dass Sie Ihre Druckqualität verbessern können, indem Sie " +#~ "eine STEP-Datei anstelle einer STL-Datei slicen?\n" +#~ "Bambu Studio unterstützt das Slicen von STEP-Dateien und liefert glattere " +#~ "Ergebnisse als eine STL mit geringerer Auflösung. Probiere es aus!" + +#~ msgid "" +#~ "Z seam location\n" +#~ "Did you know that you can customize the location of the Z seam, and even " +#~ "paint it on your print, to have it in a less visible location? This " +#~ "improves the overall look of your model. Check it out!" +#~ msgstr "" +#~ "Position der Z-Naht\n" +#~ "Wussten Sie, dass Sie die Position der Z-Naht anpassen und sie sogar auf " +#~ "Ihren Druck malen können, um sie an einer weniger sichtbaren Stelle " +#~ "anzubringen? Dadurch wird das Gesamtbild Ihres Modells verbessert. " +#~ "Probiere es aus!" + +#~ msgid "" +#~ "Fine-tuning for flow rate\n" +#~ "Did you know that flow rate can be fine-tuned for even better-looking " +#~ "prints? Depending on the material, you can improve the overall finish of " +#~ "the printed model by doing some fine-tuning." +#~ msgstr "" +#~ "Feineinstellung der Flussrate\n" +#~ "Wussten Sie, dass die Flussgeschwindigkeit des Filament fein eingestellt " +#~ "werden kann, um noch besser aussehende Drucke zu erhalten? Je nach " +#~ "Material können Sie das Gesamtergebnis des gedruckten Modells verbessern, " +#~ "indem Sie eine Feineinstellung vornehmen." + +#~ msgid "" +#~ "Split your prints into plates\n" +#~ "Did you know that you can split a model that has a lot of parts into " +#~ "individual plates ready to print? This will simplify the process of " +#~ "keeping track of all the parts." +#~ msgstr "" +#~ "Drucke in mehrere Druckplatten aufteilen\n" +#~ "Wussten Sie, dass Sie ein Modell, das aus vielen Teilen besteht, in " +#~ "einzelne Druckplatten aufteilen können? Dadurch wird es einfacher, den " +#~ "Überblick über alle Teile zu behalten." + +#~ msgid "" +#~ "Speed up your print with Adaptive Layer Height\n" +#~ "Did you know that you can print a model even faster, by using the " +#~ "Adaptive Layer Height option? Check it out!" +#~ msgstr "" +#~ "Beschleunigen Sie Ihren Druck mit adaptiven Schichthöhe\n" +#~ "Wussten Sie, dass Sie ein Modell noch schneller drucken können, wenn Sie " +#~ "die Option \"Adaptive Schichthöhe\" verwenden? Probiere es aus!" + +#~ msgid "" +#~ "Support painting\n" +#~ "Did you know that you can paint the location of your supports? This " +#~ "feature makes it easy to place the support material only on the sections " +#~ "of the model that actually need it." +#~ msgstr "" +#~ "Stützen malen\n" +#~ "Wussten Sie, dass Sie die Position der Stützen aufmalen können? Diese " +#~ "Funktion macht es möglich, das Stützmaterial nur auf die Bereiche des " +#~ "Modells zu platzieren, die es tatsächlich benötigen." + +#~ msgid "" +#~ "Different types of supports\n" +#~ "Did you know that you can choose from multiple types of supports? Tree " +#~ "supports work great for organic models, while saving filament and " +#~ "improving print speed. Check them out!" +#~ msgstr "" +#~ "Verschiedene Arten von Stützstrukturen\n" +#~ "Wussten Sie, dass Sie zwischen verschiedenen Arten von Stützen wählen " +#~ "können? Baumstützen eignet sich hervorragend für organische Modelle, " +#~ "sparen Filament und erhöhen die Druckgeschwindigkeit. Probiere sie aus!" + +#~ msgid "" +#~ "Printing Silk Filament\n" +#~ "Did you know that Silk filament needs special consideration to print it " +#~ "successfully? Higher temperature and lower speed are always recommended " +#~ "for the best results." +#~ msgstr "" +#~ "Drucken von Silkfilamenten\n" +#~ "Wussten Sie, dass Silkfilamente besondere Bedingungen erfordern, um " +#~ "erfolgreich gedruckt zu werden? Eine höhere Temperatur und eine " +#~ "niedrigere Geschwindigkeit werden immer empfohlen, um die besten " +#~ "Ergebnisse zu erzielen." + +#~ msgid "" +#~ "Brim for better adhesion\n" +#~ "Did you know that when printing models have a small contact interface " +#~ "with the printing surface, it's recommended to use a brim?" +#~ msgstr "" +#~ "Rand für bessere Haftung\n" +#~ "Wussten Sie, dass bei gedruckten Modellen, die eine kleine Kontaktfläche " +#~ "mit der Druckoberfläche haben, die Verwendung eines Randes empfohlen wird?" + +#~ msgid "" +#~ "Set parameters for multiple objects\n" +#~ "Did you know that you can set slicing parameters for all selected objects " +#~ "at one time?" +#~ msgstr "" +#~ "Parameter für mehrere Objekte festlegen\n" +#~ "Wussten Sie schon, dass Sie die Slicingparameter für alle ausgewählten " +#~ "Objekte gleichzeitig festlegen können?" + +#~ msgid "" +#~ "Stack objects\n" +#~ "Did you know that you can stack objects as a whole one?" +#~ msgstr "" +#~ "Objekte stapeln\n" +#~ "Wussten Sie, dass Sie Objekte als Ganzes stapeln können?" + +#~ msgid "" +#~ "Flush into support/objects/infill\n" +#~ "Did you know that you can save the wasted filament by flushing them into " +#~ "support/objects/infill during filament change?" +#~ msgstr "" +#~ "Reinigen in Stützstrukturen/Objekten/Füllungen\n" +#~ "Wussten Sie schon, dass Sie die Menge an verschwendetem Filament " +#~ "reduzieren können, indem Sie es während des Filamentwechsels in " +#~ "Stützstrukturen/Objekten/Füllungen reinigen?" + +#~ msgid "" +#~ "Improve strength\n" +#~ "Did you know that you can use more wall loops and higher sparse infill " +#~ "density to improve the strength of the model?" +#~ msgstr "" +#~ "Festigkeit verbessern\n" +#~ "Wussten Sie, dass Sie die Festigkeit des Modells durch mehr Wandschleifen " +#~ "und eine höhere Dichte der Füllung verbessern können?" + +#~ msgid "" +#~ "If enabled, support loops will be generated under the contours of " +#~ "internal bridges. These support loops could prevent internal bridges from " +#~ "extruding over the air and improve the top surface quality, especially " +#~ "when the sparse infill density is low.This value determines the thickness " +#~ "of the support loops. 0 means disable this feature" +#~ msgstr "" +#~ "Wenn aktiviert, generiert Studio Stützschleifen unter den Konturen " +#~ "interner Brücken. Diese Stützschleifen könnten verhindern, dass interne " +#~ "Brücken über die Luft extrudieren, und die höchste Oberflächenqualität " +#~ "verbessern, insbesondere wenn die spärliche Fülldichte niedrig ist. " +#~ "Dieser Wert bestimmt die Dicke der Stützschleifen. 0 bedeutet, diese " +#~ "Funktion zu deaktivieren" + +#, fuzzy +#~ msgid "Send to print" +#~ msgstr "Zum Drucker senden" + +#, fuzzy +#~ msgid "Upload" +#~ msgstr "Entladen" + +#~ msgid "Upload and Print" +#~ msgstr "Hochladen und Drucken" + +#~ msgid "Use forward slashes ( / ) as a directory separator if needed." +#~ msgstr "" +#~ "Verwenden Sie bei Bedarf Schrägstriche (/) als Verzeichnistrennzeichen." + +#, fuzzy +#~ msgid "Fan Speedup Time" +#~ msgstr "Lüftergeschwindigkeit: " #~ msgid "Post-processing scripts" #~ msgstr "Post-Processing-Skripte" diff --git a/bbl/i18n/en/OrcaSlicer_en.po b/bbl/i18n/en/OrcaSlicer_en.po index 93003764a0..ca9ca93093 100644 --- a/bbl/i18n/en/OrcaSlicer_en.po +++ b/bbl/i18n/en/OrcaSlicer_en.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-29 20:13+0800\n" +"POT-Creation-Date: 2023-07-07 00:37+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -1872,7 +1872,10 @@ msgstr "" msgid "You need to select the material type and color first." msgstr "" -msgid "Other color" +msgid "Other Color" +msgstr "" + +msgid "Custom Color" msgstr "" msgid "Dynamic flow calibration" @@ -3277,6 +3280,12 @@ msgstr "" msgid "Pressure advance" msgstr "" +msgid "Retraction test" +msgstr "" + +msgid "Orca Tolerance Test" +msgstr "" + msgid "Max flowrate" msgstr "" @@ -5152,9 +5161,6 @@ msgstr "" msgid "Post-processing Scripts" msgstr "" -msgid "Post-processing scripts" -msgstr "" - msgid "Frequent" msgstr "Frequent" @@ -5290,6 +5296,12 @@ msgstr "Filament end G-code" msgid "Printable space" msgstr "Printable space" +msgid "Cooling Fan" +msgstr "" + +msgid "Fan speed-up time" +msgstr "" + msgid "Extruder Clearance" msgstr "" @@ -6238,6 +6250,9 @@ msgstr "" msgid "No extrusions under current settings." msgstr "No extrusions under current settings." +msgid "Bed temperatures for the used filaments differ significantly." +msgstr "" + msgid "" "Smooth mode of timelapse is not supported when \"by object\" sequence is " "enabled." @@ -6591,7 +6606,7 @@ msgid "" "all outer wall no matter how much overhang degree" msgstr "" -msgid "Bridge direction" +msgid "Bridge infill direction" msgstr "" msgid "" @@ -6840,11 +6855,11 @@ msgid "Internal bridge support thickness" msgstr "" msgid "" -"If enabled, Studio will generate support loops under the contours of " -"internal bridges.These support loops could prevent internal bridges from " -"extruding over the air and improve the top surface quality, especially when " -"the sparse infill density is low.This value determines the thickness of the " -"support loops. 0 means disable this feature" +"If enabled, support loops will be generated under the contours of internal " +"bridges.These support loops could prevent internal bridges from extruding " +"over the air and improve the top surface quality, especially when the sparse " +"infill density is low.This value determines the thickness of the support " +"loops. 0 means disable this feature" msgstr "" msgid "Top surface pattern" @@ -7154,14 +7169,6 @@ msgstr "" "This is the angle for sparse infill pattern, which controls the start or " "main direction of lines." -msgid "Bridge infill direction" -msgstr "" - -msgid "" -"Angle for bridge infill pattern, which controls the start or main direction " -"of line" -msgstr "" - msgid "Sparse infill density" msgstr "Sparse infill density" @@ -7207,6 +7214,45 @@ msgstr "" msgid "Lightning" msgstr "" +msgid "Sparse infill anchor length" +msgstr "" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than infill_anchor_max is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to this parameter, but no longer than anchor_length_max. \n" +"Set this parameter to zero to disable anchoring perimeters connected to a " +"single infill line." +msgstr "" + +msgid "0 (no open anchors)" +msgstr "" + +msgid "1000 (unlimited)" +msgstr "" + +msgid "Maximum length of the infill anchor" +msgstr "" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than this parameter is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to infill_anchor, but no longer than this parameter. \n" +"If set to 0, the old algorithm for infill connection will be used, it should " +"create the same result as with 1000 & 0." +msgstr "" + +msgid "0 (Simple connect)" +msgstr "" + msgid "Acceleration of outer walls" msgstr "" @@ -7312,6 +7358,15 @@ msgstr "" msgid "Travel speed of initial layer" msgstr "" +#, fuzzy +msgid "Number of slow layers" +msgstr "This is the number of top interface layers." + +msgid "" +"The first few layers are printed slower than normal. The speed is gradually " +"increased in a linear fashion over the specified number of layers." +msgstr "" + msgid "Initial layer nozzle temperature" msgstr "First layer nozzle temperature" @@ -7321,6 +7376,24 @@ msgstr "Nozzle temperature for printing the first layer with this filament" msgid "Full fan speed at layer" msgstr "Full fan speed at layer" +msgid "" +"Fan speed will be ramped up linearly from zero at layer " +"\"close_fan_the_first_x_layers\" to maximum at layer \"full_fan_speed_layer" +"\". \"full_fan_speed_layer\" will be ignored if lower than " +"\"close_fan_the_first_x_layers\", in which case the fan will be running at " +"maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1." +msgstr "" + +msgid "Support interface fan speed" +msgstr "" + +msgid "" +"This fan speed is enforced during all support interfaces, to be able to " +"weaken their bonding with a high fan speed.\n" +"Set to -1 to disable this override.\n" +"Can only be overriden by disable_fan_first_layers." +msgstr "" + msgid "" "Randomly jitter while printing the wall, so that the surface has a rough " "look. This setting controls the fuzzy position" @@ -7442,6 +7515,35 @@ msgstr "" msgid "Enable this option if machine has auxiliary part cooling fan" msgstr "Enable this option if the machine has an auxiliary part cooling fan" +msgid "" +"Start the fan this number of seconds earlier than its target start time (you " +"can use fractional seconds). It assumes infinite acceleration for this time " +"estimation, and will only take into account G1 and G0 moves (arc fitting is " +"unsupported).\n" +"It won't move fan comands from custom gcodes (they act as a sort of " +"'barrier').\n" +"It won't move fan comands into the start gcode if the 'only custom start " +"gcode' is activated.\n" +"Use 0 to deactivate." +msgstr "" + +msgid "Only overhangs" +msgstr "" + +msgid "Will only take into account the delay for the cooling of overhangs." +msgstr "" + +msgid "Fan kick-start time" +msgstr "" + +msgid "" +"Emit a max fan speed command for this amount of seconds before reducing to " +"target speed to kick-start the cooling fan.\n" +"This is useful for fans where a low PWM/power may be insufficient to get the " +"fan started spinning from a stop, or to get the fan up to speed faster.\n" +"Set to 0 to deactivate." +msgstr "" + msgid "G-code flavor" msgstr "G-code flavor" @@ -7969,14 +8071,22 @@ msgstr "Back" msgid "Random" msgstr "" +msgid "Staggered inner seams" +msgstr "" + +msgid "" +"This option causes the inner seams to be shifted backwards based on their " +"depth, forming a zigzag pattern." +msgstr "" + msgid "Seam gap" msgstr "" msgid "" "In order to reduce the visibility of the seam in a closed loop extrusion, " "the loop is interrupted and shortened by a specified amount.\n" -"This amount can be specified in millimeters or as a percentage of the current " -"extruder diameter. The default value for this parameter is 15%." +"This amount can be specified in millimeters or as a percentage of the " +"current extruder diameter. The default value for this parameter is 15%." msgstr "" msgid "Role base wipe speed" @@ -8025,6 +8135,12 @@ msgid "Number of loops for the skirt. Zero means disabling skirt" msgstr "" "This is the number of loops for the skirt. 0 means the skirt is disabled." +msgid "Skirt speed" +msgstr "" + +msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -9006,189 +9122,70 @@ msgid "" "end > start + step)" msgstr "" -#: resources/data/hints.ini: [hint:3D Scene Operations] -msgid "" -"3D Scene Operations\n" -"Did you know how to control view and object/part selection with mouse and " -"touchpanel in the 3D scene?" +msgid "Start retraction length: " msgstr "" -#: resources/data/hints.ini: [hint:Cut Tool] -msgid "" -"Cut Tool\n" -"Did you know that you can cut a model at any angle and position with the " -"cutting tool?" +msgid "End retraction length: " msgstr "" -#: resources/data/hints.ini: [hint:Fix Model] -msgid "" -"Fix Model\n" -"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " -"problems?" +msgid "mm/mm" msgstr "" -#: resources/data/hints.ini: [hint:Timelapse] -msgid "" -"Timelapse\n" -"Did you know that you can generate a timelapse video during each print?" +#, fuzzy +msgid "Physical Printer" +msgstr "Printer" + +msgid "Print Host upload" msgstr "" -#: resources/data/hints.ini: [hint:Auto-Arrange] -msgid "" -"Auto-Arrange\n" -"Did you know that you can auto-arrange all objects in your project?" +msgid "Test" msgstr "" -#: resources/data/hints.ini: [hint:Auto-Orient] -msgid "" -"Auto-Orient\n" -"Did you know that you can rotate objects to an optimal orientation for " -"printing by a simple click?" +msgid "Could not get a valid Printer Host reference" msgstr "" -#: resources/data/hints.ini: [hint:Lay on Face] -msgid "" -"Lay on Face\n" -"Did you know that you can quickly orient a model so that one of its faces " -"sits on the print bed? Select the \"Place on face\" function or press the " -"F key." +msgid "Success!" msgstr "" -#: resources/data/hints.ini: [hint:Object List] -msgid "" -"Object List\n" -"Did you know that you can view all objects/parts in a list and change " -"settings for each object/part?" +msgid "Refresh Printers" msgstr "" -#: resources/data/hints.ini: [hint:Simplify Model] msgid "" -"Simplify Model\n" -"Did you know that you can reduce the number of triangles in a mesh using the " -"Simplify mesh feature? Right-click the model and select Simplify model. Read " -"more in the documentation." +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." msgstr "" -#: resources/data/hints.ini: [hint:Slicing Parameter Table] -msgid "" -"Slicing Parameter Table\n" -"Did you know that you can view all objects/parts on a table and change " -"settings for each object/part?" +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "" -#: resources/data/hints.ini: [hint:Split to Objects/Parts] -msgid "" -"Split to Objects/Parts\n" -"Did you know that you can split a big object into small ones for easy " -"colorizing or printing?" +msgid "Open CA certificate file" msgstr "" -#: resources/data/hints.ini: [hint:Subtract a Part] +#, c-format, boost-format msgid "" -"Subtract a Part\n" -"Did you know that you can subtract one mesh from another using the Negative " -"part modifier? That way you can, for example, create easily resizable holes " -"directly in Orca Slicer. Read more in the documentation." +"On this system, %s uses HTTPS certificates from the system Certificate Store " +"or Keychain." msgstr "" -#: resources/data/hints.ini: [hint:STEP] msgid "" -"STEP\n" -"Did you know that you can improve your print quality by slicing a STEP file " -"instead of an STL?\n" -"Orca Slicer supports slicing STEP files, providing smoother results than a " -"lower resolution STL. Give it a try!" +"To use a custom CA file, please import your CA file into Certificate Store / " +"Keychain." msgstr "" -#: resources/data/hints.ini: [hint:Z seam location] -msgid "" -"Z seam location\n" -"Did you know that you can customize the location of the Z seam, and even " -"paint it on your print, to have it in a less visible location? This improves " -"the overall look of your model. Check it out!" +msgid "Connection to printers connected via the print host failed." msgstr "" -#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] -msgid "" -"Fine-tuning for flow rate\n" -"Did you know that flow rate can be fine-tuned for even better-looking " -"prints? Depending on the material, you can improve the overall finish of the " -"printed model by doing some fine-tuning." -msgstr "" +#, fuzzy +#~ msgid "Send to print" +#~ msgstr "Send to printer" -#: resources/data/hints.ini: [hint:Split your prints into plates] -msgid "" -"Split your prints into plates\n" -"Did you know that you can split a model that has a lot of parts into " -"individual plates ready to print? This will simplify the process of keeping " -"track of all the parts." -msgstr "" +#, fuzzy +#~ msgid "Upload" +#~ msgstr "Unload" -#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer -#: Height] -msgid "" -"Speed up your print with Adaptive Layer Height\n" -"Did you know that you can print a model even faster, by using the Adaptive " -"Layer Height option? Check it out!" -msgstr "" - -#: resources/data/hints.ini: [hint:Support painting] -msgid "" -"Support painting\n" -"Did you know that you can paint the location of your supports? This feature " -"makes it easy to place the support material only on the sections of the " -"model that actually need it." -msgstr "" - -#: resources/data/hints.ini: [hint:Different types of supports] -msgid "" -"Different types of supports\n" -"Did you know that you can choose from multiple types of supports? Tree " -"supports work great for organic models, while saving filament and improving " -"print speed. Check them out!" -msgstr "" - -#: resources/data/hints.ini: [hint:Printing Silk Filament] -msgid "" -"Printing Silk Filament\n" -"Did you know that Silk filament needs special consideration to print it " -"successfully? Higher temperature and lower speed are always recommended for " -"the best results." -msgstr "" - -#: resources/data/hints.ini: [hint:Brim for better adhesion] -msgid "" -"Brim for better adhesion\n" -"Did you know that when printing models have a small contact interface with " -"the printing surface, it's recommended to use a brim?" -msgstr "" - -#: resources/data/hints.ini: [hint:Set parameters for multiple objects] -msgid "" -"Set parameters for multiple objects\n" -"Did you know that you can set slicing parameters for all selected objects at " -"one time?" -msgstr "" - -#: resources/data/hints.ini: [hint:Stack objects] -msgid "" -"Stack objects\n" -"Did you know that you can stack objects as a whole one?" -msgstr "" - -#: resources/data/hints.ini: [hint:Flush into support/objects/infill] -msgid "" -"Flush into support/objects/infill\n" -"Did you know that you can save the wasted filament by flushing them into " -"support/objects/infill during filament change?" -msgstr "" - -#: resources/data/hints.ini: [hint:Improve strength] -msgid "" -"Improve strength\n" -"Did you know that you can use more wall loops and higher sparse infill " -"density to improve the strength of the model?" -msgstr "" +#, fuzzy +#~ msgid "Upload and Print" +#~ msgstr "Uploading" #~ msgid "Keep upper part" #~ msgstr "Keep upper part" @@ -9835,9 +9832,6 @@ msgstr "" #~ msgid "Unable to create zip file" #~ msgstr "Unable to create zip file" -#~ msgid "Uploading" -#~ msgstr "Uploading" - #~ msgid "User pause" #~ msgstr "User pause" diff --git a/bbl/i18n/es/OrcaSlicer_es.po b/bbl/i18n/es/OrcaSlicer_es.po index 858e090a2c..872a298eb1 100644 --- a/bbl/i18n/es/OrcaSlicer_es.po +++ b/bbl/i18n/es/OrcaSlicer_es.po @@ -2,13 +2,16 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-29 20:13+0800\n" +"POT-Creation-Date: 2023-05-30 05:30+0200\n" +"PO-Revision-Date: \n" +"Last-Translator: Carlos Fco. Caruncho Serrano \n" +"Language-Team: https://t.me/orca_slicer_es\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Localazy (https://localazy.com)\n" "Plural-Forms: nplurals=2; plural=(n==1) ? 0 : 1;\n" +"X-Generator: Poedit 3.3.2\n" msgid "Supports Painting" msgstr "Pintando Soportes" @@ -20,7 +23,7 @@ msgid "Section view" msgstr "Vista de la sección" msgid "Reset direction" -msgstr "" +msgstr "Reiniciar dirección" msgid "Ctrl + Mouse wheel" msgstr "Ctrl + Rueda del ratón" @@ -53,13 +56,13 @@ msgid "Highlight overhang areas" msgstr "Resaltar las zonas de voladizos" msgid "Gap fill" -msgstr "" +msgstr "Rellenar hueco" msgid "Perform" msgstr "Realizar" msgid "Gap area" -msgstr "" +msgstr "Rellenar área" msgid "Tool type" msgstr "Tipo de herramienta" @@ -68,7 +71,7 @@ msgid "Smart fill angle" msgstr "Ángulo de relleno inteligente" msgid "On overhangs only" -msgstr "" +msgstr "Solo voladizos" msgid "Auto support threshold angle: " msgstr "Ángulo del umbral de soporte automático: " @@ -83,11 +86,11 @@ msgid "Fill" msgstr "Llenar" msgid "Gap Fill" -msgstr "" +msgstr "Rellenar hueco" #, boost-format msgid "Allows painting only on facets selected by: \"%1%\"" -msgstr "" +msgstr "Permite pintar solo las facetas seleccionadas por: \"%1%\"" msgid "Highlight faces according to overhang angle." msgstr "Resalte las caras según el ángulo del voladizo." @@ -103,12 +106,11 @@ msgstr "Colocar en la cara" #, boost-format msgid "" -"Filament count exceeds the maximum number that painting tool supports. only " -"the first %1% filaments will be available in painting tool." +"Filament count exceeds the maximum number that painting tool supports. only the first %1% " +"filaments will be available in painting tool." msgstr "" -"El recuento de filamentos supera el número máximo que admite la herramienta " -"de pintura. Sólo los primeros %1% de filamentos estarán disponibles en la " -"herramienta de pintura." +"El recuento de filamentos supera el número máximo que admite la herramienta de pintura. " +"Sólo los primeros %1% de filamentos estarán disponibles en la herramienta de pintura." msgid "Color Painting" msgstr "Pintura de colores" @@ -126,7 +128,7 @@ msgid "Choose filament" msgstr "Elegir filamento" msgid "Edge detection" -msgstr "Detección de bordes" +msgstr "Detección de contorno" msgid "Triangles" msgstr "Triángulos" @@ -150,7 +152,7 @@ msgid "Ctrl + Shift + Enter" msgstr "" msgid "Toggle Wireframe" -msgstr "" +msgstr "Alternar soporte" msgid "Shortcut Key " msgstr "Tecla de acceso directo " @@ -184,8 +186,7 @@ msgid "Scale" msgstr "Escalar" msgid "Error: Please close all toolbar menus first" -msgstr "" -"Error: Por favor, cierre primero todos los menús de la barra de herramientas" +msgstr "Error: Por favor, cierre primero todos los menús de la barra de herramientas" msgid "Tool-Lay on Face" msgstr "Herramienta-colocar sobre la cara" @@ -245,73 +246,73 @@ msgid "%" msgstr "%" msgid "uniform scale" -msgstr "Escala uniforme" +msgstr "escala uniforme" msgid "Left click" -msgstr "" +msgstr "Click izquierdo" msgid "Add connector" -msgstr "" +msgstr "Añadir conector" msgid "Right click" -msgstr "" +msgstr "Click derecho" msgid "Remove connector" -msgstr "" +msgstr "Borrar conector" msgid "Drag" -msgstr "" +msgstr "Soltar" msgid "Move connector" -msgstr "" +msgstr "Mover conector" msgid "Add connector to selection" -msgstr "" +msgstr "Añadir conector a la selección" msgid "Remove connector from selection" -msgstr "" +msgstr "Borrar conector de la selección" msgid "Select all connectors" -msgstr "" +msgstr "Seleccionar todos los conectores" msgid "Cut" msgstr "Cortar" msgid "Connector" -msgstr "" +msgstr "Conector" msgid "Movement:" msgstr "Movimiento:" msgid "Movement" -msgstr "" +msgstr "Movimiento" msgid "Height" -msgstr "" +msgstr "Altura" msgid "Edit connectors" -msgstr "" +msgstr "Editar conectores" msgid "Add connectors" -msgstr "" +msgstr "Añadir conectores" msgid "Upper part" -msgstr "" +msgstr "Parte alta" msgid "Lower part" -msgstr "" +msgstr "Parte baja" msgid "Keep" -msgstr "" +msgstr "Mantener" msgid "Place on cut" -msgstr "" +msgstr "Colocar en la posición de corte" msgid "Flip" -msgstr "" +msgstr "Girar" msgid "After cut" -msgstr "" +msgstr "Después del corte" msgid "Cut to parts" msgstr "Cortar por partes" @@ -326,7 +327,7 @@ msgid "Reset" msgstr "Reiniciar" msgid "Connectors" -msgstr "" +msgstr "Conectores" msgid "Type" msgstr "Tipo" @@ -338,25 +339,25 @@ msgid "Shape" msgstr "Forma" msgid "Depth ratio" -msgstr "" +msgstr "Relación de profundidad" msgid "Remove connectors" -msgstr "" +msgstr "Borrar conectores" msgid "Prizm" -msgstr "" +msgstr "Prisma" msgid "Frustum" -msgstr "" +msgstr "Tronco de cono" msgid "Square" -msgstr "" +msgstr "Cuadrado" msgid "Hexagon" -msgstr "" +msgstr "Hexágono" msgid "Confirm connectors" -msgstr "" +msgstr "Confirmar conectores" msgid "Cancel" msgstr "Cancelar" @@ -365,36 +366,38 @@ msgid "Warning" msgstr "Peligro" msgid "Invalid connectors detected" -msgstr "" +msgstr "Conectores inválidos detectados" msgid "connector is out of cut contour" -msgstr "" +msgstr "el conector está fuera del contorno de corte" msgid "connectors are out of cut contour" -msgstr "" +msgstr "los conectores están fuera del contorno de corte" msgid "connector is out of object" -msgstr "" +msgstr "el conector está fuera del objeto" msgid "connectors is out of object" -msgstr "" +msgstr "los conectores están fuera del objeto" msgid "Some connectors are overlapped" -msgstr "" +msgstr "Algunos conectores están solapados" msgid "" "Invalid state. \n" "No one part is selected for keep after cut" msgstr "" +"Estado inválido. \n" +"No se ha seleccionado ninguna pieza para conservar después del corte" msgid "Plug" -msgstr "" +msgstr "Conectar" msgid "Dowel" -msgstr "" +msgstr "Filamento" msgid "Tolerance" -msgstr "" +msgstr "Toleráncia" msgid "Mesh name" msgstr "Nombre de la malla" @@ -407,11 +410,11 @@ msgstr "Relación de decimación" #, boost-format msgid "" -"Processing model '%1%' with more than 1M triangles could be slow. It is " -"highly recommended to simplify the model." +"Processing model '%1%' with more than 1M triangles could be slow. It is highly recommended " +"to simplify the model." msgstr "" -"El procesamiento del modelo '%1%' con más de 1M de triángulos podría ser " -"lento. Se recomienda encarecidamente simplificar el modelo." +"El procesamiento del modelo '%1%' con más de 1M de triángulos podría ser lento. Se " +"recomienda encarecidamente simplificar el modelo." msgid "Simplify model" msgstr "Simplificar el modelo" @@ -420,9 +423,7 @@ msgid "Simplify" msgstr "Simplificar" msgid "Simplification is currently only allowed when a single part is selected" -msgstr "" -"La simplificación por el momento sólo se permite cuando se selecciona una " -"sola pieza" +msgstr "La simplificación por el momento sólo se permite cuando se selecciona una sola pieza" msgid "Error" msgstr "Error" @@ -466,66 +467,68 @@ msgid "Perform Recognition" msgstr "Realizar el reconocimiento" msgid "Brush size" -msgstr "" +msgstr "Tamaño del pincel" msgid "Brush shape" -msgstr "" +msgstr "Forma del pincel" msgid "Enforce seam" -msgstr "" +msgstr "Reforzar costura" msgid "Block seam" -msgstr "" +msgstr "Bloquear costura" msgid "Seam painting" -msgstr "" +msgstr "Pintar costura" msgid "Remove selection" -msgstr "" +msgstr "Borrar selección" msgid "Shift + Mouse move up or dowm" -msgstr "" +msgstr "Shift + Mover ratón arriba u abajo" msgid "Rotate text" -msgstr "" +msgstr "Rotar texto" msgid "Text shape" -msgstr "" +msgstr "Forma de texto" msgid "Font" -msgstr "" +msgstr "Fuente" msgid "Thickness" -msgstr "" +msgstr "Grosor" msgid "Input text" -msgstr "" +msgstr "Texto de entrada" msgid "Embeded" -msgstr "" +msgstr "Integrado" msgid "Text Gap" -msgstr "" +msgstr "Espacio de texto" msgid "Angle" -msgstr "" +msgstr "Ángulo" msgid "" "Embeded\n" "depth" msgstr "" +"Profundidad\n" +"Integrada" msgid "Surface" -msgstr "" +msgstr "Superficie" msgid "Horizontal text" -msgstr "" +msgstr "Texto horizontal" msgid "Ctrl+" msgstr "" msgid "Notice" -msgstr "Date cuenta" +msgstr "Aviso" msgid "Undefined" msgstr "Indefinido" @@ -535,7 +538,7 @@ msgid "%1% was replaced with %2%" msgstr "%1% fue reemplazado por %2%" msgid "The configuration may be generated by a newer version of OrcaSlicer." -msgstr "" +msgstr "La configuración puede ser generada por una versión más reciente de OrcaSlicer." msgid "Some values have been replaced. Please check them:" msgstr "Algunos valores han sido sustituidos. Por favor, compruébalos:" @@ -550,55 +553,65 @@ msgid "Machine" msgstr "Máquina" msgid "Configuration package was loaded, but some values were not recognized." -msgstr "" -"El paquete de configuración fue cargado, pero algunos valores no fueron " -"reconocidos." +msgstr "El paquete de configuración fue cargado, pero algunos valores no fueron reconocidos." #, boost-format -msgid "" -"Configuration file \"%1%\" was loaded, but some values were not recognized." +msgid "Configuration file \"%1%\" was loaded, but some values were not recognized." msgstr "" -"Se ha cargado el archivo de configuración \"%1%\", pero no se han reconocido " -"algunos valores." +"Se ha cargado el archivo de configuración \"%1%\", pero no se han reconocido algunos " +"valores." msgid "V" msgstr "V" msgid "" -"OrcaSlicer will terminate because of running out of memory.It may be a bug. " -"It will be appreciated if you report the issue to our team." +"OrcaSlicer will terminate because of running out of memory.It may be a bug. It will be " +"appreciated if you report the issue to our team." msgstr "" +"OrcaSlicer terminará porque se está quedando sin memoria. Le agradeceremos que comunique " +"el problema a nuestro equipo." +# msgid "OrcaSlicer will terminate because of running out of memory.It may be a bug. It will be appreciated if you report the issue to our team." +# msgstr "OrcaSlicer se cerrará porque se está quedando sin memoria. Le agradeceremos que informe de ello a nuestro equipo." msgid "Fatal error" msgstr "Error fatal" msgid "" -"OrcaSlicer will terminate because of a localization error. It will be " -"appreciated if you report the specific scenario this issue happened." +"OrcaSlicer will terminate because of a localization error. It will be appreciated if you " +"report the specific scenario this issue happened." msgstr "" +"OrcaSlicer terminará debido a un error de localización. Le agradeceremos que nos informe " +"del escenario específico en el que se ha producido este problema." +# msgid "OrcaSlicer will terminate because of a localization error. It will be appreciated if you report the specific scenario this issue happened." +# msgstr "OrcaSlicer terminará debido a un error de localización. Le agradeceríamos que nos informara del escenario específico en el que se ha producido este problema" msgid "Critical error" msgstr "Error crítico" #, boost-format msgid "OrcaSlicer got an unhandled exception: %1%" -msgstr "" +msgstr "OrcaSlicer recibió una notificación de excepción no controlada: %1%" +# msgid "OrcaSlicer got an unhandled exception: %1%" +# msgstr "OrcaSlicer obtuvo una excepción no manejada: %1%" msgid "Downloading Bambu Network Plug-in" -msgstr "" +msgstr "Descargando el complemento de Red Bambú" msgid "Incorrect password" -msgstr "" +msgstr "Contraseña incorrecta" #, c-format, boost-format msgid "Connect %s failed! [SN:%s, code=%s]" -msgstr "" +msgstr "¡Conexión %s fallida! [SN:%s, code=%s]" msgid "" -"OrcaSlicer configuration file may be corrupted and is not abled to be parsed." -"Please delete the file and try again." +"OrcaSlicer configuration file may be corrupted and is not abled to be parsed.Please delete " +"the file and try again." msgstr "" +"El archivo de configuración de OrcaSlicer puede estar dañado y no puede ser procesado." +# msgid "OrcaSlicer configuration file may be corrupted and is not abled to be parsed.Please delete the file and try again." +# msgstr "Es posible que el archivo de configuración de OrcaSlicer esté dañado y no pueda ser procesado. Por favor, borre el archivo e inténtelo de nuevo." #, c-format, boost-format msgid "" "%s\n" @@ -615,8 +628,7 @@ msgstr "Cargando configuración" #, c-format, boost-format msgid "Click to download new version in default browser: %s" -msgstr "" -"Haga clic para descargar la nueva versión en el navegador por defecto: %s" +msgstr "Haga clic para descargar la nueva versión en el navegador por defecto: %s" msgid "The Orca Slicer needs an upgrade" msgstr "Orca Slicer necesita una actualización" @@ -640,42 +652,43 @@ msgid "Choose one file (3mf):" msgstr "Elija un archivo (3mf):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" -msgstr "" +msgstr "Elige uno o más archivos (3mf/step/stl/svg/obj/amf):" msgid "Choose one file (gcode/3mf):" -msgstr "" +msgstr "Elegir un archivo (gcode/3mf):" msgid "Some presets are modified." msgstr "Algunos preajustes se modifican." msgid "" -"You can keep the modifield presets to the new project, discard or save " -"changes as new presets." +"You can keep the modifield presets to the new project, discard or save changes as new " +"presets." msgstr "" -"Puede mantener los preajustes de los campos de trabajo en el nuevo proyecto, " -"descartar o guardar los cambios como nuevos preajustes." +"Puede mantener los preajustes de los campos de trabajo en el nuevo proyecto, descartar o " +"guardar los cambios como nuevos preajustes." msgid "User logged out" -msgstr "" +msgstr "Usuario desconectado" msgid "new or open project file is not allowed during the slicing process!" msgstr "" +"¡crear o abrir achivo de proyecto nuevo no está permitido durante el proceso de laminado!" msgid "Open Project" -msgstr "Proyesto Abierto" +msgstr "Abrir proyecto" msgid "" -"The version of Bambu studio is too low and needs to be updated to the latest " -"version before it can be used normally" +"The version of Bambu studio is too low and needs to be updated to the latest version " +"before it can be used normally" msgstr "" -"La versión de Orca Slicer es una versión demasiado antigua y necesita ser " -"actualizada a la última versión antes de poder utilizarla con normalidad" +"La versión de Orca Slicer es una versión demasiado antigua y necesita ser actualizada a la " +"última versión antes de poder utilizarla con normalidad" msgid "Login information expired. Please login again." msgstr "Los datos de acceso han caducado. Por favor, inicie sesión de nuevo." msgid "Privacy Policy Update" -msgstr "" +msgstr "Actualización de política de privacidad" msgid "Loading" msgstr "Cargando" @@ -696,19 +709,19 @@ msgid "*" msgstr "*" msgid "The uploads are still ongoing" -msgstr "" +msgstr "Las cargas aún están cargando" msgid "Stop them and continue anyway?" -msgstr "" +msgstr "Pararlos y continuar de todas maneras?" msgid "Ongoing uploads" -msgstr "" +msgstr "Cargas en curso" msgid "Select a G-code file:" msgstr "Seleccione un archivo de código G:" msgid "Import File" -msgstr "" +msgstr "Importar Archivo" msgid "Delete" msgstr "Borra" @@ -717,7 +730,7 @@ msgid "Choose files" msgstr "Elija los archivos" msgid "New Folder" -msgstr "" +msgstr "Nueva Carpeta" msgid "Open" msgstr "Abrir" @@ -805,34 +818,34 @@ msgid "Select settings" msgstr "Seleccione los ajustes" msgid "Hide" -msgstr "" +msgstr "Ocultar" msgid "Show" -msgstr "" +msgstr "Mostrar" msgid "Del" -msgstr "" +msgstr "Borrar" msgid "Delete the selected object" msgstr "Eliminar el objeto seleccionado" msgid "Edit Text" -msgstr "" +msgstr "Editar Texto" msgid "Load..." msgstr "Cargar..." msgid "Orca Cube" -msgstr "" +msgstr "Cubo Orca" msgid "3DBenchy" msgstr "" msgid "Autodesk FDM Test" -msgstr "" +msgstr "Prueba Autodesk FDM" msgid "Voron Cube" -msgstr "" +msgstr "Cubo de Vorón" msgid "Cube" msgstr "Cubo" @@ -844,7 +857,7 @@ msgid "Cone" msgstr "Cono" msgid "Height range Modifier" -msgstr "" +msgstr "Modificador de rango de altura" msgid "Add settings" msgstr "Añadir ajustes" @@ -868,16 +881,16 @@ msgid "Export as STL" msgstr "Exportar como STL" msgid "Reload from disk" -msgstr "" +msgstr "Recargar desde el disco" msgid "Reload the selected parts from disk" -msgstr "" +msgstr "Recargar las partes seleccionadas desde el disco" msgid "Replace with STL" -msgstr "" +msgstr "Reemplazar con STL" msgid "Replace the selected part with new STL" -msgstr "" +msgstr "Reemplaza la parte seleccionada con un nuevo STL" msgid "Change filament" msgstr "Cambiar el filamento" @@ -902,7 +915,7 @@ msgid "Scale an object to fit the build volume" msgstr "Escalar un objeto para que se ajuste al volumen de impresión" msgid "Flush Options" -msgstr "" +msgstr "Opciones de purga" msgid "Flush into objects' infill" msgstr "Purgar en el relleno de los objetos" @@ -914,7 +927,7 @@ msgid "Flush into objects' support" msgstr "Depositar en el soporte de los objetos" msgid "Edit in Parameter Table" -msgstr "" +msgstr "Editar en la Tabla de Parámetro" msgid "Convert from inch" msgstr "Convertir desde pulgadas" @@ -965,13 +978,13 @@ msgid "Mirror object" msgstr "Objeto reflejado" msgid "Invalidate cut info" -msgstr "" +msgstr "Invalidar información de corte" msgid "Add Primitive" msgstr "Añadir Primitivo" msgid "Show Labels" -msgstr "" +msgstr "Mostrar Etiquetas" msgid "To objects" msgstr "A los objetos" @@ -995,8 +1008,7 @@ msgid "Auto orientation" msgstr "Orientación automática" msgid "Auto orient the object to improve print quality." -msgstr "" -"Orienta automáticamente el objeto para mejorar la calidad de la impresión." +msgstr "Orienta automáticamente el objeto para mejorar la calidad de la impresión." msgid "Split the selected object into mutiple objects" msgstr "Dividir el objeto seleccionado en múltiples objetos" @@ -1008,43 +1020,43 @@ msgid "Select All" msgstr "Seleccionar Todo" msgid "select all objects on current plate" -msgstr "seleccionar todos los objetos de la placa actual" +msgstr "seleccionar todos los objetos de la cama actual" msgid "Delete All" msgstr "Borrar todo" msgid "delete all objects on current plate" -msgstr "Eliminar todos los objetos de la placa actual" +msgstr "eliminar todos los objetos de la cama actual" msgid "Arrange" msgstr "Organiza" msgid "arrange current plate" -msgstr "Posicionar la placa actual" +msgstr "posicionar la cama actual" msgid "Auto Rotate" msgstr "Rotación automática" msgid "auto rotate current plate" -msgstr "Auto rotación de la placa actual" +msgstr "auto rotación de la cama actual" msgid "Delete Plate" -msgstr "" +msgstr "Borrar Cama" msgid "Remove the selected plate" -msgstr "Retirar la placa seleccionada" +msgstr "Retirar la cama seleccionada" msgid "Clone" msgstr "Clonar" msgid "Simplify Model" -msgstr "" +msgstr "Simplificar Modelo" msgid "Center" -msgstr "" +msgstr "Centrar" msgid "Edit Process Settings" -msgstr "" +msgstr "Editar Ajustes de Procesado" msgid "Edit print parameters for a single object" msgstr "Editar los parámetros de impresión de un solo objeto" @@ -1056,7 +1068,7 @@ msgid "Set Filament for selected items" msgstr "Ajustar el filamento para los elementos seleccionados" msgid "current" -msgstr "Actual" +msgstr "actual" msgid "Set Unprintable" msgstr "Establecer No imprimible" @@ -1085,8 +1097,8 @@ msgstr[1] "%1$d errores reparados" #, c-format, boost-format msgid "Error: %1$d non-manifold edge." msgid_plural "Error: %1$d non-manifold edges." -msgstr[0] "Error: %1$d borde no moldeado." -msgstr[1] "Error: %1$d bordes no moldeados." +msgstr[0] "Error: %1$d contorno no moldeado." +msgstr[1] "Error: %1$d contornos no moldeados." msgid "Remaining errors" msgstr "Errores restantes" @@ -1094,30 +1106,27 @@ msgstr "Errores restantes" #, c-format, boost-format msgid "%1$d non-manifold edge" msgid_plural "%1$d non-manifold edges" -msgstr[0] "%1$d borde no moldeado" -msgstr[1] "%1$d bordes no moldeados" +msgstr[0] "%1$d contorno no moldeado" +msgstr[1] "%1$d contornos no moldeados" msgid "Right click the icon to fix model object" -msgstr "" -"Haga clic con el botón derecho del ratón en el icono para fijar el objeto " -"del modelo" +msgstr "Haga clic con el botón derecho del ratón en el icono para fijar el objeto del modelo" msgid "Right button click the icon to drop the object settings" msgstr "" -"Haga clic con el botón derecho del ratón en el icono para ajustar la " -"configuración del objeto" +"Haga clic con el botón derecho del ratón en el icono para ajustar la configuración del " +"objeto" msgid "Click the icon to reset all settings of the object" msgstr "Haga clic en el icono para restablecer todos los ajustes del objeto" msgid "Right button click the icon to drop the object printable property" msgstr "" -"Haga clic con el botón derecho en el icono para soltar la característica " -"imprimible del objeto" +"Haga clic con el botón derecho en el icono para soltar la característica imprimible del " +"objeto" msgid "Click the icon to toggle printable property of the object" -msgstr "" -"Haga clic en el icono para alternar la característica imprimible del objeto" +msgstr "Haga clic en el icono para alternar la característica imprimible del objeto" msgid "Click the icon to edit support painting of the object" msgstr "Haga clic en el icono para editar la pintura de apoyo del objeto" @@ -1126,7 +1135,7 @@ msgid "Click the icon to edit color painting of the object" msgstr "Haga clic en el icono para editar la pintura de color del objeto" msgid "Click the icon to shift this object to the bed" -msgstr "" +msgstr "Presionar el icono para cambiar este objeto a la cama" msgid "Loading file" msgstr "Cargando archivo" @@ -1141,39 +1150,40 @@ msgid "Add Modifier" msgstr "Añadir modificador" msgid "Switch to per-object setting mode to edit modifier settings." -msgstr "" -"Cambia al modo de ajuste por objeto para editar los ajustes de los " -"modificadores." +msgstr "Cambia al modo de ajuste por objeto para editar los ajustes de los modificadores." -msgid "" -"Switch to per-object setting mode to edit process settings of selected " -"objects." +msgid "Switch to per-object setting mode to edit process settings of selected objects." msgstr "" +"Cambiar al modo de ajuste por objeto para editar los ajustes de proceso de los objetos." msgid "Delete connector from object which is a part of cut" -msgstr "" +msgstr "Borrar conector del objeto el cual es parte del corte" msgid "Delete solid part from object which is a part of cut" -msgstr "" +msgstr "Borrar la parte sólida del objeto la cual es parte del corte" msgid "Delete negative volume from object which is a part of cut" -msgstr "" +msgstr "Borrar volumen negativo del objeto el cual es parte del corte" -msgid "" -"To save cut correspondence you can delete all connectors from all related " -"objects." +msgid "To save cut correspondence you can delete all connectors from all related objects." msgstr "" +"Para salvar la correspondencia cortada puedes borrar todos los conectores de los objetos." msgid "" "This action will break a cut correspondence.\n" "After that model consistency can't be guaranteed .\n" "\n" -"To manipulate with solid parts or negative volumes you have to invalidate " -"cut infornation first." +"To manipulate with solid parts or negative volumes you have to invalidate cut infornation " +"first." msgstr "" +"La acción interrumpirá la correspondencia de corte.\n" +"Después de esto la correspondencia no podrá ser garantizada.\n" +"\n" +"Para manipular partes sólidas o volumenes negativos tienes que invalidar la información de " +"corte primero." msgid "Delete all connectors" -msgstr "" +msgstr "Borrar todos los conectores" msgid "Deleting the last solid part is not allowed." msgstr "No se permite borrar la última parte sólida." @@ -1185,34 +1195,34 @@ msgid "Assembly" msgstr "Montaje" msgid "Cut Connectors information" -msgstr "" +msgstr "Cortar Información de Conector" msgid "Object manipulation" -msgstr "" +msgstr "Manipulación de objeto" msgid "Group manipulation" -msgstr "" +msgstr "Manipulación de grupo" msgid "Object Settings to modify" -msgstr "" +msgstr "Ajustes de objeto modificables" msgid "Part Settings to modify" -msgstr "" +msgstr "Ajustes de parte modificables" msgid "Layer range Settings to modify" -msgstr "" +msgstr "Ajustes de capa modificables" msgid "Part manipulation" -msgstr "" +msgstr "Manipulación de partes" msgid "Instance manipulation" -msgstr "" +msgstr "Manipulación de instancias" msgid "Height ranges" -msgstr "" +msgstr "Rangos de altura" msgid "Settings for height range" -msgstr "" +msgstr "Ajustes de rango de altura" msgid "Object" msgstr "Objeto" @@ -1226,18 +1236,13 @@ msgstr "Capa" msgid "Selection conflicts" msgstr "Conflictos en la selección" -msgid "" -"If first selected item is an object, the second one should also be object." -msgstr "" -"Si el primer elemento seleccionado es un objeto, el segundo también debería " -"serlo." +msgid "If first selected item is an object, the second one should also be object." +msgstr "Si el primer elemento seleccionado es un objeto, el segundo también debería serlo." -msgid "" -"If first selected item is a part, the second one should be part in the same " -"object." +msgid "If first selected item is a part, the second one should be part in the same object." msgstr "" -"Si el primer elemento seleccionado es una pieza, el segundo debe ser una " -"pieza en el mismo objeto." +"Si el primer elemento seleccionado es una pieza, el segundo debe ser una pieza en el mismo " +"objeto." msgid "The type of the last solid object part is not to be changed." msgstr "El tipo de la última parte del objeto sólido no debe cambiarse." @@ -1292,20 +1297,19 @@ msgid "to" msgstr "a" msgid "Remove height range" -msgstr "" +msgstr "Borrar rango de altura" msgid "Add height range" -msgstr "" +msgstr "Añadir rango de altura" msgid "Invalid numeric." msgstr "Numérico inválido." msgid "one cell can only be copied to one or multiple cells in the same column" -msgstr "" -"Una celda sólo puede copiarse en una o varias celdas de la misma columna" +msgstr "una celda sólo puede copiarse en una o varias celdas de la misma columna" msgid "multiple cells copy is not supported" -msgstr "No se admite la copia de múltiples celdas" +msgstr "no se admite la copia de múltiples celdas" msgid "Outside" msgstr "En el exterior" @@ -1317,10 +1321,10 @@ msgid "Manual" msgstr "Manual" msgid "No-brim" -msgstr "Sin borde" +msgstr "Sin borde de adherencia" msgid " " -msgstr "" +msgstr " " msgid "Layer height" msgstr "Altura de la capa" @@ -1332,16 +1336,16 @@ msgid "Infill density(%)" msgstr "Densidad de relleno(%)" msgid "Auto Brim" -msgstr "Borde automático" +msgstr "Borde de Adherencia Automático" msgid "Outer wall speed" -msgstr "" +msgstr "Velocidad pared exterior" msgid "Plate" -msgstr "Placa" +msgstr "Cama" msgid "Brim" -msgstr "Balsa" +msgstr "Borde de adherencia" msgid "Object/Part Setting" msgstr "Ajuste del Objeto/Parte" @@ -1359,79 +1363,79 @@ msgid "More" msgstr "Más" msgid "Open Preferences." -msgstr "" +msgstr "Abrir Preferencias." msgid "Open next tip." -msgstr "" +msgstr "Abrir siguiente consejo." msgid "Open Documentation in web browser." -msgstr "" +msgstr "Abrir la Documentación en el navegador." msgid "Pause:" -msgstr "" +msgstr "Pausa:" msgid "Custom Template:" -msgstr "" +msgstr "Plantillas Personalizadas:" msgid "Custom G-code:" -msgstr "" +msgstr "G-code personalizado:" msgid "Custom G-code" -msgstr "Código G personalizado" +msgstr "G-code personalizado" msgid "Enter Custom G-code used on current layer:" -msgstr "" +msgstr "Inserta el G-code personalizado usado en la capa actual:" msgid "OK" msgstr "OK" msgid "Jump to Layer" -msgstr "" +msgstr "Salta a la Capa" msgid "Jump to layer" -msgstr "" +msgstr "Salta a la capa" msgid "Please enter the layer number" -msgstr "" +msgstr "Por favor, introduce el número de capa" msgid "Add Pause" -msgstr "" +msgstr "Añadir Pausa" msgid "Insert a pause command at the beginning of this layer." -msgstr "" +msgstr "Inserta un comando de pausa en el principio de esta capa." msgid "Add Custom G-code" -msgstr "" +msgstr "Añadir G-code personalizado" msgid "Insert custom G-code at the beginning of this layer." -msgstr "" +msgstr "Insertar G-code personalizado en el principio de esta capa." msgid "Add Custom Template" -msgstr "" +msgstr "Añadir Plantilla Personalizada" msgid "Insert template custom G-code at the beginning of this layer." -msgstr "" +msgstr "Insetar g-code de plantilla personalizada al principio de esta capa." msgid "Filament " -msgstr "" +msgstr "Filamento " msgid "Change filament at the beginning of this layer." -msgstr "" +msgstr "Cargar filamento al principio de esta capa." msgid "Delete Pause" -msgstr "" +msgstr "Borrar Pausa" msgid "Delete Custom Template" -msgstr "" +msgstr "Borrar Plantilla Personalizada" msgid "Edit Custom G-code" -msgstr "" +msgstr "Editar G-code Personalizado" msgid "Delete Custom G-code" -msgstr "" +msgstr "Borrar G-code Personalizado" msgid "Delete Filament Change" -msgstr "" +msgstr "Borrar Cambio de Filamento" msgid "No printer" msgstr "Sin impresión" @@ -1449,16 +1453,16 @@ msgid "AMS" msgstr "AMS" msgid "Ams filament backup" -msgstr "" +msgstr "Copia de Seguridad del Filamento AMS" msgid "AMS not connected" -msgstr "" +msgstr "AMS no conectado" msgid "Cali" msgstr "" msgid "Calibration of extrusion" -msgstr "" +msgstr "Calibración de extrusión" msgid "Load Filament" msgstr "Cargar" @@ -1467,24 +1471,22 @@ msgid "Unload Filament" msgstr "Descargar" msgid "Ext Spool" -msgstr "" +msgstr "Carrete Externo" msgid "Tips" msgstr "Consejos" msgid "Guide" -msgstr "" +msgstr "Guía" msgid "Retry" -msgstr "" +msgstr "Reintentar" msgid "Calibrating AMS..." msgstr "Calibración de AMS..." msgid "A problem occured during calibration. Click to view the solution." -msgstr "" -"Se ha producido un problema durante la calibración. Haga clic para ver la " -"solución." +msgstr "Se ha producido un problema durante la calibración. Haga clic para ver la solución." msgid "Calibrate again" msgstr "Calibrar de nuevo" @@ -1493,7 +1495,7 @@ msgid "Cancel calibration" msgstr "Cancelar calibración" msgid "Heat the nozzle" -msgstr "" +msgstr "Calentar la boquilla" msgid "Cut filament" msgstr "Cortar filamento" @@ -1502,23 +1504,23 @@ msgid "Pull back current filament" msgstr "Extraer el filamento actual" msgid "Push new filament into extruder" -msgstr "" +msgstr "Introducir nuevo filamento en el extrusor" msgid "Purge old filament" msgstr "Purgar el filamento viejo" msgid "Feed new filament from external spool" -msgstr "" +msgstr "Cargar nuevo filamento en el carrete externo" msgid "Confirm whether the filament has been extruded" -msgstr "" +msgstr "Confirmar si el filamento ha sido extruido" msgid "" -"Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " -"load or unload filiament." +"Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically load or " +"unload filiament." msgstr "" -"Elija una ranura AMS y pulse el botón \"Cargar\" o \"Descargar\" para cargar " -"o descargar automáticamente el filamento." +"Elija una ranura AMS y pulse el botón \"Cargar\" o \"Descargar\" para cargar o descargar " +"automáticamente el filamento." msgid "Edit" msgstr "Editar" @@ -1527,7 +1529,7 @@ msgid "" "All the selected objects are on the locked plate,\n" "We can not do auto-arrange on these objects." msgstr "" -"Todos los objetos seleccionados están en la placa bloqueada,\n" +"Todos los objetos seleccionados están en la cama bloqueada,\n" "No podemos hacer un auto posicionamiento en estos objetos." msgid "No arrangable objects are selected." @@ -1537,17 +1539,16 @@ msgid "" "This plate is locked,\n" "We can not do auto-arrange on this plate." msgstr "" -"Esta placa está bloqueada,\n" -"No podemos hacer auto-posicionamiento en esta placa." +"Esta cama está bloqueada,\n" +"No podemos hacer auto-posicionamiento en esta cama." msgid "Arranging..." msgstr "Organizando..." -msgid "" -"Arrange failed. Found some exceptions when processing object geometries." +msgid "Arrange failed. Found some exceptions when processing object geometries." msgstr "" -"El posicionamiento ha fallado. Se han encontrado algunas excepciones al " -"procesar las geometrías de los objetos." +"El posicionamiento ha fallado. Se han encontrado algunas excepciones al procesar las " +"geometrías de los objetos." msgid "Arranging" msgstr "Organizando" @@ -1555,47 +1556,44 @@ msgstr "Organizando" msgid "Arranging canceled." msgstr "Ordenamiento cancelado." -msgid "" -"Arranging is done but there are unpacked items. Reduce spacing and try again." +msgid "Arranging is done but there are unpacked items. Reduce spacing and try again." msgstr "" -"El posicionamiento está hecho, pero hay artículos sin empaquetar. Reduzca el " -"espacio y vuelva a intentarlo." +"El posicionamiento está hecho, pero hay artículos sin empaquetar. Reduzca el espacio y " +"vuelva a intentarlo." msgid "Arranging done." msgstr "Organización terminada." #, c-format, boost-format msgid "" -"Arrangement ignored the following objects which can't fit into a single " -"bed:\n" +"Arrangement ignored the following objects which can't fit into a single bed:\n" "%s" msgstr "" -"Organizar ignoró los siguientes objetos que no pueden caber en una sola " -"base:\n" +"Organizar ignoró los siguientes objetos que no pueden caber en una sola cama:\n" "%s" msgid "" "All the selected objects are on the locked plate,\n" "We can not do auto-orient on these objects." msgstr "" -"Todos los objetos seleccionados están en la placa bloqueada,\n" +"Todos los objetos seleccionados están en la cama bloqueada,\n" "No podemos hacer auto-orientación en estos objetos." msgid "" "This plate is locked,\n" "We can not do auto-orient on this plate." msgstr "" -"Esta placa está bloqueada,\n" -"No podemos hacer auto-orientación en esta placa." +"Esta cama está bloqueada,\n" +"No podemos hacer auto-orientación en esta cama." msgid "Orienting..." msgstr "Orientando..." msgid "Orienting" -msgstr "" +msgstr "Orientando" msgid "Error! Unable to create thread!" -msgstr "¡Error! No se ha podido crear el proceso." +msgstr "¡Error! ¡No se ha podido crear el proceso!" msgid "Exception" msgstr "Excepción" @@ -1607,7 +1605,7 @@ msgid "Login failed" msgstr "Fallo en el inicio de sesión" msgid "The region parameter is incorrrect" -msgstr "El parámetro de región es incorrecto." +msgstr "El parámetro de región es incorrecto" msgid "Failure of printer login" msgstr "Fallo en el inicio de sesión de la impresora" @@ -1625,7 +1623,7 @@ msgid "Unknown Failure" msgstr "Error desconocido" msgid "Please check the printer network connection." -msgstr "" +msgstr "Por favor, comprueba la conexión de área local." msgid "Abnormal print file data. Please slice again" msgstr "Datos anormales del archivo de impresión. Por favor, procese de nuevo" @@ -1635,24 +1633,21 @@ msgstr "Tarea cancelada" msgid "Upload task timed out. Please check the network problem and try again" msgstr "" -"La tarea de carga ha terminado. Por favor, compruebe el problema de red e " -"inténtelo de nuevo" +"La tarea de carga ha terminado. Por favor, compruebe el problema de red e inténtelo de " +"nuevo" msgid "Cloud service connection failed. Please try again." -msgstr "" -"Ha fallado la conexión con el servicio de la nube. Por favor, inténtelo de " -"nuevo." +msgstr "Ha fallado la conexión con el servicio de la nube. Por favor, inténtelo de nuevo." msgid "Print file not found, please slice again" -msgstr "" -"No se ha encontrado el archivo de impresión, por favor, vuelva a procesarlo" +msgstr "No se ha encontrado el archivo de impresión, por favor, vuelva a procesarlo" msgid "" -"The print file exceeds the maximum allowable size (1GB). Please simplify the " -"model and slice again" +"The print file exceeds the maximum allowable size (1GB). Please simplify the model and " +"slice again" msgstr "" -"El archivo de impresión supera el tamaño máximo permitido (1GB). Por favor, " -"simplifique el modelo y vuelva a procesarlo" +"El archivo de impresión supera el tamaño máximo permitido (1GB). Por favor, simplifique el " +"modelo y vuelva a procesarlo" msgid "Failed uploading print file" msgstr "Fallo al cargar el archivo de impresión" @@ -1667,118 +1662,122 @@ msgid "Sending print job through cloud service" msgstr "Enviando trabajo de impresión a través del servicio en la nube" msgid "Service Unavailable" -msgstr "" +msgstr "Servicio No Disponible" msgid "Unkown Error." -msgstr "" +msgstr "Error Desconocido." msgid "Sending print configuration" msgstr "Enviando la configuración de impresión" #, c-format, boost-format msgid "Successfully sent. Will automatically jump to the device page in %ss" -msgstr "" +msgstr "Envío exitoso. Se saltará automaticamente a la página del dispositivo en %ss" msgid "An SD card needs to be inserted before printing via LAN." -msgstr "" +msgstr "Se necesita insertar una tarjeta SD antes de imprimir vía red local." msgid "Failed to send the print job. Please try again." -msgstr "" +msgstr "Fallo enviando el trabajo de impresión. Por favor inténtelo otra vez." msgid "Send to Printer failed. Please try again." -msgstr "" +msgstr "Envío a la Impresora fallido. Por favor inténtelo otra vez." msgid "No space left on Printer SD card" -msgstr "" +msgstr "Sin espacio disponible en la tarjeta SD de la impresora" msgid "Sending gcode file over LAN" -msgstr "" +msgstr "Enviando el archivo de gcode vía red local" msgid "Sending gcode file through cloud service" -msgstr "" +msgstr "Enviando el archivo de gcode a través del servicio en la nube" msgid "Sending gcode file to sdcard" -msgstr "" +msgstr "Enviando el archivo de gcode a la tarjeta SD" #, c-format, boost-format msgid "Successfully sent. Close current page in %s s" -msgstr "" +msgstr "Envío exitoso. Cierre la página actual en %s s" msgid "An SD card needs to be inserted before sending to printer." -msgstr "" +msgstr "Se necesita insertar una tarjeta SD antes de enviar a la impresora." msgid "Please log out and login to the printer again." -msgstr "" +msgstr "Por favor desconéctese y conéctese a la impresora de nuevo." msgid "Choose SLA archive:" -msgstr "" +msgstr "Elige el archivo SLA:" msgid "Import file" -msgstr "" +msgstr "Importar archivo" msgid "Import model and profile" -msgstr "" +msgstr "Importar modelo y perfil" msgid "Import profile only" -msgstr "" +msgstr "Importar perfil solo" msgid "Import model only" -msgstr "" +msgstr "Importar solo el modelo" msgid "Accurate" -msgstr "" +msgstr "Precisión" msgid "Balanced" -msgstr "" +msgstr "Balanceado" msgid "Quick" -msgstr "" +msgstr "Rápido" msgid "Importing SLA archive" -msgstr "" +msgstr "Importando archivo SLA" msgid "" -"The SLA archive doesn't contain any presets. Please activate some SLA " -"printer preset first before importing that SLA archive." +"The SLA archive doesn't contain any presets. Please activate some SLA printer preset first " +"before importing that SLA archive." msgstr "" +"El SLA importado no contiene ningún preajuste. Por favor active algunos preajustes de la " +"impresora primero antes de importar ese archivo SLA." msgid "Importing canceled." -msgstr "" +msgstr "Importación cancelada." msgid "Importing done." -msgstr "" +msgstr "Importación realizada." msgid "" -"The imported SLA archive did not contain any presets. The current SLA " -"presets were used as fallback." +"The imported SLA archive did not contain any presets. The current SLA presets were used as " +"fallback." msgstr "" +"El SLA importado no contiene ningún preajuste. Los preajustes de SLA actuales serán usados " +"como alternativa." msgid "You cannot load SLA project with a multi-part object on the bed" -msgstr "" +msgstr "No puedes cargar un proyecto SLA con objetos multi-parte en la cama" msgid "Please check your object list before preset changing." -msgstr "" +msgstr "Por favor comprueba tu lista de objectos antes de cambiar el preajuste." msgid "Attention!" msgstr "¡Atención!" msgid "Downloading" -msgstr "" +msgstr "Descargando" msgid "Download failed" -msgstr "" +msgstr "Descarga fallida" msgid "Cancelled" -msgstr "" +msgstr "Cancelado" msgid "Install successfully." -msgstr "" +msgstr "Instalación exitosa." msgid "Installing" -msgstr "" +msgstr "Instalando" msgid "Install failed" -msgstr "" +msgstr "Instalación fallida" msgid "Portions copyright" msgstr "Porciones del copyright" @@ -1796,20 +1795,22 @@ msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, versión 3" msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer by Prusa " +"Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and the RepRap community" msgstr "" +"Orca Slicer está basado en BambuStudio por Bambulab, el cual está basado en PrusaSlicer " +"por Prusa Research. PrusaSlicer está basado en Slic3r de Alessandro Ranellucci y la " +"comunidad RepRap" msgid "Libraries" msgstr "Librerías" msgid "" -"This software uses open source components whose copyright and other " -"proprietary rights belong to their respective owners" +"This software uses open source components whose copyright and other proprietary rights " +"belong to their respective owners" msgstr "" -"Este software utiliza componentes de código abierto cuyos derechos de autor " -"y otros derechos de propiedad pertenecen a sus respectivos propietarios" +"Este software utiliza componentes de código abierto cuyos derechos de autor y otros " +"derechos de propiedad pertenecen a sus respectivos propietarios" #, c-format, boost-format msgid "About %s" @@ -1819,24 +1820,23 @@ msgid "Orca Slicer " msgstr "" msgid "OrcaSlicer is based on BambuStudio, PrusaSlicer, and SuperSlicer." -msgstr "" +msgstr "OrcaSlicer está basado en BambuStudio, PrusaSlicer, y SuperSlicer." msgid "BambuStudio is originally based on PrusaSlicer by PrusaResearch." -msgstr "" +msgstr "BambuStudio está basado originalmente en PrusaSlicer por PrusaResearch." msgid "PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci." -msgstr "" +msgstr "PrusaSlicer está originalmente basado en Slic3r de Alessandro Ranellucci." -msgid "" -"Slic3r was created by Alessandro Ranellucci with the help of many other " -"contributors." +msgid "Slic3r was created by Alessandro Ranellucci with the help of many other contributors." msgstr "" +"Slic3r fue creado por Alessandro Ranellucci con la ayuda de muchos otros contruyentes." msgid "Version" msgstr "Versión" msgid "AMS Materials Setting" -msgstr "" +msgstr "Ajustes de Materiales AMS" msgid "Confirm" msgstr "Confirmar" @@ -1868,10 +1868,10 @@ msgid "SN" msgstr "SN" msgid "Setting AMS slot information while printing is not supported" -msgstr "" +msgstr "Ajustes de información de ranura AMS mientras la impresión no sea soportada" msgid "Factors of dynamic flow cali" -msgstr "" +msgstr "Factores de flujo cali dinámico" msgid "Factor K" msgstr "" @@ -1880,43 +1880,46 @@ msgid "Factor N" msgstr "" msgid "Setting Virtual slot information while printing is not supported" -msgstr "" +msgstr "Ajuste de información de ranura Virtual mientras la impresión no sea soportada" msgid "Are you sure you want to clear the filament information?" -msgstr "" +msgstr "¿Estás seguro que quieres limpiar la información de filamento?" msgid "Please input a valid value (K in 0~0.5)" -msgstr "" +msgstr "Por favor, introduce un valor válido (K en 0~0.5)" msgid "Please input a valid value (K in 0~0.5, N in 0.6~2.0)" -msgstr "" +msgstr "Por favor, introduce un valor válido (K en 0~0.5, N en 0.6~2.0)" msgid "You need to select the material type and color first." -msgstr "" +msgstr "Necesitas seleccionar el tipo y el color del material primero." msgid "Other color" -msgstr "" +msgstr "Otro color" msgid "Dynamic flow calibration" -msgstr "" +msgstr "Calibración de flujo dinámico" msgid "" -"The nozzle temp and max volumetric speed will affect the calibration " -"results. Please fill in the same values as the actual printing. They can be " -"auto-filled by selecting a filament preset." +"The nozzle temp and max volumetric speed will affect the calibration results. Please fill " +"in the same values as the actual printing. They can be auto-filled by selecting a filament " +"preset." msgstr "" +"La temperatura y la velocidad volumétrica máxima de la boquilla afectará a los resultados " +"de los ajustes. Por favor, rellena los mismos valores de la actual impresión. Ellos pueden " +"ser auto-rellenados seleccionando un preajuste de filamento." msgid "Nozzle Diameter" -msgstr "" +msgstr "Diámetro" msgid "Bed Type" -msgstr "" +msgstr "Tipo de Cama" msgid "Nozzle temperature" msgstr "Temperatura de la boquilla" msgid "Bed Temperature" -msgstr "" +msgstr "Temperatura de Cama" msgid "Max volumetric speed" msgstr "Velocidad volumétrica máxima" @@ -1925,121 +1928,131 @@ msgid "℃" msgstr "" msgid "Bed temperature" -msgstr "Temperatura de la base" +msgstr "Temperatura de la cama" msgid "mm³" msgstr "mm³" msgid "Start calibration" -msgstr "" +msgstr "Iniciar calibración" msgid "Next" -msgstr "" +msgstr "Siguiente" msgid "" -"Calibration completed. Please find the most uniform extrusion line on your " -"hot bed like the picture below, and fill the value on its left side into the " -"factor K input box." +"Calibration completed. Please find the most uniform extrusion line on your hot bed like " +"the picture below, and fill the value on its left side into the factor K input box." msgstr "" +"Calibración completada. Por favor, encuentre la línea de extrusión más uniforme en su cama " +"caliente como la imagen de abajo, y rellene el valor en su lado izquierdo en el factor K " +"cuadro de entrada." msgid "Save" msgstr "Guardar" msgid "Last Step" -msgstr "" +msgstr "Úlrimo Paso" msgid "Example" -msgstr "" +msgstr "Ejemplo" #, c-format, boost-format msgid "Calibrating... %d%%" -msgstr "" +msgstr "Calibrando... %d%%" msgid "Calibration completed" -msgstr "" +msgstr "Calibración completada" #, c-format, boost-format msgid "%s does not support %s" -msgstr "" +msgstr "%s no soporta %s" msgid "Dynamic flow Calibration" -msgstr "" +msgstr "Calibración de flujo dinámico" msgid "Step" -msgstr "" +msgstr "Paso" msgid "AMS Slots" -msgstr "" +msgstr "Ranuras AMS" -msgid "" -"Note: Only the AMS slots loaded with the same material type can be selected." +msgid "Note: Only the AMS slots loaded with the same material type can be selected." msgstr "" +"Nota: Solo las ranuras AMS cargadas con el mismo tipo de material se pueden seleccionar." msgid "Enable AMS" -msgstr "" +msgstr "Activar AMS" msgid "Print with filaments in the AMS" -msgstr "" +msgstr "Imprimir con filamentos en el AMS" msgid "Disable AMS" -msgstr "" +msgstr "Desactivar AMS" msgid "Print with the filament mounted on the back of chassis" -msgstr "" +msgstr "Imprimir con el filamento montado en la parte posterior del chasis" msgid "Cabin humidity" -msgstr "" +msgstr "Humedad de cabina" msgid "" -"Green means that AMS humidity is normal, orange represent humidity is high, " -"red represent humidity is too high.(Hygrometer: lower the better.)" +"Green means that AMS humidity is normal, orange represent humidity is high, red represent " +"humidity is too high.(Hygrometer: lower the better.)" msgstr "" +"El verde significa que la humedad de AMS es normal, el naranja representa que la humedad " +"es alta, el rojo representa que la humedad es demasiado alta.(Hygrometro: menos que el " +"mejor.)" msgid "Desiccant status" -msgstr "" +msgstr "Estado del secante" msgid "" -"A desiccant status lower than two bars indicates that desiccant may be " -"inactive. Please change the desiccant.(The bars: higher the better.)" +"A desiccant status lower than two bars indicates that desiccant may be inactive. Please " +"change the desiccant.(The bars: higher the better.)" msgstr "" +"Si estado del secante es menor que las dos barras indica que el secante puede estar " +"inactivo. Por favor cambie el secante(Las barras: más que el mejor)" msgid "" -"Note: When the lid is open or the desiccant pack is changed, it can take " -"hours or a night to absorb the moisture. Low temperatures also slow down the " -"process. During this time, the indicator may not represent the chamber " -"accurately." +"Note: When the lid is open or the desiccant pack is changed, it can take hours or a night " +"to absorb the moisture. Low temperatures also slow down the process. During this time, the " +"indicator may not represent the chamber accurately." msgstr "" +"Nota: Cuando se abre la tapa o se cambia el paquete desecante, puede tardar horas o una " +"noche en absorber la humedad. Las bajas temperaturas también ralentizan el proceso. " +"Durante este tiempo, es posible que el indicador no represente la cámara con precisión." -msgid "" -"Config which AMS slot should be used for a filament used in the print job" +msgid "Config which AMS slot should be used for a filament used in the print job" msgstr "" +"La configuración de ranura la cual debe ser usada para el filamento es usada en el trabajo " +"de impresión" msgid "Filament used in this print job" -msgstr "" +msgstr "Filamento usado en este trabajo de impresión" msgid "AMS slot used for this filament" -msgstr "" +msgstr "Ranura AMS usada para este filamento" msgid "Click to select AMS slot manually" -msgstr "" +msgstr "Presiona para seleccionar la ranura AMS automaticamente" msgid "Do not Enable AMS" -msgstr "" +msgstr "No Activar AMS" msgid "Print using materials mounted on the back of the case" -msgstr "" +msgstr "Imprimir usando materiales montados en la parte de atras de la carcasa" msgid "Print with filaments in ams" -msgstr "" +msgstr "Imprimir usando filamentos en AMS" msgid "Print with filaments mounted on the back of the chassis" -msgstr "" +msgstr "Imprimir con filamentos montados en la parte de atrás del chasis" msgid "Filaments replace" -msgstr "" +msgstr "Reemplazar filamentos" msgid "Group" -msgstr "" +msgstr "Agrupar" msgid "AMS Settings" msgstr "Ajustes del AMS" @@ -2048,63 +2061,63 @@ msgid "Insertion update" msgstr "Actualización de la inserción" msgid "" -"The AMS will automatically read the filament information when inserting a " -"new Bambu Lab filament. This takes about 20 seconds." +"The AMS will automatically read the filament information when inserting a new Bambu Lab " +"filament. This takes about 20 seconds." msgstr "" -"El AMS leerá automáticamente la información del filamento al insertar un " -"nuevo filamento de Bambu Lab. Esto tardara unos 20 segundos." +"El AMS leerá automáticamente la información del filamento al insertar un nuevo filamento " +"de Bambu Lab. Esto tardara unos 20 segundos." msgid "" -"Note: if new filament is inserted during printing, the AMS will not " -"automatically read any information until printing is completed." +"Note: if new filament is inserted during printing, the AMS will not automatically read " +"any information until printing is completed." msgstr "" "Nota: si se inserta un nuevo filamento durante la impresión, el AMS no leerá " "automáticamente ninguna información hasta que la impresión haya finalizado." msgid "" -"When inserting a new filament, the AMS will not automatically read its " -"information, leaving it blank for you to enter manually." +"When inserting a new filament, the AMS will not automatically read its information, " +"leaving it blank for you to enter manually." msgstr "" -"Al insertar un nuevo filamento, el AMS no leerá automáticamente su " -"información, dejándola en blanco para que usted la introduzca manualmente." +"Al insertar un nuevo filamento, el AMS no leerá automáticamente su información, dejándola " +"en blanco para que usted la introduzca manualmente." msgid "Power on update" msgstr "Actualización de encendido" msgid "" -"The AMS will automatically read the information of inserted filament on " -"start-up. It will take about 1 minute.The reading process will roll filament " -"spools." +"The AMS will automatically read the information of inserted filament on start-up. It will " +"take about 1 minute.The reading process will roll filament spools." msgstr "" -"El AMS leerá automáticamente la información del filamento insertado al " -"arrancar. Tomará aproximadamente 1 minuto. El proceso de lectura hará rodar " -"las bobinas de filamento." +"El AMS leerá automáticamente la información del filamento insertado al arrancar. Tomará " +"aproximadamente 1 minuto. El proceso de lectura hará rodar las bobinas de filamento." msgid "" -"The AMS will not automatically read information from inserted filament " -"during startup and will continue to use the information recorded before the " -"last shutdown." +"The AMS will not automatically read information from inserted filament during startup and " +"will continue to use the information recorded before the last shutdown." msgstr "" -"El AMS no leerá automáticamente la información del filamento insertado " -"durante el arranque y seguirá utilizando la información registrada antes del " -"último apagado." +"El AMS no leerá automáticamente la información del filamento insertado durante el arranque " +"y seguirá utilizando la información registrada antes del último apagado." msgid "Update remaining capacity" -msgstr "" +msgstr "Actualizar capacidad restante" msgid "" -"The AMS will estimate Bambu filament's remaining capacity after the filament " -"info is updated. During printing, remaining capacity will be updated " -"automatically." +"The AMS will estimate Bambu filament's remaining capacity after the filament info is " +"updated. During printing, remaining capacity will be updated automatically." msgstr "" +"El AMS estimará la capacidad del filamento Bambú restante después de que la información " +"sea actualizada. Durante la impresión, la capacidad restante será actualizada " +"automaticamente." msgid "AMS filament backup" -msgstr "" +msgstr "Copia de Seguridad del Filamento AMS" msgid "" -"AMS will continue to another spool with the same properties of filament " -"automatically when current filament runs out" +"AMS will continue to another spool with the same properties of filament automatically when " +"current filament runs out" msgstr "" +"El AMS continuará con otra bobina con las mismas propiedades de filamento automaticamente " +"cuando el filamento se termine" msgid "File" msgstr "Archivo" @@ -2113,35 +2126,39 @@ msgid "Calibration" msgstr "Calibración" msgid "" -"Failed to download the plug-in. Please check your firewall settings and vpn " -"software, check and retry." +"Failed to download the plug-in. Please check your firewall settings and vpn software, " +"check and retry." msgstr "" +"Fallo al descargar el complemento. Por favor, compruebe el cortafuegos y la vpn, e " +"inténtelo de nuevo." msgid "" -"Failed to install the plug-in. Please check whether it is blocked or deleted " -"by anti-virus software." +"Failed to install the plug-in. Please check whether it is blocked or deleted by anti-virus " +"software." msgstr "" +"Fallo al instalar el complemento. Por favor, compruebe si ha sido bloqueado o borrado por " +"un antivirus." msgid "click here to see more info" -msgstr "" +msgstr "presiona aquí para mostrar más información" msgid "Please home all axes (click " -msgstr "" +msgstr "Por favor, mandar a inicio todos los ejes (presione " msgid "" -") to locate the toolhead's position. This prevents device moving beyond the " -"printable boundary and causing equipment wear." +") to locate the toolhead's position. This prevents device moving beyond the printable " +"boundary and causing equipment wear." msgstr "" +") para localizar la posición del cabezal. Esto previene que el dispositivo se mueva más " +"allá de los limites de impresión y cause desgaste en el equipo." msgid "Go Home" -msgstr "" +msgstr "Ir al Inicio" -msgid "" -"A error occurred. Maybe memory of system is not enough or it's a bug of the " -"program" +msgid "A error occurred. Maybe memory of system is not enough or it's a bug of the program" msgstr "" -"Se ha producido un error. Tal vez la memoria del sistema no es suficiente o " -"es un error del programa" +"Se ha producido un error. Tal vez la memoria del sistema no es suficiente o es un error " +"del programa" msgid "Please save project and restart the program. " msgstr "Guarde el proyecto y reinicie el programa. " @@ -2191,37 +2208,32 @@ msgid "Succeed to export G-code to %1%" msgstr "Exportación de código G a %1% con éxito" msgid "Running post-processing scripts" -msgstr "" +msgstr "Ejecutando scripts de post-procesado" msgid "Copying of the temporary G-code to the output G-code failed" -msgstr "" +msgstr "Copiado del G-code temporal al G-code de salida fallido" #, boost-format msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" -msgstr "" +msgstr "Programación de la carga a %1%. Mire la Ventana -> Cola de Impresión del Anfitrión" msgid "Origin" -msgstr "Origen" +msgstr "" msgid "Diameter" msgstr "Diámetro" msgid "Size in X and Y of the rectangular plate." -msgstr "Tamaño en X e Y de la placa rectangular." +msgstr "Tamaño en X e Y de la cama rectangular." -msgid "" -"Distance of the 0,0 G-code coordinate from the front left corner of the " -"rectangle." +msgid "Distance of the 0,0 G-code coordinate from the front left corner of the rectangle." msgstr "" -"Distancia de la coordenada del código G de 0,0 de la esquina frontal " -"izquierda del rectángulo." +"Distancia de la coordenada del código G de 0,0 de la esquina frontal izquierda del " +"rectángulo." -msgid "" -"Diameter of the print bed. It is assumed that origin (0,0) is located in the " -"center." +msgid "Diameter of the print bed. It is assumed that origin (0,0) is located in the center." msgstr "" -"Diámetro de la base de impresión. Se supone que el origen (0,0) está ubicado " -"en el centro." +"Diámetro de la cama de impresión. Se supone que el origen (0,0) está ubicado en el centro." msgid "Rectangular" msgstr "Rectangular" @@ -2251,7 +2263,7 @@ msgid "Model" msgstr "Modelo" msgid "Choose an STL file to import bed shape from:" -msgstr "Escoge un archivo STL para importar la forma de la base:" +msgstr "Escoge un archivo STL para importar la forma de la cama:" msgid "Invalid file format." msgstr "Formato inválido de archivo." @@ -2262,61 +2274,60 @@ msgstr "Error! Modelo inválido" msgid "The selected file contains no geometry." msgstr "El archivo seleccionado no contiene geometría." -msgid "" -"The selected file contains several disjoint areas. This is not supported." -msgstr "" -"El archivo seleccionado contiene varias áreas disjuntas. Esto no es " -"compatible." +msgid "The selected file contains several disjoint areas. This is not supported." +msgstr "El archivo seleccionado contiene varias áreas disjuntas. Esto no es compatible." msgid "Choose a file to import bed texture from (PNG/SVG):" -msgstr "" -"Escoge un archivo para importar la textura de la base de impresión (PNG/SVG):" +msgstr "Escoge un archivo para importar la textura de la cama de impresión (PNG/SVG):" msgid "Choose an STL file to import bed model from:" -msgstr "Escoge un archivo STL para importar el modelo de la base de impresión:" +msgstr "Escoge un archivo STL para importar el modelo de la cama de impresión:" msgid "Bed Shape" -msgstr "Forma de la base de impresión" +msgstr "Forma de la cama de impresión" msgid "" "Nozzle may be blocked when the temperature is out of recommended range.\n" "Please make sure whether to use the temperature to print.\n" "\n" msgstr "" -"La boquilla puede bloquearse cuando la temperatura está fuera del rango " -"recomendado.\n" +"La boquilla puede bloquearse cuando la temperatura está fuera del rango recomendado.\n" "Por favor, asegúrese de utilizar la temperatura para imprimir.\n" #, c-format, boost-format -msgid "" -"Recommended nozzle temperature of this filament type is [%d, %d] degree " -"centigrade" +msgid "Recommended nozzle temperature of this filament type is [%d, %d] degree centigrade" msgstr "" -"La temperatura recomendada de la boquilla de este tipo de filamento es de " -"[%d, %d] grados centígrados" +"La temperatura recomendada de la boquilla de este tipo de filamento es de [%d, %d] grados " +"centígrados" #, c-format, boost-format msgid "" -"Bed temperature of other layer is lower than bed temperature of initial " -"layer for more than %d degree centigrade.\n" +"Bed temperature of other layer is lower than bed temperature of initial layer for more " +"than %d degree centigrade.\n" "This may cause model broken free from build plate during printing" msgstr "" -"La temperatura del lecho de la otra capa es inferior a la temperatura del " -"lecho de la capa inicial durante más de %d grados centígrados.\n" -"Esto puede hacer que el modelo se desprenda de la placa de impresión durante " -"la impresión." +"La temperatura del lecho de la otra capa es inferior a la temperatura del lecho de la capa " +"inicial durante más de %d grados centígrados.\n" +"Esto puede hacer que el modelo se desprenda de la cama de impresión durante la impresión" msgid "" "Bed temperature is higher than vitrification temperature of this filament.\n" "This may cause nozzle blocked and printing failure\n" -"Please keep the printer open during the printing process to ensure air " -"circulation or reduce the temperature of the hot bed" +"Please keep the printer open during the printing process to ensure air circulation or " +"reduce the temperature of the hot bed" msgstr "" +"La temperatura de capa es superior que la temperatura de vitrificación de este " +"filamento. \n" +" Esto podría causar que la boquilla se bloquee y produzca un fallo de impresión. Por " +"favor, mantenga la impresora abierta durante el proceso para garantizar la circulación de " +"aire o reducir la temperatura de la cama caliente" msgid "" "Too small max volumetric speed.\n" "Reset to 0.5" msgstr "" +"Velocidad volumétrica máxima demasiado baja.\n" +"Reajustar a 0.5" msgid "" "Too small layer height.\n" @@ -2342,19 +2353,16 @@ msgstr "" "La altura de la primera capa se restablecerá a 0,2." msgid "" -"This setting is only used for model size tunning with small value in some " -"cases.\n" +"This setting is only used for model size tunning with small value in some cases.\n" "For example, when model size has small error and hard to be assembled.\n" "For large size tuning, please use model scale function.\n" "\n" "The value will be reset to 0." msgstr "" -"Este ajuste sólo se utiliza para afinar el tamaño del modelo con un valor " -"pequeño en algunos casos.\n" -"Por ejemplo, cuando el tamaño del modelo tiene un pequeño error y es difícil " -"de montar.\n" -"Para el ajuste de tamaño grande, por favor utilice la función de escala del " -"modelo.\n" +"Este ajuste sólo se utiliza para afinar el tamaño del modelo con un valor pequeño en " +"algunos casos.\n" +"Por ejemplo, cuando el tamaño del modelo tiene un pequeño error y es difícil de montar.\n" +"Para el ajuste de tamaño grande, por favor utilice la función de escala del modelo.\n" "\n" "El valor se restablecerá a 0." @@ -2366,16 +2374,19 @@ msgid "" "The value will be reset to 0." msgstr "" "Una compensación de la pata de elefante demasiado grande no es razonable.\n" -"Si realmente tiene un efecto grave de pata de elefante, por favor, compruebe " -"otros ajustes.\n" +"Si realmente tiene un efecto grave de pata de elefante, por favor, compruebe otros " +"ajustes.\n" "Por ejemplo, si la temperatura de la cama es demasiado alta.\n" "\n" "El valor se restablecerá a 0." msgid "" -"Spiral mode only works when wall loops is 1, support is disabled, top shell " -"layers is 0, sparse infill density is 0 and timelapse type is traditional." +"Spiral mode only works when wall loops is 1, support is disabled, top shell layers is 0, " +"sparse infill density is 0 and timelapse type is traditional." msgstr "" +"El modo espiral sólo funciona cuando los bucles de pared son 1, el soporte está " +"desactivado, las capas superiores de la cáscara son 0, la densidad de relleno disperso es " +"0 y el tipo de intervalo es tradicional." msgid "" "Change these settings automatically? \n" @@ -2387,18 +2398,17 @@ msgstr "" "No - Dejar de usar el modo espiral esta vez" msgid "" -"Prime tower does not work when Adaptive Layer Height or Independent Support " -"Layer Height is on.\n" +"Prime tower does not work when Adaptive Layer Height or Independent Support Layer Height " +"is on.\n" "Which do you want to keep?\n" "YES - Keep Prime Tower\n" "NO - Keep Adaptive Layer Height and Independent Support Layer Height" msgstr "" -"La torre principal no funciona cuando la altura de la capa adaptable o la " -"altura de la capa de soporte independiente están activadas.\n" +"La torre de purga no funciona cuando la altura de la capa adaptable o la altura de la capa " +"de soporte independiente están activadas.\n" "¿Qué desea mantener?\n" -"SÍ - Mantener la torre principal\n" -"NO - Mantener la altura de capa adaptable y la altura de capa de soporte " -"independiente" +"SÍ - Mantener la torre de purga\n" +"NO - Mantener la altura de capa adaptable y la altura de capa de soporte independiente" msgid "" "Prime tower does not work when Adaptive Layer Height is on.\n" @@ -2406,10 +2416,9 @@ msgid "" "YES - Keep Prime Tower\n" "NO - Keep Adaptive Layer Height" msgstr "" -"La torre principal no funciona cuando la altura de capa adaptativa está " -"activada.\n" +"La torre de purga no funciona cuando la altura de capa adaptativa está activada.\n" "¿Qué quieres mantener?\n" -"SÍ - Mantener la torre principal\n" +"SÍ - Mantener la torre de purga\n" "NO - Mantener la altura de capa adaptable" msgid "" @@ -2418,26 +2427,36 @@ msgid "" "YES - Keep Prime Tower\n" "NO - Keep Independent Support Layer Height" msgstr "" -"La torre principal no funciona cuando la altura de la capa de soporte " -"independiente está activada.\n" +"La torre de purga no funciona cuando la altura de la capa de soporte independiente está " +"activada.\n" "¿Qué quieres mantener?\n" -"SÍ - Mantener la torre principal\n" +"SÍ - Mantener la torre de purga\n" "NO - Mantener la altura de la capa de soporte independiente" #, boost-format msgid "%1% infill pattern doesn't support 100%% density." msgstr "El patrón de relleno %1% no soporta el 100%% de densidad." +#, fuzzy +#| msgid "" +#| "Switch to rectilinear pattern?\n" +#| "Yes - switch to rectilinear pattern automatically\n" +#| "No - reset density to default non 100% value automaticlly" msgid "" "Switch to rectilinear pattern?\n" "Yes - switch to rectilinear pattern automaticlly\n" "No - reset density to default non 100% value automaticlly" msgstr "" +"¿Cambiar a patrón rectilineo?\n" +"Sí - cambiar a patrón rectilineo automaticamente\n" +"No - reiniciar a valor de densidad no 100% por defecto automaticamente" msgid "" "While printing by Object, the extruder may collide skirt.\n" "Thus, reset the skirt layer to 1 to avoid that." msgstr "" +"Mientras se imprime por objeto, el extrusor puede chocar contra la falda.\n" +"En ese caso, reinicie la capa de falda a 1 para evitarlo." msgid "Auto bed leveling" msgstr "Nivelación de cama automática" @@ -2470,7 +2489,7 @@ msgid "Inspecting first layer" msgstr "Inspeccionando la primera capa" msgid "Identifying build plate type" -msgstr "Identificando el tipo de placa de impresión" +msgstr "Identificando el tipo de cama de impresión" msgid "Calibrating Micro Lidar" msgstr "Calibrando el Micro Lidar" @@ -2497,19 +2516,17 @@ msgid "Calibrating extrusion flow" msgstr "Calibrando el flujo de extrusión" msgid "Paused due to nozzle temperature malfunction" -msgstr "" -"Pausado debido a un mal funcionamiento de la temperatura de la boquilla" +msgstr "Pausado debido a un mal funcionamiento de la temperatura de la boquilla" msgid "Paused due to heat bed temperature malfunction" msgstr "" -"Se ha interrumpido debido a un mal funcionamiento de la temperatura de la " -"cama caliente" +"Se ha interrumpido debido a un mal funcionamiento de la temperatura de la cama caliente" msgid "MC" msgstr "MC" msgid "MainBoard" -msgstr "Placa Madre" +msgstr "Placa Base" msgid "TH" msgstr "TH" @@ -2542,13 +2559,13 @@ msgid "Update failed." msgstr "Actualización fallida." msgid "Failed to start printing job" -msgstr "" +msgstr "Fallo iniciando el trabajo de impresión" msgid "default" msgstr "por defecto" msgid "parameter name" -msgstr "" +msgstr "nombre del parámetro" msgid "N/A" msgstr "N/A" @@ -2600,31 +2617,31 @@ msgid "Tool" msgstr "Herramienta" msgid "Layer Time" -msgstr "" +msgstr "Tiempo de capa" msgid "Layer Time (log)" -msgstr "" +msgstr "Tiempo de capa (log)" msgid "Height: " -msgstr "" +msgstr "Altura: " msgid "Width: " -msgstr "" +msgstr "Anchura: " msgid "Speed: " -msgstr "" +msgstr "Velocidad: " msgid "Flow: " -msgstr "" +msgstr "Flujo: " msgid "Layer Time: " -msgstr "" +msgstr "Tiempo de Capa: " msgid "Fan Speed: " -msgstr "" +msgstr "Velocidad del Ventilador: " msgid "Temperature: " -msgstr "" +msgstr "Temperatura: " msgid "Loading G-codes" msgstr "Carga de códigos G" @@ -2636,22 +2653,22 @@ msgid "Generating geometry index data" msgstr "Generación de datos de índices geométricos" msgid "Statistics of All Plates" -msgstr "" +msgstr "Estadísticas de todas las camas" msgid "Display" msgstr "Pantalla" msgid "Flushed" -msgstr "" +msgstr "Descargado" msgid "Total" msgstr "Total" msgid "Total Time Estimation" -msgstr "" +msgstr "Tiempo Total Estimado" msgid "Total time" -msgstr "" +msgstr "Tiempo total" msgid "up to" msgstr "hasta" @@ -2714,7 +2731,7 @@ msgid "Options" msgstr "Opciones" msgid "travel" -msgstr "Recorrido" +msgstr "recorrido" msgid "Extruder" msgstr "Extrusor" @@ -2744,7 +2761,7 @@ msgid "Total Estimation" msgstr "Estimación total" msgid "Time Estimation" -msgstr "" +msgstr "Estimación de Tiempo" msgid "Normal mode" msgstr "Modo normal" @@ -2762,52 +2779,52 @@ msgid "Switch to normal mode" msgstr "Cambiar al modo normal" msgid "Variable layer height" -msgstr "" +msgstr "Altura de capa variable" msgid "Adaptive" -msgstr "" +msgstr "Adaptativo" msgid "Quality / Speed" -msgstr "" +msgstr "Calidad / Velocidad" msgid "Smooth" -msgstr "" +msgstr "Suave" msgid "Radius" msgstr "Radio" msgid "Keep min" -msgstr "" +msgstr "Mantener el mínimo" msgid "Left mouse button:" -msgstr "" +msgstr "Botón izquierdo del ratón:" msgid "Add detail" -msgstr "" +msgstr "Añadir detalle" msgid "Right mouse button:" -msgstr "" +msgstr "Botón derecho del ratón:" msgid "Remove detail" -msgstr "" +msgstr "Borrar detalle" msgid "Shift + Left mouse button:" -msgstr "" +msgstr "Shift + botón izquierdo del ratón:" msgid "Reset to base" -msgstr "" +msgstr "Volver a la base" msgid "Shift + Right mouse button:" -msgstr "" +msgstr "Shift + Botón derecho del ratón:" msgid "Smoothing" -msgstr "" +msgstr "Suavidad" msgid "Mouse wheel:" -msgstr "" +msgstr "Rueda del ratón:" msgid "Increase/decrease edit area" -msgstr "" +msgstr "Incrementar/decrementar el área de edición" msgid "Sequence" msgstr "Secuencia" @@ -2819,7 +2836,7 @@ msgid "Tool Move" msgstr "Herramienta Mover" msgid "Tool Rotate" -msgstr "" +msgstr "Herramienta Rotar" msgid "Move Object" msgstr "Mover Objeto" @@ -2846,7 +2863,7 @@ msgid "Auto rotate for arrangement" msgstr "Rotación automática para el posicionamiento" msgid "Allow multiple materials on same plate" -msgstr "Permitir varios materiales en la misma placa" +msgstr "Permitir varios materiales en la misma cama" msgid "Avoid extrusion calibration region" msgstr "Evitar la zona de calibración del extrusor" @@ -2855,7 +2872,7 @@ msgid "Add" msgstr "Añadir" msgid "Add plate" -msgstr "Añadir placa" +msgstr "Añadir cama" msgid "Auto orient" msgstr "Orientar automáticamente" @@ -2864,7 +2881,7 @@ msgid "Arrange all objects" msgstr "Ordenar todos los objetos" msgid "Arrange objects on selected plates" -msgstr "Colocar los objetos en las placas seleccionadas" +msgstr "Colocar los objetos en las camas seleccionadas" msgid "Split to objects" msgstr "Partir en varias piezas" @@ -2876,7 +2893,7 @@ msgid "Assembly View" msgstr "Vista de conjunto" msgid "Select Plate" -msgstr "Seleccione la placa" +msgstr "Seleccione la cama" msgid "Assembly Return" msgstr "Volver a montar" @@ -2891,10 +2908,10 @@ msgid "Explosion Ratio" msgstr "Ratio de Explosión" msgid "Section View" -msgstr "" +msgstr "Vista de Sección" msgid "Assemble Control" -msgstr "" +msgstr "Control de Ensamblado" msgid "Total Volume:" msgstr "Volumen total:" @@ -2910,53 +2927,58 @@ msgstr "Tamaño:" #, c-format, boost-format msgid "" -"Conflicts of gcode paths have been found at layer %d, z = %.2lf mm. Please " -"separate the conflicted objects farther (%s <-> %s)." +"Conflicts of gcode paths have been found at layer %d, z = %.2lf mm. Please separate the " +"conflicted objects farther (%s <-> %s)." msgstr "" +"Se han encontrado conflictos de rutas gcode en la capa %d, z = %.2lf mm. Por favor, separe " +"más los objetos en conflicto (%s <-> %s)." msgid "An object is layed over the boundary of plate." -msgstr "Un objeto está sobre el límite de la placa." +msgstr "Un objeto está sobre el límite de la cama." msgid "A G-code path goes beyond the boundary of plate." -msgstr "Una ruta de código G va más allá del límite de la placa." +msgstr "Una ruta de código G va más allá del límite de la cama." msgid "Only the object being edit is visible." msgstr "Sólo es visible el objeto que se está editando." msgid "" "An object is laid over the boundary of plate or exceeds the height limit.\n" -"Please solve the problem by moving it totally on or off the plate, and " -"confirming that the height is within the build volume." +"Please solve the problem by moving it totally on or off the plate, and confirming that the " +"height is within the build volume." msgstr "" +"Un objeto está colocado en el límite de la cama o excede el límite de altura.\n" +"Por favor solucione el problema moviéndolo totalmente fuera o dentro de la cama, y " +"confirme que la altura está entre el volumen de construcción." msgid "Jump to" msgstr "Ir a" msgid "ERROR:" -msgstr "" +msgstr "ERROR:" msgid "Calibration step selection" -msgstr "" +msgstr "Seleccionar paso de calibración" msgid "Micro lidar calibration" -msgstr "" +msgstr "Calibración Micro lidar" msgid "Bed leveling" -msgstr "" +msgstr "Nivelación de la cama" msgid "Resonance frequency identification" -msgstr "" +msgstr "Identificación de frecuencia de resonancia" msgid "Calibration program" msgstr "Programa de calibración" msgid "" -"The calibration program detects the status of your device automatically to " -"minimize deviation.\n" +"The calibration program detects the status of your device automatically to minimize " +"deviation.\n" "It keeps the device performing optimally." msgstr "" -"El programa de calibración detecta el estado de su dispositivo " -"automáticamente para minimizar la desviación.\n" +"El programa de calibración detecta el estado de su dispositivo automáticamente para " +"minimizar la desviación.\n" "Mantiene el dispositivo con un rendimiento óptimo." msgid "Calibration Flow" @@ -2966,22 +2988,22 @@ msgid "Start Calibration" msgstr "Iniciar Calibración" msgid "Completed" -msgstr "" +msgstr "Completado" msgid "Calibrating" msgstr "Calibrando" msgid "Auto-record Monitoring" -msgstr "" +msgstr "Monitorización de Auto-Grabado" msgid "Go Live" -msgstr "" +msgstr "Ir A En Vivo" msgid "Resolution" msgstr "Resolución" msgid "Show \"Live Video\" guide page." -msgstr "" +msgstr "Mostrar guía de \"Video En vivo\"." msgid "720p" msgstr "" @@ -3003,13 +3025,13 @@ msgstr "" "en la impresora, como se muestra en la figura:" msgid "Invalid input." -msgstr "" +msgstr "Introducción inválida." msgid "New Window" -msgstr "" +msgstr "Nueva Ventana" msgid "Open a new window" -msgstr "" +msgstr "Abrir nueva ventana" msgid "Application is closing" msgstr "La aplicación se está cerrando" @@ -3039,34 +3061,34 @@ msgid "No" msgstr "No" msgid "will be closed before creating a new model. Do you want to continue?" -msgstr "" +msgstr "se cerrará antes de crear un nuevo modelo. ¿Quiere continuar?" msgid "Slice plate" -msgstr "Laminar placa" +msgstr "Laminar cama" msgid "Print plate" -msgstr "" +msgstr "Cama de impresión" msgid "Slice all" msgstr "Laminar todo" msgid "Export G-code file" -msgstr "" +msgstr "Exportar archivo G-code" msgid "Send" msgstr "Enviar" msgid "Export plate sliced file" -msgstr "" +msgstr "Exporar archivo de laminado de cama de impresión" msgid "Export all sliced file" -msgstr "" +msgstr "Exportar todos los archivos de laminado" msgid "Print all" msgstr "Imprimir todo" msgid "Send all" -msgstr "" +msgstr "Mandar todo" msgid "Keyboard Shortcuts" msgstr "Atajos de teclado" @@ -3081,23 +3103,23 @@ msgid "Show Configuration Folder" msgstr "Mostrar Carpeta de Configuración" msgid "Show Tip of the Day" -msgstr "" +msgstr "Mostrar Consejo Diario" msgid "Check for Update" msgstr "Comprobar Actualicaciones" msgid "Open Network Test" -msgstr "" +msgstr "Arir Test de Red" #, c-format, boost-format msgid "&About %s" msgstr "&Acerca de %s" msgid "Upload Models" -msgstr "" +msgstr "Cargar Modelos" msgid "Download Models" -msgstr "" +msgstr "Descargar Modelos" msgid "Default View" msgstr "Vista por Defecto" @@ -3141,7 +3163,7 @@ msgid "Right View" msgstr "Vista derecha" msgid "Start a new window" -msgstr "" +msgstr "Abrir nueva ventana" msgid "New Project" msgstr "Nuevo proyecto" @@ -3171,7 +3193,7 @@ msgid "Save current project as" msgstr "Guardar el proyecto actual como" msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" -msgstr "" +msgstr "Importar 3MF/STL/STEP/SVG/OBJ/AMF" msgid "Load a model" msgstr "Cargar un modelo" @@ -3195,22 +3217,22 @@ msgid "Export 3mf file without using some 3mf-extensions" msgstr "Exporte el archivo 3mf sin usar algunas de las extensiones" msgid "Export current sliced file" -msgstr "" +msgstr "Exportar archivo de laminado actual" msgid "Export all plate sliced file" -msgstr "" +msgstr "Exportar todos los archivos de laminado de cama" msgid "Export G-code" msgstr "Exportar código G" msgid "Export current plate as G-code" -msgstr "" +msgstr "Exportar cama actual cómo G-code" msgid "Export &Configs" msgstr "Exportar & Configuración" msgid "Export current configuration to files" -msgstr "" +msgstr "Exportar configuración actual a archivos" msgid "Export" msgstr "Exportar" @@ -3276,10 +3298,10 @@ msgid "Use Orthogonal View" msgstr "Utilizar Vista Ortogonal" msgid "Show &Labels" -msgstr "" +msgstr "Mostrar &Etiquetas" msgid "Show object labels in 3D scene" -msgstr "" +msgstr "Mostrar etiquetas en escena 3D" msgid "Preferences" msgstr "Preferencias" @@ -3291,46 +3313,52 @@ msgid "Help" msgstr "Ayuda" msgid "Temperature Calibration" -msgstr "" +msgstr "Calibración de temperatura" msgid "Pass 1" -msgstr "" +msgstr "Paso 1" msgid "Flow rate test - Pass 1" -msgstr "" +msgstr "Test de caudal - Paso 1" msgid "Pass 2" -msgstr "" +msgstr "Paso 2" msgid "Flow rate test - Pass 2" -msgstr "" +msgstr "Test de Caudal - Paso 2" msgid "Flow rate" -msgstr "" +msgstr "Test de caudal" msgid "Pressure advance" -msgstr "" +msgstr "Avance de presión" + +msgid "Retraction test" +msgstr "Test de retracción" + +msgid "Orca Tolerance Test" +msgstr "Test de Tolerancia Orca" msgid "Max flowrate" -msgstr "" +msgstr "Máximo caudal" msgid "VFA" msgstr "" msgid "More..." -msgstr "" +msgstr "Más..." msgid "Tutorial" msgstr "" msgid "Calibration help" -msgstr "" +msgstr "Ayuda de calibración" msgid "More calibrations" -msgstr "" +msgstr "Más calibraciones" msgid "3D Models" -msgstr "" +msgstr "Modelos 3D" msgid "&Open G-code" msgstr "Abrir código G (&O)" @@ -3351,10 +3379,10 @@ msgid "Export toolpaths as OBJ" msgstr "Exportar trayectorias de herramientas como OBJ" msgid "Open &Studio" -msgstr "" +msgstr "Abrir $Studio" msgid "Open Studio" -msgstr "" +msgstr "Abrir Studio" msgid "&Quit" msgstr "Sa&lir" @@ -3374,11 +3402,11 @@ msgstr "Ayu&da" #, c-format, boost-format msgid "A file exists with the same name: %s, do you want to override it." -msgstr "" +msgstr "Existe un archivo con el mismo nombre: %s, ¿desea sobreescribirlo?." #, c-format, boost-format msgid "A config exists with the same name: %s, do you want to override it." -msgstr "" +msgstr "Existe unaconfiguración con el mismo nombre: %s, ¿desea sobreescribirla?." msgid "Overwrite file" msgstr "Sobrescribir archivo" @@ -3390,26 +3418,28 @@ msgid "No to All" msgstr "No a todo" msgid "Choose a directory" -msgstr "" +msgstr "Elegir un directorio" #, c-format, boost-format msgid "There is %d config exported. (Only non-system configs)" msgid_plural "There are %d configs exported. (Only non-system configs)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Hay %d configuración exportada. (solo configuraciones que no sean del sistema)" +msgstr[1] "Hay %d configuraciones exportadas. (solo configuraciones que no sean del sistema)" msgid "Export result" msgstr "Exportar resultado" msgid "Select profile to load:" -msgstr "" +msgstr "Seleccionar perfil a cargar:" #, c-format, boost-format msgid "There is %d config imported. (Only non-system and compatible configs)" -msgid_plural "" -"There are %d configs imported. (Only non-system and compatible configs)" +msgid_plural "There are %d configs imported. (Only non-system and compatible configs)" msgstr[0] "" +"Hay %d configuración exportada. (solo configuraciones que no sean del sistema y " +"compatibles)" msgstr[1] "" +"Hay %d configuraciones importadas. (Solo las configuraciones compatibles y no-del-sistema)" msgid "Import result" msgstr "Importar resultado" @@ -3430,6 +3460,10 @@ msgid "" "2. The Filament presets\n" "3. The Printer presets" msgstr "" +"¿Quieres sincronizar tus datos personales desde la nube Bambú? \n" +"Esta contiene la siguiente información:\n" +"1. Los Preajustes de Proceso\n" +"2. Los Preajustes de Filamento3. Los preajustes de la Impressora" msgid "Synchronization" msgstr "Sincronización" @@ -3438,7 +3472,7 @@ msgid "Initialize failed (No Device)!" msgstr "¡Inicialización fallida (No hay dispositivo)!" msgid "Initialize failed (No Camera Device)!" -msgstr "" +msgstr "¡Inicialización fallida (No hay Cámara)!" msgid "Initializing..." msgstr "Iniciando..." @@ -3447,57 +3481,62 @@ msgid "Loading..." msgstr "Cargando..." msgid "Initialize failed (Not supported with LAN-only mode)!" -msgstr "" +msgstr "Inicialización fallida (No soportada con el modo Solo Red Local)" msgid "Initialize failed (Not accessible in LAN-only mode)!" -msgstr "" +msgstr "Inicialización fallida (No accesible en el modo solo Red Local)" msgid "Printer is busy downloading, Please wait for the downloading to finish." -msgstr "" +msgstr "La impresora está ocupada descargando. Por favor, espere a que finalice." msgid "Initialize failed (Missing LAN ip of printer)!" -msgstr "" +msgstr "Inicialización fallida (Perdida la IP de red de la impresora)" msgid "Initialize failed (Not supported by printer)!" -msgstr "" +msgstr "Inicialización fallida (No soportada por la impresora)" #, c-format, boost-format msgid "Initialize failed (%s)!" -msgstr "" +msgstr "¡Fallo al inicializar (%s)!" msgid "Network unreachable" -msgstr "" +msgstr "Red inalcanzable" #, c-format, boost-format msgid "Stopped [%d]!" -msgstr "" +msgstr "Parado [%d]" msgid "Stopped." msgstr "Detenido." msgid "LAN Connection Failed (Failed to start liveview)" -msgstr "" +msgstr "Fallo de Conexión de Red Local (Fallo al iniciar vista en vivo)" msgid "" "Virtual Camera Tools is required for this task!\n" "Do you want to install them?" msgstr "" +"Virtual Camera Tools es necesario para esta tarea.\n" +"¿Desea instalarlas?" msgid "Downloading Virtual Camera Tools" -msgstr "" +msgstr "Descargando Herramientas de Cámara Virtual" msgid "" "Another virtual camera is running.\n" "Bambu Studio supports only a single virtual camera.\n" "Do you want to stop this virtual camera?" msgstr "" +"Otra cámara virtual se está ejecutando.\n" +"Bambu Studio solo soporta una cámara virtual.\n" +"¿Desea detener esta cámara virtual?" #, c-format, boost-format msgid "Virtual camera initialize failed (%s)!" -msgstr "" +msgstr "Inicialización de cámara virtual (%s)" msgid "Information" -msgstr "" +msgstr "Información" msgid "Playing..." msgstr "Reproduciendo..." @@ -3513,49 +3552,49 @@ msgid "Month" msgstr "Mes" msgid "All Files" -msgstr "" +msgstr "Todos los Archivos" msgid "Group files by year, recent first." -msgstr "" +msgstr "Agrupar archivos por año, primero los recientes." msgid "Group files by month, recent first." -msgstr "" +msgstr "Agrupar archivos por mes, primero los recientes." msgid "Show all files, recent first." -msgstr "" +msgstr "Mostrar todos los archivos, primero los recientes." msgid "Timelapse" -msgstr "Timelapse" +msgstr "Intervalo" msgid "Switch to timelapse files." -msgstr "" +msgstr "Cambiar a archivos de intervalo." msgid "Video" msgstr "Video" msgid "Switch to video files." -msgstr "" +msgstr "Cambiar a archivos de video." msgid "Delete selected files from printer." -msgstr "" +msgstr "Borrar archivos seleccionados desde la impresora." msgid "Download" msgstr "Descargar" msgid "Download selected files from printer." -msgstr "" +msgstr "Descargar achivos seleccionados desde la impresora." msgid "Select" -msgstr "" +msgstr "Seleccionar" msgid "Batch manage files." -msgstr "" +msgstr "Arhivos de proceso por lotes." msgid "No printers." msgstr "No hay impresoras." msgid "Not supported by this model of printer!" -msgstr "" +msgstr "¡No soportado por este modelo de impresora!" msgid "Connecting..." msgstr "Conectando…" @@ -3571,37 +3610,37 @@ msgid "No files" msgstr "No hay archivos" msgid "Not accessible in LAN-only mode!" -msgstr "" +msgstr "¡No accesible en modelo de solo red local!" msgid "Missing LAN ip of printer!" -msgstr "" +msgstr "¡IP de red local pérdida!" #, c-format, boost-format msgid "You are going to delete %u files. Are you sure to continue?" -msgstr "" +msgstr "Va a borrar %u archivos. ¿Está seguro de continuar?" msgid "Delete files" -msgstr "" +msgstr "Borrar archivos" #, c-format, boost-format msgid "File '%s' was lost! Please download it again." -msgstr "" +msgstr "¡El archivo '%s' se perdió!\" Por favor, vuelva a descargárselo." msgid "Download waiting..." -msgstr "" +msgstr "Descarga esperando..." msgid "Play" -msgstr "" +msgstr "Reproducir" msgid "Open Folder" -msgstr "" +msgstr "Abrir Carpeta" msgid "Download finished" -msgstr "" +msgstr "Descarga finalizada" #, c-format, boost-format msgid "Downloading %d%%..." -msgstr "" +msgstr "Descargando %d%%..." msgid "Speed:" msgstr "Velocidad:" @@ -3616,7 +3655,7 @@ msgid "Zoom" msgstr "Zoom" msgid "Translation/Zoom" -msgstr "" +msgstr "Conversión/Zoom" msgid "3Dconnexion settings" msgstr "Ajustes de conexión 3D" @@ -3625,13 +3664,13 @@ msgid "Swap Y/Z axes" msgstr "Intercambiar los ejes Y/Z" msgid "Camera" -msgstr "" +msgstr "Cámara" msgid "SD Card" -msgstr "" +msgstr "Tarjeta SD" msgid "Camera Setting" -msgstr "" +msgstr "Ajuste de Cámara" msgid "Printing Progress" msgstr "Progreso de impresión" @@ -3646,16 +3685,16 @@ msgid "0" msgstr "" msgid "Layer: N/A" -msgstr "" +msgstr "Capa: N/A" msgid "Clear" -msgstr "" +msgstr "Vaciar" msgid "Control" msgstr "Control" msgid "Print Options" -msgstr "" +msgstr "Opciones de Impresora" msgid "100%" msgstr "100%" @@ -3667,7 +3706,7 @@ msgid "Aux" msgstr "" msgid "Cham" -msgstr "" +msgstr "Costura" msgid "Bed" msgstr "Cama" @@ -3679,69 +3718,75 @@ msgid "Debug Info" msgstr "Información de Depuración" msgid "No SD Card" -msgstr "" +msgstr "Sin tarjeta SD" msgid "SD Card Abnormal" -msgstr "" +msgstr "Tarjeta SD Anormal" msgid "Printing List" msgstr "Imprimiendo Lista" msgid "Cancel print" -msgstr "" +msgstr "Cancelar Impresión" msgid "Are you sure you want to cancel this print?" -msgstr "" +msgstr "¿Está seguro que desea cancelar esta impresión?" #, c-format, boost-format msgid "" -"Disconnected from printer [%s] due to LAN mode disabled.Please reconnect the " -"printer by logging in with your user account." +"Disconnected from printer [%s] due to LAN mode disabled.Please reconnect the printer by " +"logging in with your user account." msgstr "" +"Desconectado de la impresora [%s] debido a modo de red deshabilitado. Por favor, " +"reconéctese la impresora ingresando con su cuenta de usuario." #, c-format, boost-format msgid "" -"Disconnected from printer [%s] due to LAN mode enabled.Please reconnect the " -"printer by inputting Access Code which can be gotten from printer screen." +"Disconnected from printer [%s] due to LAN mode enabled.Please reconnect the printer by " +"inputting Access Code which can be gotten from printer screen." msgstr "" +"Desconectado de la impresora [%s] debido a modo de red habilitado. Por favor, reconéctese " +"la impresora ingresando con su cuenta de usuario." msgid "Downloading..." msgstr "Descargando…" msgid "Cloud Slicing..." -msgstr "" +msgstr "Laminado en la Nube..." #, c-format, boost-format msgid "In Cloud Slicing Queue, there are %s tasks ahead." -msgstr "" +msgstr "Hay %s tareas por delante, en la Cola de Laminado en la Nube." #, c-format, boost-format msgid "Layer: %s" -msgstr "" +msgstr "Capa: %s" #, c-format, boost-format msgid "Layer: %d/%d" -msgstr "" +msgstr "Capa: %d/%d" msgid "Please heat the nozzle to above 170 degree before loading filament." -msgstr "" +msgstr "Caliente la boquilla a más de 170 grados antes de cargar el filamento." msgid "Still unload" -msgstr "" +msgstr "Aún descargado" msgid "Still load" -msgstr "" +msgstr "Aún cargado" msgid "Please select an AMS slot before calibration" -msgstr "" +msgstr "Seleccione una ranura AMS antes de la calibración" msgid "" -"Cannot read filament info: the filament is loaded to the tool head,please " -"unload the filament and try again." +"Cannot read filament info: the filament is loaded to the tool head,please unload the " +"filament and try again." msgstr "" +"No se puede leer la información del filamento: el filamento está cargado en el cabezal de " +"la herramienta, por favor, descargue el filamento y vuelva a intentarlo." msgid "This only takes effect during printing" -msgstr "" +msgstr "Esto solo tendrá efecto durante la impresión" msgid "Silent" msgstr "Silencio" @@ -3756,7 +3801,7 @@ msgid "Ludicrous" msgstr "Lúdico" msgid "Can't start this without SD card." -msgstr "" +msgstr "No puede iniciarse sin una tarjeta SD." msgid "Failed to connect to the server" msgstr "No se ha podido conectar con el servidor" @@ -3825,10 +3870,10 @@ msgid "Undo integration was successful." msgstr "La operación de deshacer se ha realizado con éxito." msgid "New network plug-in available." -msgstr "" +msgstr "Nuevo complemento de red disponible." msgid "Details" -msgstr "" +msgstr "Detalles" msgid "Undo integration failed." msgstr "La operación de deshacer ha fallado." @@ -3846,7 +3891,7 @@ msgid "Open Folder." msgstr "Abrir Carpeta." msgid "Safely remove hardware." -msgstr "" +msgstr "Quitar hardware con seguridad." #, c-format, boost-format msgid "%1$d Object has custom supports." @@ -3863,23 +3908,23 @@ msgstr[1] "%1$d Los objetos tienen pintura de color." #, c-format, boost-format msgid "%1$d object was loaded as a part of cut object." msgid_plural "%1$d objects were loaded as parts of cut object" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%1$d El objeto se ha cargado como parte del objeto de corte." +msgstr[1] "%1$d Los objetos se han cargado como partes del objeto de corte" msgid "ERROR" -msgstr "" +msgstr "ERROR" msgid "CANCELED" -msgstr "" +msgstr "CANCELADO" msgid "COMPLETED" -msgstr "" +msgstr "COMPLETADO" msgid "Cancel upload" -msgstr "" +msgstr "Carga cancelada" msgid "Slice ok." -msgstr "Rebanado correcto." +msgstr "Laminado correcto." msgid "Error:" msgstr "Error:" @@ -3888,21 +3933,20 @@ msgid "Warning:" msgstr "Advertencia:" msgid "Export successfully." -msgstr "" +msgstr "Exportación exitosa." msgid " (Repair)" msgstr " (Reparación)" msgid " Click here to install it." -msgstr "" +msgstr " Presiona aquí para instalarlo." msgid "WARNING:" msgstr "AVISO:" msgid "Your model needs support ! Please make support material enable." msgstr "" -"¡Su modelo necesita soporte! Por favor, haga que el material de apoyo esté " -"habilitado." +"¡Su modelo necesita soporte! Por favor, haga que el material de apoyo esté habilitado." msgid "Gcode path overlap" msgstr "Superposición de la ruta del Gcode" @@ -3914,7 +3958,7 @@ msgid "Color painting" msgstr "Pintura en color" msgid "Cut connectors" -msgstr "" +msgstr "Cortar Conectores" msgid "Layers" msgstr "Capas" @@ -3922,12 +3966,10 @@ msgstr "Capas" msgid "Range" msgstr "Rango" -msgid "" -"The application cannot run normally because OpenGL version is lower than " -"2.0.\n" +msgid "The application cannot run normally because OpenGL version is lower than 2.0.\n" msgstr "" -"La aplicación no puede ejecutarse normalmente porque la versión de OpenGL es " -"inferior a la 2.0.\n" +"La aplicación no puede ejecutarse normalmente porque la versión de OpenGL es inferior a la " +"2.0.\n" msgid "Please upgrade your graphics card driver." msgstr "Por favor, actualice el controlador de su tarjeta gráfica." @@ -3955,24 +3997,24 @@ msgid "Bottom" msgstr "Inferior" msgid "Enable AI monitoring of printing" -msgstr "" +msgstr "Activar monitorización por IA de la impresión" msgid "Sensitivity of pausing is" -msgstr "" +msgstr "La sensibilidad de pausa es" msgid "Enable detection of build plate position" -msgstr "" +msgstr "Activar detección de posición de cama" msgid "" -"The localization tag of build plate is detected, and printing is paused if " -"the tag is not in predefined range." -msgstr "" +"The localization tag of build plate is detected, and printing is paused if the tag is not " +"in predefined range." +msgstr "La etiqueta de localización." msgid "First Layer Inspection" -msgstr "" +msgstr "Inspección de Primera Capa" msgid "Auto-recovery from step loss" -msgstr "" +msgstr "Autorecuperar desde pérdida de paso" msgid "Global" msgstr "Global" @@ -4000,7 +4042,7 @@ msgstr "Sin título" #, boost-format msgid " plate %1%:" -msgstr " placa %1%:" +msgstr " cama %1%:" msgid "Invalid name, the following characters are not allowed:" msgstr "Nombre no válido, los siguientes caracteres no están permitidos:" @@ -4030,7 +4072,7 @@ msgid "Click to edit preset" msgstr "Clic para cambiar el ajuste inicial" msgid "Connection" -msgstr "" +msgstr "Conexión" msgid "Bed type" msgstr "Tipo de cama" @@ -4039,48 +4081,51 @@ msgid "Flushing volumes" msgstr "Volúmenes de limpieza" msgid "Add one filament" -msgstr "" +msgstr "Añadir un filamento" msgid "Remove last filament" -msgstr "" +msgstr "Borrar último filamento" msgid "Synchronize filament list from AMS" -msgstr "" +msgstr "Sicronizar filamentos de la lista AMS" msgid "Set filaments to use" -msgstr "" +msgstr "Elegir filamentos para usar" -msgid "" -"No AMS filaments. Please select a printer in 'Device' page to load AMS info." +msgid "No AMS filaments. Please select a printer in 'Device' page to load AMS info." msgstr "" +"No hay filamentos AMS. Por favor, seleccione una impresora en la página 'Dispositivos' " +"para cargar información AMS." msgid "Sync filaments with AMS" -msgstr "" +msgstr "Sincronizar filamentos con AMS" msgid "" -"Sync filaments with AMS will drop all current selected filament presets and " -"colors. Do you want to continue?" +"Sync filaments with AMS will drop all current selected filament presets and colors. Do you " +"want to continue?" msgstr "" +"Sincronizar filamentos con AMS descartará todos los preajustes de filamento y colores. " +"¿Desea continuar?" -msgid "" -"Already did a synchronization, do you want to sync only changes or resync " -"all?" +msgid "Already did a synchronization, do you want to sync only changes or resync all?" msgstr "" +"Se realizó la sincronización, ¿Desea sincronizar solo los cambios o resincronizar todo?" msgid "Sync" -msgstr "" +msgstr "Sincronizar" msgid "Resync" -msgstr "" +msgstr "Resincronizar" msgid "There are no compatible filaments, and sync is not performed." -msgstr "" +msgstr "No hay filamentos compatible, y no se ha realizado la sincronización." msgid "" -"There are some unknown filaments mapped to generic preset. Please update " -"Orca Slicer or restart Orca Slicer to check if there is an update to system " -"presets." +"There are some unknown filaments mapped to generic preset. Please update Orca Slicer or " +"restart Orca Slicer to check if there is an update to system presets." msgstr "" +"Hay algunos filamentos desconocidos mapeados en el preajuste genérico. Por favor actualice " +"o reinicie Orca Slicer para comprobar si hay una actualización de preajustes del sistema." #, boost-format msgid "Do you want to save changes to \"%1%\"?" @@ -4088,53 +4133,59 @@ msgstr "¿Quieres guardar los cambios en \"%1%\"?" #, c-format, boost-format msgid "" -"Successfully unmounted. The device %s(%s) can now be safely removed from the " -"computer." +"Successfully unmounted. The device %s(%s) can now be safely removed from the computer." msgstr "" +"Desmontado correctamente. El dispositivo %s(%s) ahora puede ser eliminado de forma segura." #, c-format, boost-format msgid "Ejecting of device %s(%s) has failed." -msgstr "" +msgstr "La expulsión del dispositivo %s(%s) ha fallado." msgid "Previous unsaved project detected, do you want to restore it?" -msgstr "" -"Se ha detectado un proyecto anterior no guardado, ¿quieres restaurarlo?" +msgstr "Se ha detectado un proyecto anterior no guardado, ¿quieres restaurarlo?" msgid "Restore" msgstr "Restaurar" msgid "" -"The bed temperature exceeds filament's vitrification temperature. Please " -"open the front door of printer before printing to avoid nozzle clog." +"The bed temperature exceeds filament's vitrification temperature. Please open the front " +"door of printer before printing to avoid nozzle clog." msgstr "" +"La temperatura de la cama excede la temperatura de vitrificación del filamento. Por favor, " +"abra la puerta frontal de la impresora antes de imprimir para evitar atascos en la " +"boquilla." msgid "" -"The nozzle hardness required by the filament is higher than the default " -"nozzle hardness of the printer. Please replace the hardened nozzle or " -"filament, otherwise, the nozzle will be attrited or damaged." +"The nozzle hardness required by the filament is higher than the default nozzle hardness of " +"the printer. Please replace the hardened nozzle or filament, otherwise, the nozzle will be " +"attrited or damaged." msgstr "" +"La dureza de la boquilla requerida por el filamento es más alta que la dureza por defecto " +"de la impresora. Por favor, reemplace la boquilla endurecida y el filamento, de otra " +"forma, la boquilla se atascará o se dañará." #, c-format, boost-format msgid "Loading file: %s" msgstr "Cargando archivo: %s" msgid "The 3mf is not from Bambu Lab, load geometry data only." -msgstr "" +msgstr "El 3mf no es de Bambu Lab, cargar datos de geometría solo." msgid "Load 3mf" -msgstr "" +msgstr "Cargar 3mf" msgid "The Config can not be loaded." -msgstr "" +msgstr "La Configuración no será cargada." msgid "The 3mf is generated by old Orca Slicer, load geometry data only." -msgstr "" +msgstr "El 3mf está generado por un Orca Slicer antiguo, cargar solo datos de geometría." #, c-format, boost-format msgid "" -"The 3mf's version %s is newer than %s's version %s, Found following keys " -"unrecognized:" +"The 3mf's version %s is newer than %s's version %s, Found following keys unrecognized:" msgstr "" +"La versión de 3mf %s es más nueva que la versión de %s %s, encontradas las siguientes " +"llaves no reconocidas:" msgid "You'd better upgrade your software.\n" msgstr "Será mejor que actualices tu software.\n" @@ -4143,27 +4194,25 @@ msgid "Newer 3mf version" msgstr "Nueva versión 3mf" #, c-format, boost-format -msgid "" -"The 3mf's version %s is newer than %s's version %s, Suggest to upgrade your " -"software." +msgid "The 3mf's version %s is newer than %s's version %s, Suggest to upgrade your software." msgstr "" +"La versión de 3mf %s es más nueva que la versión de %s %s, se sugiere actualizar su " +"sofware." msgid "Invalid values found in the 3mf:" -msgstr "" +msgstr "Valores inválidos encontrados en el 3mf:" msgid "Please correct them in the param tabs" -msgstr "" +msgstr "Por favor, corrijalos en las pestañas de parámetros" msgid "The 3mf is not compatible, load geometry data only!" -msgstr "" +msgstr "¡El 3mf no es compatible, cargue solamente los datos de geometría!" msgid "Incompatible 3mf" -msgstr "3mf Incompatible " +msgstr "3mf Incompatible" msgid "Name of components inside step file is not UTF8 format!" -msgstr "" -"El nombre de los componentes dentro del archivo de pasos no tiene formato " -"UTF8." +msgstr "¡El nombre de los componentes dentro del archivo de pasos no tiene formato UTF8!" msgid "The name may show garbage characters!" msgstr "¡El nombre puede mostrar caracteres no válidos!" @@ -4171,8 +4220,7 @@ msgstr "¡El nombre puede mostrar caracteres no válidos!" #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "" -"Ha fallado la carga del archivo \"%1%\". Se ha encontrado una configuración " -"no válida." +"Ha fallado la carga del archivo \"%1%\". Se ha encontrado una configuración no válida." msgid "Objects with zero volume removed" msgstr "Objetos con volumen cero eliminados" @@ -4185,8 +4233,7 @@ msgid "" "The object from file %s is too small, and maybe in meters or inches.\n" " Do you want to scale to millimeters?" msgstr "" -"El objeto del archivo %s es demasiado pequeño, tal vez en metros o " -"pulgadas.\n" +"El objeto del archivo %s es demasiado pequeño, tal vez en metros o pulgadas.\n" " ¿Quiere escalar a milímetros?" msgid "Object too small" @@ -4197,9 +4244,12 @@ msgid "" "Instead of considering them as multiple objects, should \n" "the file be loaded as a single object having multiple parts?" msgstr "" +"Este archivo contiene varios objetos colocados a varias alturas.\n" +"En lugar de considerarlos como objetos múltiples, ¿debería \n" +"el archivo como un único objeto con múltiples partes?" msgid "Multi-part object detected" -msgstr "" +msgstr "Objeto multiparte detectado" msgid "Load these files as a single object with multiple parts?\n" msgstr "¿Cargar estos archivos como un objeto único con múltiples partes?\n" @@ -4211,12 +4261,14 @@ msgid "The file does not contain any geometry data." msgstr "El archivo no contiene ninguna información geométrica." msgid "" -"Your object appears to be too large, Do you want to scale it down to fit the " -"heat bed automatically?" +"Your object appears to be too large, Do you want to scale it down to fit the heat bed " +"automatically?" msgstr "" +"Tu objeto parece demasiado grande, ¿Deseas disminuirlo para que quepa en la cama caliente " +"automaticamente?" msgid "Object too large" -msgstr "" +msgstr "Objeto demasiado grande" msgid "Export STL file:" msgstr "Exportar archivo STL:" @@ -4225,13 +4277,16 @@ msgid "Save file as:" msgstr "Guardar archivo como:" msgid "Delete object which is a part of cut object" -msgstr "" +msgstr "Borrar objetos los cuales son partes del objeto cortado" msgid "" "You try to delete an object which is a part of a cut object.\n" "This action will break a cut correspondence.\n" "After that model consistency can't be guaranteed." msgstr "" +"Se intenta eliminar un objeto que forma parte de un objeto cortado.\n" +"Esta acción romperá una correspondencia de corte.\n" +"Después de eso la consistencia del modelo no puede ser garantizada." msgid "The selected object couldn't be split." msgstr "El objeto seleccionado no ha podido ser dividido." @@ -4240,13 +4295,13 @@ msgid "Another export job is running." msgstr "Otro trabajo de exportación está en marcha." msgid "Select a new file" -msgstr "" +msgstr "Seleccione un nuevo archivo" msgid "File for the replace wasn't selected" -msgstr "" +msgstr "El archivo de reemplazo no ha sido seleccionado" msgid "Error during replace" -msgstr "" +msgstr "Error durante el reemplazo" msgid "Please select a file" msgstr "Por favor, seleccione un archivo" @@ -4264,56 +4319,57 @@ msgid "Invalid data" msgstr "Datos inválidos" msgid "Slicing Canceled" -msgstr "" +msgstr "Laminado Cancelado" #, c-format, boost-format msgid "Slicing Plate %d" -msgstr "Placa de corte %d" +msgstr "Cama de corte %d" msgid "Please resolve the slicing errors and publish again." msgstr "Por favor, resuelve los errores de corte y publica de nuevo." -msgid "" -"Network Plug-in is not detected. Network related features are unavailable." -msgstr "" +msgid "Network Plug-in is not detected. Network related features are unavailable." +msgstr "Complemento de red no detectado. Características relacionadas no disponibles." msgid "" "Preview only mode:\n" "The loaded file contains gcode only, Can not enter the Prepare page" msgstr "" +"Previsualizar solo el modo:\n" +"El archivo cargado contiene solo gcode, no puedo entrar a la página de Preparación" msgid "You can keep the modified presets to the new project or discard them" -msgstr "" -"Puedes mantener los preajustes modificados en el nuevo proyecto o " -"descartarlos" +msgstr "Puedes mantener los preajustes modificados en el nuevo proyecto o descartarlos" msgid "Creating a new project" msgstr "Creando un nuevo proyecto" msgid "Load project" -msgstr "Carga de Proyecto" +msgstr "Cargar Proyecto" msgid "" "Failed to save the project.\n" -"Please check whether the folder exists online or if other programs open the " -"project file." +"Please check whether the folder exists online or if other programs open the project file." msgstr "" +"Fallo salvando el proyecto.\n" +"Por favor, comprobar si la carpeta existe en línea o si otros programas tienen abierto el " +"archivo de proyecto." msgid "Save project" -msgstr "" +msgstr "Salvar proyecto" msgid "Importing Model" -msgstr "" +msgstr "Importando modelo" msgid "prepare 3mf file..." -msgstr "" +msgstr "preparar el archivo 3mf..." msgid "downloading project ..." -msgstr "" +msgstr "descargando proyecto..." #, c-format, boost-format msgid "Project downloaded %d%%" -msgstr "" +msgstr "Proyecto descargado %d%%" msgid "The selected file" msgstr "El archivo seleccionado" @@ -4346,7 +4402,7 @@ msgid "G-code files can not be loaded with models together!" msgstr "¡Los archivos de código G no pueden cargarse con los modelos juntos!" msgid "Can not add models when in preview mode!" -msgstr "No se pueden añadir modelos en el modo de vista previa" +msgstr "No se pueden añadir modelos en el modo de vista previa!" msgid "Add Models" msgstr "Añadir Modelos" @@ -4355,11 +4411,10 @@ msgid "All objects will be removed, continue?" msgstr "Todos los objetos serán eliminados, deseas continuar?" msgid "The current project has unsaved changes, save it before continue?" -msgstr "" -"El proyecto actual tiene cambios sin guardar, ¿guardarlos antes de continuar?" +msgstr "El proyecto actual tiene cambios sin guardar, ¿guardarlos antes de continuar?" msgid "Remember my choice." -msgstr "" +msgstr "Recordar my elección." msgid "Number of copies:" msgstr "Número de copias:" @@ -4371,13 +4426,14 @@ msgid "Save G-code file as:" msgstr "Guardar archivo Código G como:" msgid "Save Sliced file as:" -msgstr "Guardar el archivo rebanado como:" +msgstr "Guardar el archivo laminado como:" #, c-format, boost-format msgid "" -"The file %s has been sent to the printer's storage space and can be viewed " -"on the printer." +"The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "" +"El archivo %s ha sido mandado al almacenamiento de la impresora y puede ser visto en la " +"impresora." msgid "" "Print By Object: \n" @@ -4394,14 +4450,13 @@ msgstr "Enviar a la impresora" msgid "Custom supports and color painting were removed before repairing." msgstr "" -"Los soportes personalizados y la pintura de color se eliminaron antes de la " -"reparación." +"Los soportes personalizados y la pintura de color se eliminaron antes de la reparación." msgid "Invalid number" msgstr "Número inválido" msgid "Plate Settings" -msgstr "" +msgstr "Configuración de Cama" #, boost-format msgid "Part name: %1%\n" @@ -4431,22 +4486,25 @@ msgstr "Volumen: %1% mm³\n" #, boost-format msgid "Triangles: %1%\n" -msgstr " Triángulos: %1%\n" +msgstr "Triángulos: %1%\n" msgid "Tips:" -msgstr "" +msgstr "Consejos:" msgid "" -"\"Fix Model\" feature is currently only on Windows. Please repair the model " -"on Orca Slicer(windows) or CAD softwares." +"\"Fix Model\" feature is currently only on Windows. Please repair the model on Orca " +"Slicer(windows) or CAD softwares." msgstr "" +"La característica \"Arreglar Modelo\" está actualmente solo en Windows. Por favor, en Orca " +"Slicer(windows) o el software CAD." #, c-format, boost-format msgid "" -"Plate% d: %s is not suggested to be used to print filament %s(%s). If you " -"still want to do this printing, please set this filament's bed temperature " -"to non zero." +"Plate% d: %s is not suggested to be used to print filament %s(%s). If you still want to do " +"this printing, please set this filament's bed temperature to non zero." msgstr "" +"Cama% d: %s no está sugerido para ser usado para imprimir filamento %s(%s). Si usted aún " +"quiere imprimir, por favor, seleccione 0 en la temperatura de cama." msgid "Switching the language requires application restart.\n" msgstr "El cambio de idioma requiere el reinicio de la aplicación.\n" @@ -4458,9 +4516,7 @@ msgid "Language selection" msgstr "Selección de Iidiomas" msgid "Switching application language while some presets are modified." -msgstr "" -"Cambio de idioma de la aplicación mientras se modifican algunas " -"preselecciones." +msgstr "Cambio de idioma de la aplicación mientras se modifican algunas preselecciones." msgid "Changing application language" msgstr "Cambiar el idioma de la aplicación" @@ -4475,10 +4531,10 @@ msgid "Second" msgstr "Segundo" msgid "Browse" -msgstr "" +msgstr "Explorar" msgid "Choose Download Directory" -msgstr "" +msgstr "Elegir Directorio de Descarga" msgid "General Settings" msgstr "Configuración General" @@ -4511,102 +4567,97 @@ msgid "Units" msgstr "Unidades" msgid "Zoom to mouse position" -msgstr "" +msgstr "Hacer zoom en la posición del ratón" msgid "" -"Zoom in towards the mouse pointer's position in the 3D view, rather than the " -"2D window center." +"Zoom in towards the mouse pointer's position in the 3D view, rather than the 2D window " +"center." msgstr "" +"Hacer zoom hacia la posición del puntero de ratón en la vista 3D, en vez del centro de la " +"ventana 2D." msgid "Show \"Tip of the day\" notification after start" -msgstr "" +msgstr "Mostrar la notificación \"Consejo del Día\" después de empezar" msgid "If enabled, useful hints are displayed at startup." -msgstr "" +msgstr "Si está activado, las sugerencias útiles serán mostradas al inicio." msgid "Show g-code window" -msgstr "" +msgstr "Mostrar la ventana de g-code" msgid "If enabled, g-code window will be displayed." -msgstr "" +msgstr "Si está activado, se mostrará la ventana de gcode." msgid "Presets" -msgstr "" +msgstr "Preajustes" msgid "Auto sync user presets(Printer/Filament/Process)" msgstr "" -"Sincronización automática de los preajustes del usuario (Impresora/Filamento/" -"Proceso)" +"Sincronización automática de los preajustes del usuario (Impresora/Filamento/Proceso)" msgid "User Sync" msgstr "Sincronización de usuario" msgid "Update built-in Presets automatically." -msgstr "" +msgstr "Actualizar preajustes integrados automaticamente." msgid "System Sync" -msgstr "" +msgstr "Sincronizar sistema" msgid "Clear my choice on the unsaved presets." -msgstr "" +msgstr "Limpiar mi selección de preajustes no guardados." msgid "Associate files to OrcaSlicer" -msgstr "Asociar archivos a BambuStudio" +msgstr "Asociar archivos a OrcaSlicer" msgid "Associate .3mf files to OrcaSlicer" -msgstr "Asociar archivos .3mf a BambuStudio" +msgstr "Asociar archivos .3mf a OrcaSlicer" msgid "If enabled, sets OrcaSlicer as default application to open .3mf files" -msgstr "" -"Si se activa, ajusta OrcaSlicer como aplicación por defecto para abrir " -"archivos .3mf" +msgstr "Si se activa, ajusta OrcaSlicer como aplicación por defecto para abrir archivos .3mf" msgid "Associate .stl files to OrcaSlicer" -msgstr "Asociar archivos .stl a BambuStudio" +msgstr "Asociar archivos .stl a OrcaSlicer" msgid "If enabled, sets OrcaSlicer as default application to open .stl files" -msgstr "" -"Si se activa, ajusta OrcaSlicer como aplicación por defecto para abrir " -"archivos .stl" +msgstr "Si se activa, ajusta OrcaSlicer como aplicación por defecto para abrir archivos .stl" msgid "Associate .step/.stp files to OrcaSlicer" -msgstr "Asociar archivos .step/.stp a BambuStudio" +msgstr "Asociar archivos .step/.stp a OrcaSlicer" msgid "If enabled, sets OrcaSlicer as default application to open .step files" msgstr "" -"Si se activa, ajusta OrcaSlicer como aplicación por defecto para abrir " -"archivos .step" +"Si se activa, ajusta OrcaSlicer como aplicación por defecto para abrir archivos .step" msgid "Maximum recent projects" -msgstr "" +msgstr "Proyectos recientes máximos" msgid "Maximum count of recent projects" -msgstr "" +msgstr "Máxima cantidad de proyectos recientes" msgid "Clear my choice on the unsaved projects." -msgstr "" +msgstr "Limpiar mi elección de proyectos no guardados." msgid "Auto-Backup" msgstr "Copia de seguridad automática" -msgid "" -"Backup your project periodically for restoring from the occasional crash." -msgstr "" +msgid "Backup your project periodically for restoring from the occasional crash." +msgstr "Haga copia de seguridad periodicamente para restaurar en caso de fallo ocasional." msgid "every" -msgstr "" +msgstr "todo" msgid "The peroid of backup in seconds." -msgstr "" +msgstr "El periodo de copia de seguridad en segundos." msgid "Downloads" -msgstr "" +msgstr "Descargas" msgid "Dark Mode" -msgstr "" +msgstr "Modo Oscuro" msgid "Enable Dark mode" -msgstr "" +msgstr "Activar Modo Oscuro" msgid "Home page and daily tips" msgstr "Página de inicio y consejos diarios" @@ -4696,7 +4747,7 @@ msgid "DEBUG settings have saved successfully!" msgstr "¡Los ajustes de depuración se han guardado con éxito!" msgid "Switch cloud environment, Please login again!" -msgstr "" +msgstr "¡Cambiado a entorno de nube, Por favor vuelva a autenticarse!" msgid "System presets" msgstr "Ajustes del sistema" @@ -4714,7 +4765,7 @@ msgid "Click to pick filament color" msgstr "Haga clic para elegir el color del filamento" msgid "Please choose the filament colour" -msgstr "" +msgstr "Por favor elija el color del filamento" msgid "Add/Remove presets" msgstr "Añadir/Quitar ajustes preestablecidos" @@ -4726,54 +4777,52 @@ msgid "Project-inside presets" msgstr "Preajustes internos del proyecto" msgid "Add/Remove filaments" -msgstr "" +msgstr "Añadir/Borrar filamentos" msgid "Add/Remove materials" -msgstr "" +msgstr "Añadir/Borrar materiales" msgid "Add/Remove printers" -msgstr "" +msgstr "Añadir/Borrar impresoras" msgid "Same as Global Print Sequence" -msgstr "" +msgstr "Lo mismo que la Secuencia Global de Impresión" msgid "Print sequence" msgstr "Secuencia de impresión" msgid "Plate name" -msgstr "" +msgstr "Nombre de cama" msgid "Same as Global Bed Type" -msgstr "" +msgstr "Lo mismo que el Tipo de Cama Global" msgid "Cool Plate" -msgstr "Placa fría" +msgstr "Cama fría" msgid "Engineering Plate" -msgstr "Placa de ingeniería" +msgstr "Cama de ingeniería" msgid "High Temp Plate" -msgstr "Placa de alta temperatura" +msgstr "Cama de alta temperatura" msgid "Textured PEI Plate" -msgstr "" +msgstr "Cama PEI texturizada" msgid "By Layer" -msgstr "" +msgstr "Por Capa" msgid "By Object" -msgstr "" +msgstr "Por Objeto" msgid "Accept" -msgstr "" +msgstr "Aceptar" msgid "Log Out" -msgstr "" +msgstr "Desconectarse" msgid "Slice all plate to obtain time and filament estimation" -msgstr "" -"Rebana todas las piezas para obtener una estimación del tiempo y del " -"filamento" +msgstr "Rebana todas las piezas para obtener una estimación del tiempo y del filamento" msgid "Packing project data into 3mf file" msgstr "Empaquetar los datos del proyecto en un archivo 3mf" @@ -4785,8 +4834,7 @@ msgid "Jump to model publish web page" msgstr "Ir a la página web de publicación de modelos" msgid "Note: The preparation may takes several minutes. Please be patiant." -msgstr "" -"Nota: La preparación puede llevar varios minutos. Por favor, sea paciente." +msgstr "Nota: La preparación puede llevar varios minutos. Por favor, sea paciente." msgid "Publish" msgstr "Publicar" @@ -4795,7 +4843,7 @@ msgid "Publish was cancelled" msgstr "La publicación fue cancelada" msgid "Slicing Plate 1" -msgstr "Placa de corte 1" +msgstr "Cama de corte 1" msgid "Packing data to 3mf" msgstr "Empaquetando datos a 3mf" @@ -4834,8 +4882,7 @@ msgstr "El preajuste \"%1%\" ya existe." #, boost-format msgid "Preset \"%1%\" already exists and is incompatible with current printer." -msgstr "" -"El preajuste \"%1%\" ya existe y es incompatible con la impresora actual." +msgstr "El preajuste \"%1%\" ya existe y es incompatible con la impresora actual." msgid "Please note that saving action will replace this preset" msgstr "Tenga en cuenta que la acción de guardar reemplazará este preajuste" @@ -4865,8 +4912,7 @@ msgstr "La impresora \"%1%\" está seleccionada con el preajuste \"%2%\"" #, boost-format msgid "Please choose an action with \"%1%\" preset after saving." -msgstr "" -"Por favor, elija una acción con \"%1%\" preestablecido después de guardar." +msgstr "Por favor, elija una acción con \"%1%\" preestablecido después de guardar." #, boost-format msgid "For \"%1%\", change \"%2%\" to \"%3%\" " @@ -4887,7 +4933,7 @@ msgid "Offline" msgstr "Fuera de línea" msgid "(LAN)" -msgstr "" +msgstr "(Red local)" msgid "My Device" msgstr "Mi dispositivo" @@ -4899,7 +4945,7 @@ msgid "Input access code" msgstr "Introducir el código de acceso" msgid "Can't find my devices?" -msgstr "" +msgstr "No puedo encontrar mis dispositivos?" msgid "Log out successful." msgstr "Cierre de sesión con éxito." @@ -4908,13 +4954,13 @@ msgid "Busy" msgstr "Ocupado" msgid "Bambu Cool Plate" -msgstr "Placa frío Bambu" +msgstr "Cama frío Bambu" msgid "Bamabu Engineering Plate" -msgstr "Placa de Ingenieria Bambu" +msgstr "Cama de Ingenieria Bambu" msgid "Bamabu High Temperature Plate" -msgstr "Placa de alta temperatura Bambu" +msgstr "Cama de alta temperatura Bambu" msgid "Send print job to" msgstr "Enviar el trabajo de impresión a" @@ -4941,104 +4987,110 @@ msgid "Synchronizing device information" msgstr "Sincronizando la información del dispositivo" msgid "Synchronizing device information time out" -msgstr "" -"Finalización del tiempo de sincronización de la información del dispositivo" +msgstr "Finalización del tiempo de sincronización de la información del dispositivo" msgid "Cannot send the print job when the printer is updating firmware" -msgstr "" +msgstr "No es posible enviar el trabajo cuando la impresora está actualizando el firmware" -msgid "" -"The printer is executing instructions. Please restart printing after it ends" +msgid "The printer is executing instructions. Please restart printing after it ends" msgstr "" -"La impresora está ejecutando instrucciones. Por favor, reinicie la impresión " -"cuando termine" +"La impresora está ejecutando instrucciones. Por favor, reinicie la impresión cuando termine" msgid "The printer is busy on other print job" -msgstr "La impresora está ocupada con otro trabajo de impresión." +msgstr "La impresora está ocupada con otro trabajo de impresión" #, c-format, boost-format msgid "" -"Filament %s exceeds the number of AMS slots. Please update the printer " -"firmware to support AMS slot assignment." +"Filament %s exceeds the number of AMS slots. Please update the printer firmware to support " +"AMS slot assignment." msgstr "" +"El %s del filamento excede el número de ranuras AMS. Por favor actualice el " +"firmwareimpresora para que soporte la asignación de ranuras AMS." msgid "" -"Filament exceeds the number of AMS slots. Please update the printer firmware " +"Filament exceeds the number of AMS slots. Please update the printer firmware to support " +"AMS slot assignment." +msgstr "" +"El %s del filamento excede el número de ranuras AMS. Por favor actualice el " +"firmwareimpresora para que soporte la asignación de ranuras AMS." + +msgid "" +"Filaments to AMS slots mappings have been established. You can click a filament above to " +"change its mapping AMS slot" +msgstr "" +"Se han establecido mapeos de filamentos a ranuras AMS. Puede hacer clic en un filamento de " +"arriba para cambiar su asignación de ranura AMS" + +msgid "" +"Please click each filament above to specify its mapping AMS slot before sending the print " +"job" +msgstr "" +"Por favor, haga clic en cada filamento de arriba para especificar su asignación de ranura " +"AMS antes de enviar el trabajo de impresión" + +#, c-format, boost-format +msgid "" +"Filament %s does not match the filament in AMS slot %s. Please update the printer firmware " "to support AMS slot assignment." msgstr "" +"El filamento %s no coincide con el filamento la ranura AMS %s. Por favor actualice el " +"firmware de la impresora para que soporte la asignación de ranuras AMS." msgid "" -"Filaments to AMS slots mappings have been established. You can click a " -"filament above to change its mapping AMS slot" +"Filament does not match the filament in AMS slot. Please update the printer firmware to " +"support AMS slot assignment." msgstr "" -"Se han establecido mapeos de filamentos a ranuras AMS. Puede hacer clic en " -"un filamento de arriba para cambiar su asignación de ranura AMS" +"El %s del filamento excede el número de ranuras AMS. Por favor actualice el " +"firmwareimpresora para que soporte la asignación de ranuras AMS." -msgid "" -"Please click each filament above to specify its mapping AMS slot before " -"sending the print job" -msgstr "" -"Por favor, haga clic en cada filamento de arriba para especificar su " -"asignación de ranura AMS antes de enviar el trabajo de impresión" - -#, c-format, boost-format -msgid "" -"Filament %s does not match the filament in AMS slot %s. Please update the " -"printer firmware to support AMS slot assignment." -msgstr "" - -msgid "" -"Filament does not match the filament in AMS slot. Please update the printer " -"firmware to support AMS slot assignment." -msgstr "" - -msgid "" -"The printer firmware only supports sequential mapping of filament => AMS " -"slot." +msgid "The printer firmware only supports sequential mapping of filament => AMS slot." msgstr "" +"El firmware de la impresora solo soporta el mapeo secuencial de filamento => ranura AMS." msgid "An SD card needs to be inserted before printing." -msgstr "" +msgstr "Es necesario introducir una tarjeta SD antes de imprimir." msgid "An SD card needs to be inserted to record timelapse." -msgstr "" +msgstr "Es necesario insertar una tarjeta SD para guardar el intervalo de tiempo." -msgid "" -"Cannot send the print job to a printer whose firmware is required to get " -"updated." +msgid "Cannot send the print job to a printer whose firmware is required to get updated." msgstr "" +"No es posible enviar el trabajo de impresión a una impresora la cual necesita una " +"actualización de firmware." msgid "Cannot send the print job for empty plate" -msgstr "" +msgstr "No es posible enviar el trabajo de impresión a una cama vacía" msgid "This printer does not support printing all plates" -msgstr "" +msgstr "Esta impresora no soporta la impresión en todas las camas" msgid "Errors" -msgstr "" +msgstr "Errores" msgid "Please check the following:" -msgstr "" +msgstr "Por favor compruebe lo siguiente:" msgid "" -"The printer type selected when generating G-Code is not consistent with the " -"currently selected printer. It is recommended that you use the same printer " -"type for slicing." +"The printer type selected when generating G-Code is not consistent with the currently " +"selected printer. It is recommended that you use the same printer type for slicing." msgstr "" +"El tipo de impresora seleccionado cuando se genera el G-Code no tiene consistencia con la " +"impresora seleccionada actualmente. Es recomendable que use el mismo tipo de impresora " +"para laminar." #, c-format, boost-format msgid "%s is not supported by AMS." -msgstr "" +msgstr "%s no está soportado por el AMS." msgid "" -"There are some unknown filaments in the AMS mappings. Please check whether " -"they are the required filaments. If they are okay, press \"Confirm\" to " -"start printing." +"There are some unknown filaments in the AMS mappings. Please check whether they are the " +"required filaments. If they are okay, press \"Confirm\" to start printing." msgstr "" +"Hay algunos filamentos desconocidos en los mapeados AMS. Por favor, compruebe si son los " +"filamentos requeriso. Si lo son, presione \"Confirmar\" para empezar a imprimir." -msgid "" -"Please click the confirm button if you still want to proceed with printing." -msgstr "" +msgid "Please click the confirm button if you still want to proceed with printing." +msgstr "Por favor, presione el botón de confirmar si aún quieres proceder con la impresión." msgid "Preparing print job" msgstr "Preparando el trabajo de impresión" @@ -5047,21 +5099,20 @@ msgid "Modifying the device name" msgstr "Modificar el nombre del dispositivo" msgid "Send to Printer SD card" -msgstr "" +msgstr "Enviar a la tarjeta SD de la impresora" msgid "Cannot send the print task when the upgrade is in progress" -msgstr "" -"No se puede enviar la tarea de impresión cuando la actualización está en " -"curso" +msgstr "No se puede enviar la tarea de impresión cuando la actualización está en curso" msgid "An SD card needs to be inserted before send to printer SD card." msgstr "" +"Es necesario insertar una tarjeta SD antes de enviar a la tarjeta SD de la impresora." msgid "The printer is required to be in the same LAN as Orca Slicer." -msgstr "" +msgstr "Es necesaria que la impresora esté en la misma red local que Orca Slicer." msgid "The printer does not support sending to printer SD card." -msgstr "" +msgstr "La impresora no soporta el envio directo a la tarjeta SD." msgid "Log in printer" msgstr "Iniciar sesión en la impresora" @@ -5082,9 +5133,7 @@ msgid "Please log in first." msgstr "Por favor, identifíquese primero." msgid "There was a problem connecting to the printer. Please try again." -msgstr "" -"Ha habido un problema de conexión con la impresora. Por favor, inténtelo de " -"nuevo." +msgstr "Ha habido un problema de conexión con la impresora. Por favor, inténtelo de nuevo." msgid "Failed to log out." msgstr "No se ha podido cerrar la sesión." @@ -5098,52 +5147,73 @@ msgid "Delete this preset" msgstr "Borra este ajuste" msgid "Search in preset" -msgstr "" +msgstr "Buscar en los ajustes por defecto" msgid "Click to reset all settings to the last saved preset." -msgstr "" +msgstr "Presionar para reiniciar todos los ajustes a los últimos ajustes por defecto." msgid "" -"Prime tower is required for smooth timeplase. There may be flaws on the " -"model without prime tower. Are you sure you want to disable prime tower?" +"Prime tower is required for smooth timeplase. There may be flaws on the model without " +"prime tower. Are you sure you want to disable prime tower?" msgstr "" +"Se requiere la torre de purga para un intervalo suave. Puede haber defectos modelos sin " +"torre de purga.¿Está seguro de que quiere deshabilitar la torre principal?" msgid "" -"Prime tower is required for smooth timelapse. There may be flaws on the " -"model without prime tower. Do you want to enable prime tower?" +"Prime tower is required for smooth timelapse. There may be flaws on the model without " +"prime tower. Do you want to enable prime tower?" msgstr "" +"La torre primaria es necesaria para que el timelapse sea fluido. Puede haber defectos en " +"el modelo sin torre primaria. ¿Desea activar la torre primaria?" msgid "" -"We have added an experimental style \"Tree Slim\" that features smaller " -"support volume but weaker strength.\n" +"We have added an experimental style \"Tree Slim\" that features smaller support volume but " +"weaker strength.\n" "We recommend using it with: 0 interface layers, 0 top distance, 2 walls." msgstr "" +"Hemos añadido al estilo esperimental \"Árboles Delgados\" que presenta volumenes de " +"soportemás pequeños con menos fuerza.\n" +"Recomendamos usarlo con: 0 capas de interfaz, 0 distancia superior, 2 paredes." msgid "" "Change these settings automatically? \n" "Yes - Change these settings automatically\n" "No - Do not change these settings for me" msgstr "" +"Cambiar estos ajustes automaticamente? \n" +"Sí - Cambiar estos ajustes automaticamente\n" +"No - No cambiar estos ajustes" msgid "" -"For \"Tree Strong\" and \"Tree Hybrid\" styles, we recommend the following " -"settings: at least 2 interface layers, at least 0.1mm top z distance or " -"using support materials on interface." +"For \"Tree Strong\" and \"Tree Hybrid\" styles, we recommend the following settings: at " +"least 2 interface layers, at least 0.1mm top z distance or using support materials on " +"interface." msgstr "" +"Para \"Árboles fuertes\" y \"Árboles Híbridos\", recomendamos lo siguiente ajustes: al " +"menos 2 capas de interfaz, al menos 0.1mm de distancia superior en z o usar materiales de " +"soporte en la interfaz." msgid "" -"When using support material for the support interface, We recommend the " -"following settings:\n" -"0 top z distance, 0 interface spacing, concentric pattern and disable " -"independent support layer height" +"When using support material for the support interface, We recommend the following " +"settings:\n" +"0 top z distance, 0 interface spacing, concentric pattern and disable independent support " +"layer height" msgstr "" +"Cuando se use material de soporte para las interfaces de soporte, recomendamos los " +"siguientes ajustes:\n" +"distancia z0, espaciado de interfaz 0, patrón concéntrico y desactivar altura de soporte " +"independiente de altura de capa" msgid "" -"When recording timelapse without toolhead, it is recommended to add a " -"\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"When recording timelapse without toolhead, it is recommended to add a \"Timelapse Wipe " +"Tower\" \n" +"by right-click the empty position of build plate and choose \"Add Primitive\"->\"Timelapse " +"Wipe Tower\"." msgstr "" +"Cuando grabamos intervalos de tiempo sin cabezal de impresión, es recomendable añadir un " +"\"Torre de Purga de Intervalo\" \n" +"presionando con el botón derecho la posición vacía de la cama de construcción y elegir " +"\"Añadir Primitivo\"->\"Intervalo de Torre de Purga\"." msgid "Line width" msgstr "Ancho de línea" @@ -5155,7 +5225,7 @@ msgid "Precision" msgstr "Precisión" msgid "Wall generator" -msgstr "" +msgstr "Generador de paredes" msgid "Walls" msgstr "Paredes" @@ -5173,14 +5243,13 @@ msgid "Overhang speed" msgstr "Velocidad del voladizo" msgid "" -"This is the speed for various overhang degrees. Overhang degrees are " -"expressed as a percentage of line width. 0 speed means no slowing down for " -"the overhang degree range and wall speed is used" +"This is the speed for various overhang degrees. Overhang degrees are expressed as a " +"percentage of line width. 0 speed means no slowing down for the overhang degree range and " +"wall speed is used" msgstr "" -"Esta es la velocidad para varios grados de voladizo. Los grados de voladizo " -"se expresan como un porcentaje del ancho de la línea. La velocidad 0 " -"significa que no hay ralentización para el rango de grados de voladizo y se " -"utiliza la velocidad de la pared" +"Esta es la velocidad para varios grados de voladizo. Los grados de voladizo se expresan " +"como un porcentaje del ancho de la línea. La velocidad 0 significa que no hay " +"ralentización para el rango de grados de voladizo y se utiliza la velocidad de la pared" msgid "Travel speed" msgstr "Velocidad de desplazamiento" @@ -5189,28 +5258,25 @@ msgid "Acceleration" msgstr "Aceleración" msgid "Jerk(XY)" -msgstr "" +msgstr "Jerk(XY)" msgid "Raft" -msgstr "" +msgstr "Base de impresión" msgid "Support filament" msgstr "Filamento de soporte" msgid "Prime tower" -msgstr "Torre Principal" +msgstr "Torre de Purga" msgid "Special mode" msgstr "Modo especial" msgid "G-code output" -msgstr "" +msgstr "G-code de salida" msgid "Post-processing Scripts" -msgstr "" - -msgid "Post-processing scripts" -msgstr "" +msgstr "Script de Post-procesado" msgid "Frequent" msgstr "Frecuente" @@ -5218,20 +5284,18 @@ msgstr "Frecuente" #, c-format, boost-format msgid "" "Following line %s contains reserved keywords.\n" -"Please remove it, or will beat G-code visualization and printing time " -"estimation." +"Please remove it, or will beat G-code visualization and printing time estimation." msgid_plural "" "Following lines %s contain reserved keywords.\n" -"Please remove them, or will beat G-code visualization and printing time " -"estimation." +"Please remove them, or will beat G-code visualization and printing time estimation." msgstr[0] "" "La siguiente línea %s contiene palabras clave reservadas.\n" -"Por favor, elimínela, o vencerá la visualización del código G y la " -"estimación del tiempo de impresión." +"Por favor, elimínela, o vencerá la visualización del código G y la estimación del tiempo " +"de impresión." msgstr[1] "" "Las siguientes líneas %s contienen palabras clave reservadas.\n" -"Por favor, elimínelas, o vencerá la visualización del código G y la " -"estimación del tiempo de impresión." +"Por favor, elimínelas, o vencerá la visualización del código G y la estimación del tiempo " +"de impresión." msgid "Reserved keywords found" msgstr "Palabras clave utilizadas y encontradas" @@ -5250,8 +5314,8 @@ msgstr "Temperatura recomendada de la boquilla" msgid "Recommended nozzle temperature range of this filament. 0 means no set" msgstr "" -"Rango de temperatura de boquilla recomendado para este filamento. 0 " -"significa que no se ajusta" +"Rango de temperatura de boquilla recomendado para este filamento. 0 significa que no se " +"ajusta" msgid "Recommended temperature range" msgstr "Rango de temperatura recomendado" @@ -5260,7 +5324,7 @@ msgid "Print temperature" msgstr "Temperatura de impresión" msgid "Chamber temperature" -msgstr "" +msgstr "Temperatura de cámara" msgid "Nozzle" msgstr "Boquilla" @@ -5269,39 +5333,38 @@ msgid "Nozzle temperature when printing" msgstr "Temperatura de la boquilla al imprimir" msgid "Cool plate" -msgstr "Placa fría" +msgstr "Cama fría" msgid "" -"Bed temperature when cool plate is installed. Value 0 means the filament " -"does not support to print on the Cool Plate" +"Bed temperature when cool plate is installed. Value 0 means the filament does not support " +"to print on the Cool Plate" msgstr "" -"Esta es la temperatura de la cama cuando la placa fría está instalada. Un " -"valor de 0 significa que el filamento no admite la impresión en la placa " -"fría." +"Esta es la temperatura de la cama cuando la cama fría está instalada. Un valor de 0 " +"significa que el filamento no admite la impresión en la cama fría" msgid "Engineering plate" -msgstr "Placa de ingeniería" +msgstr "Cama de ingeniería" msgid "" -"Bed temperature when engineering plate is installed. Value 0 means the " -"filament does not support to print on the Engineering Plate" +"Bed temperature when engineering plate is installed. Value 0 means the filament does not " +"support to print on the Engineering Plate" msgstr "" -"Esta es la temperatura de la cama cuando la placa de ingeniería está " -"instalada. Un valor de 0 significa que el filamento no admite la impresión " -"en la placa de ingeniería." +"Esta es la temperatura de la cama cuando la cama de ingeniería está instalada. Un valor de " +"0 significa que el filamento no admite la impresión en la cama de ingeniería" msgid "" -"Bed temperature when high temperature plate is installed. Value 0 means the " -"filament does not support to print on the High Temp Plate" +"Bed temperature when high temperature plate is installed. Value 0 means the filament does " +"not support to print on the High Temp Plate" msgstr "" -"Esta es la temperatura de la cama cuando la placa de alta temperatura está " -"instalada. Un valor de 0 significa que el filamento no admite la impresión " -"en la placa de alta temperatura." +"Esta es la temperatura de la cama cuando la cama de alta temperatura está instalada. Un " +"valor de 0 significa que el filamento no admite la impresión en la cama de alta temperatura" msgid "" -"Bed temperature when Textured PEI Plate is installed. Value 0 means the " -"filament does not support to print on the Textured PEI Plate" +"Bed temperature when Textured PEI Plate is installed. Value 0 means the filament does not " +"support to print on the Textured PEI Plate" msgstr "" +"Temperatura del lecho cuando la cama PEI texturizada está instalada. El valor 0 significa " +"que el filamento no es compatible para imprimir en la cama PEI texturizada" msgid "Volumetric speed limitation" msgstr "Limitación de la velocidad volumétrica" @@ -5319,27 +5382,26 @@ msgid "Min fan speed threshold" msgstr "Umbral de velocidad mínima del ventilador" msgid "" -"Part cooling fan speed will start to run at min speed when the estimated " -"layer time is no longer than the layer time in setting. When layer time is " -"shorter than threshold, fan speed is interpolated between the minimum and " -"maximum fan speed according to layer printing time" +"Part cooling fan speed will start to run at min speed when the estimated layer time is no " +"longer than the layer time in setting. When layer time is shorter than threshold, fan " +"speed is interpolated between the minimum and maximum fan speed according to layer " +"printing time" msgstr "" -"La velocidad del ventilador de refrigeración de la pieza comenzará a " -"funcionar a la velocidad mínima cuando el tiempo estimado de la capa no sea " -"superior al tiempo de la capa ajustado. Cuando el tiempo de la capa es " -"inferior al umbral, la velocidad del ventilador se interpola entre la " -"velocidad mínima y máxima del ventilador según el tiempo de impresión de la " -"capa." +"La velocidad del ventilador de refrigeración de la pieza comenzará a funcionar a la " +"velocidad mínima cuando el tiempo estimado de la capa no sea superior al tiempo de la capa " +"ajustado. Cuando el tiempo de la capa es inferior al umbral, la velocidad del ventilador " +"se interpola entre la velocidad mínima y máxima del ventilador según el tiempo de " +"impresión de la capa" msgid "Max fan speed threshold" msgstr "Umbral de velocidad máxima del ventilador" msgid "" -"Part cooling fan speed will be max when the estimated layer time is shorter " -"than the setting value" +"Part cooling fan speed will be max when the estimated layer time is shorter than the " +"setting value" msgstr "" -"La velocidad del ventilador de la pieza será máxima cuando el tiempo de capa " -"estimado sea inferior al valor ajustado" +"La velocidad del ventilador de la pieza será máxima cuando el tiempo de capa estimado sea " +"inferior al valor ajustado" msgid "Auxiliary part cooling fan" msgstr "Ventilador de la parte auxiliar" @@ -5348,13 +5410,19 @@ msgid "Filament start G-code" msgstr "Código G de inicio de filamento" msgid "Filament end G-code" -msgstr "Final del Código G de filamento " +msgstr "Final del Código G de filamento" msgid "Printable space" msgstr "Espacio imprimible" +msgid "Cooling Fan" +msgstr "Ventilador de enfriamento" + +msgid "Fan speed-up time" +msgstr "Tiempo de aumento de velocidad del ventilador" + msgid "Extruder Clearance" -msgstr "" +msgstr "Margen del extrusor" msgid "Accessory" msgstr "Accesorio" @@ -5381,7 +5449,7 @@ msgid "Pause G-code" msgstr "Código G de pausa" msgid "Template Custom G-code" -msgstr "" +msgstr "Plantilla de G-code personalizada" msgid "Motion ability" msgstr "Capacidad de movimiento" @@ -5409,16 +5477,19 @@ msgid "" "\n" "Shall I disable it in order to enable Firmware Retraction?" msgstr "" +"La opción Wipe no está disponible cuando se utiliza el modo Retracción de Firmware.\n" +"\n" +"Debo desactivarla para activar la retracción de firmware?" msgid "Firmware Retraction" -msgstr "" +msgstr "Retracción de firmware" msgid "Detached" msgstr "Separado" msgid "Following preset will be deleted too." msgid_plural "Following presets will be deleted too." -msgstr[0] "Los siguientes preajustes también se eliminarán" +msgstr[0] "El siguiente preajuste también se eliminará." msgstr[1] "Los siguientes preajustes también se eliminarán." #, boost-format @@ -5437,12 +5508,10 @@ msgid "Set" msgstr "Ajuste" msgid "Click to reset current value and attach to the global value." -msgstr "" -"Haga clic para restablecer el valor actual y adjuntarlo al valor global." +msgstr "Haga clic para restablecer el valor actual y adjuntarlo al valor global." msgid "Click to drop current modify and reset to saved value." -msgstr "" -"Haga clic para dejar la modificación actual y restablecer el valor guardado." +msgstr "Haga clic para dejar la modificación actual y restablecer el valor guardado." msgid "Process Settings" msgstr "Ajustes del proceso" @@ -5487,8 +5556,7 @@ msgid "Keep the selected options." msgstr "Mantener las opciones seleccionadas." msgid "Transfer the selected options to the newly selected preset." -msgstr "" -"Transfiere las opciones seleccionadas a la nueva preselección seleccionada." +msgstr "Transfiere las opciones seleccionadas a la nueva preselección seleccionada." #, boost-format msgid "" @@ -5512,32 +5580,36 @@ msgstr "La preselección \"%1%\" contiene los siguientes cambios no guardados:" #, boost-format msgid "" -"Preset \"%1%\" is not compatible with the new printer profile and it " -"contains the following unsaved changes:" +"Preset \"%1%\" is not compatible with the new printer profile and it contains the " +"following unsaved changes:" msgstr "" -"El preajuste \"%1%\" no es compatible con el nuevo perfil de la impresora y " -"contiene los siguientes cambios no guardados:" +"El preajuste \"%1%\" no es compatible con el nuevo perfil de la impresora y contiene los " +"siguientes cambios no guardados:" #, boost-format msgid "" -"Preset \"%1%\" is not compatible with the new process profile and it " -"contains the following unsaved changes:" +"Preset \"%1%\" is not compatible with the new process profile and it contains the " +"following unsaved changes:" msgstr "" -"El preajuste \"%1%\" no es compatible con el nuevo perfil de proceso y " -"contiene los siguientes cambios no guardados:" +"El preajuste \"%1%\" no es compatible con el nuevo perfil de proceso y contiene los " +"siguientes cambios no guardados:" #, boost-format msgid "" "You have changed some settings of preset \"%1%\". \n" -"Would you like to keep these changed settings (new value) after switching " -"preset?" +"Would you like to keep these changed settings (new value) after switching preset?" msgstr "" +"Has modificado algunos ajustes del perfil \"%1%\". \n" +"¿Deseas mantener estas modificaciones en los ajustes (nuevo valor) después de cambiar de " +"perfil?" msgid "" "You have changed some preset settings. \n" -"Would you like to keep these changed settings (new value) after switching " -"preset?" +"Would you like to keep these changed settings (new value) after switching preset?" msgstr "" +"Has cambiado algunos ajustes de perfil. \n" +"¿Deseas mantener estas modificaciones en los ajustes (nuevo valor) después de cambiar de " +"perfil?" msgid "Extruders count" msgstr "Contador de extrusores" @@ -5549,13 +5621,13 @@ msgid "Capabilities" msgstr "Capacidades" msgid "Select presets to compare" -msgstr "" +msgstr "Seleccionar perfiles para comparar" msgid "Show all presets (including incompatible)" -msgstr "" +msgstr "Mostrar todos los perfiles (incluyendo los compatibles)" msgid "Add File" -msgstr "" +msgstr "Añadir archivo" msgid "Set as cover" msgstr "Ajustar como cubierta" @@ -5580,7 +5652,7 @@ msgid "Assembly Guide" msgstr "Guía de montaje" msgid "Author" -msgstr "" +msgstr "Autor" msgid "Model Name" msgstr "Nombre del modelo" @@ -5638,18 +5710,18 @@ msgid "Flushing volumes for filament change" msgstr "Volúmenes de limpieza para el cambio de filamentos" msgid "Multiplier" -msgstr "" +msgstr "Multiplicador" msgid "Flushing volume (mm³) for each filament pair." msgstr "Volumen de limpieza (mm³) para cada par de filamentos." #, c-format, boost-format msgid "Suggestion: Flushing Volume in range [%d, %d]" -msgstr "" +msgstr "Sugerencias: Volumen de Flujo en rango [%d, %d]" #, c-format, boost-format msgid "The multiplier should be in range [%.2f, %.2f]." -msgstr "" +msgstr "El multiplicador debería estar en el rango [%.2f, %.2f]." msgid "unloaded" msgstr "descargado" @@ -5670,8 +5742,7 @@ msgid "Login" msgstr "Inicio de sesión" msgid "The configuration package is changed in previous Config Guide" -msgstr "" -"El paquete de configuración se cambia en la Guía de configuración anterior" +msgstr "El paquete de configuración se cambia en la Guía de configuración anterior" msgid "Configuration package changed" msgstr "Paquete de configuración cambiado" @@ -5683,7 +5754,7 @@ msgid "Objects list" msgstr "Lista de objetos" msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "" +msgstr "Importar datos de geometría de los archivos STL/STEP/3MF/OBJ/AMF" msgid "⌘+Shift+G" msgstr "" @@ -5698,7 +5769,7 @@ msgid "Paste from clipboard" msgstr "Pegar desde el portapapeles" msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "" +msgstr "Mostrar/Ocultar el diálogo de ajustes de los dispositivos 3Dconnexion" msgid "Show keyboard shortcuts list" msgstr "Muestra lista de atajos de teclado" @@ -5707,16 +5778,16 @@ msgid "Global shortcuts" msgstr "Atajos globales" msgid "Rotate View" -msgstr "" +msgstr "Rotar Vista" msgid "Pan View" -msgstr "" +msgstr "Vista Panorámica" msgid "Mouse wheel" -msgstr "" +msgstr "Rueda de ratón" msgid "Zoom View" -msgstr "" +msgstr "Vista de Zoom" msgid "Shift+A" msgstr "" @@ -5725,13 +5796,12 @@ msgid "Shift+R" msgstr "" msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." +"Auto orientates selected objects or all objects.If there are selected objects, it just " +"orientates the selected ones.Otherwise, it will orientates all objects in the current disk." msgstr "" -"Orienta automáticamente los objetos seleccionados o todos los objetos.Si hay " -"objetos seleccionados, sólo orienta los seleccionados.En caso contrario, " -"orientará todos los objetos del disco actual." +"Orienta automáticamente los objetos seleccionados o todos los objetos.Si hay objetos " +"seleccionados, sólo orienta los seleccionados.En caso contrario, orientará todos los " +"objetos del disco actual." msgid "Shift+Tab" msgstr "" @@ -5746,13 +5816,13 @@ msgid "Movement in camera space" msgstr "Movimiento en el espacio de la cámara" msgid "⌥+Left mouse button" -msgstr "" +msgstr "Botón de ratón ⌥+Left" msgid "Select a part" -msgstr "" +msgstr "Seleccionar una parte" msgid "⌘+Left mouse button" -msgstr "" +msgstr "⌘+botón izquierdo de ratón" msgid "Select multiple objects" msgstr "Seleccionar varios objetos" @@ -5761,13 +5831,13 @@ msgid "Ctrl+Any arrow" msgstr "Ctrl+Cualquier flecha" msgid "Alt+Left mouse button" -msgstr "" +msgstr "Alt+Botón izquierdo de ratón" msgid "Ctrl+Left mouse button" -msgstr "" +msgstr "Ctrl+Botón izquierdo de ratón" msgid "Shift+Left mouse button" -msgstr "" +msgstr "Shift+Left+Botón izquierdo de ratón" msgid "Select objects by rectangle" msgstr "Seleccionar objetos por rectángulo" @@ -5833,28 +5903,28 @@ msgid "Select all objects" msgstr "Seleccionar todos los objetos" msgid "Gizmo move" -msgstr "" +msgstr "Movimiento Gizmo" msgid "Gizmo scale" -msgstr "" +msgstr "Escala Gizmo" msgid "Gizmo rotate" -msgstr "" +msgstr "Rotación Gizmo" msgid "Gizmo cut" -msgstr "" +msgstr "Corte Gizmo" msgid "Gizmo Place face on bed" -msgstr "" +msgstr "Situar cara en cama en modo Gizmo" msgid "Gizmo SLA support points" -msgstr "" +msgstr "Puntos de soporte SLA Gizmo" msgid "Gizmo FDM paint-on seam" -msgstr "" +msgstr "Costura de pintura Gizmo FDM" msgid "Swtich between Prepare/Prewview" -msgstr "" +msgstr "Cambiar entre Preparar/Previsualizar" msgid "Plater" msgstr "Plataforma" @@ -5869,7 +5939,7 @@ msgid "Support/Color Painting: adjust pen radius" msgstr "Soporte/Pintado en color: ajuste del radio de la pluma" msgid "⌥+Mouse wheel" -msgstr "" +msgstr "⌥+Rueda del ratón" msgid "Support/Color Painting: adjust section position" msgstr "Soporte/Pintado de color: ajuste de la posición de la sección" @@ -5893,16 +5963,13 @@ msgid "Space" msgstr "Espacio" msgid "Select the object/part and press space to change the name" -msgstr "" -"Seleccione el objeto/parte y pulse la barra espaciadora para cambiar el " -"nombre" +msgstr "Seleccione el objeto/parte y pulse la barra espaciadora para cambiar el nombre" msgid "Mouse click" msgstr "Clic del ratón" msgid "Select the object/part and mouse click to change the name" -msgstr "" -"Seleccione el objeto/pieza y haga clic con el ratón para cambiar el nombre" +msgstr "Seleccione el objeto/pieza y haga clic con el ratón para cambiar el nombre" msgid "Objects List" msgstr "Lista de Objetos" @@ -5914,125 +5981,133 @@ msgid "Vertical slider - Move active thumb Down" msgstr "Control deslizante vertical - Mover el pulgar activo hacia Abajo" msgid "Horizontal slider - Move active thumb Left" -msgstr "" -"Control deslizante horizontal - Mover el pulgar activo hacia la Izquierda" +msgstr "Control deslizante horizontal - Mover el pulgar activo hacia la Izquierda" msgid "Horizontal slider - Move active thumb Right" -msgstr "" -"Control deslizante horizontal - Mover el pulgar activo hacia la Derecha" +msgstr "Control deslizante horizontal - Mover el pulgar activo hacia la Derecha" msgid "On/Off one layer mode of the vertical slider" msgstr "Activar/Desactivar el modo de una capa del control deslizante vertical" msgid "On/Off g-code window" -msgstr "" +msgstr "Activar/Desactivar ventana de g-code" msgid "Move slider 5x faster" msgstr "Mover el deslizador 5 veces más rápido" msgid "Shift+Mouse wheel" -msgstr "" +msgstr "Shit+Rueda de ratón" msgid "Release Note" -msgstr "" +msgstr "Notas de lanzamiento" #, c-format, boost-format msgid "version %s update information :" -msgstr "" +msgstr "información de actualización de la versión %s:" msgid "Network plug-in update" -msgstr "" +msgstr "Actualizar plug-in de red" -msgid "" -"Click OK to update the Network plug-in when Orca Slicer launches next time." +msgid "Click OK to update the Network plug-in when Orca Slicer launches next time." msgstr "" +"Click en Aceptar para actualizar el plug-in de red cuando Orca Slicer vuelva a iniciarse." #, c-format, boost-format msgid "A new Network plug-in(%s) available, Do you want to install it?" -msgstr "" +msgstr "Un nuevo plug-in de red(%s) está disponible. ¿Desea instalarlo?" msgid "New version of Orca Slicer" msgstr "Nueva versión de Orca Slicer" msgid "Don't remind me of this version again" -msgstr "" +msgstr "No volver a recordarme está versión otra vez" msgid "Done" -msgstr "" +msgstr "Hecho" msgid "LAN Connection Failed (Sending print file)" +msgstr "Conexión de red fallida (Mandando archivo de impresión)" + +msgid "Step 1, please confirm Orca Slicer and your printer are in the same LAN." msgstr "" +"Paso 1, por favor confirmar que Orca Slicer y tu impresora se encuentran en la misma red " +"local." msgid "" -"Step 1, please confirm Orca Slicer and your printer are in the same LAN." -msgstr "" - -msgid "" -"Step 2, if the IP and Access Code below are different from the actual values " -"on your printer, please correct them." +"Step 2, if the IP and Access Code below are different from the actual values on your " +"printer, please correct them." msgstr "" +"Paso 2, si la IP y el Código de Acceso de abajo son diferentes de los valores actuales en " +"su impresora, por favor, corríjalos." msgid "IP" msgstr "" msgid "Access Code" -msgstr "" +msgstr "Código de Acceso" msgid "Where to find your printer's IP and Access Code?" -msgstr "" +msgstr "¿Dónde encontrar la IP de su impresora y el Código de Acceso?" msgid "Error: IP or Access Code are not correct" -msgstr "" +msgstr "Error: la IP o el Código de Acceso no son correctos" msgid "Model:" -msgstr "" +msgstr "Modelo:" msgid "Serial:" -msgstr "" +msgstr "Número de serie:" msgid "Version:" -msgstr "" +msgstr "Versión:" msgid "Update firmware" -msgstr "" +msgstr "Actualizar firmware" msgid "Printing" -msgstr "" +msgstr "Imprimendo" msgid "Idle" -msgstr "" +msgstr "Inactivo" msgid "Latest version" -msgstr "" +msgstr "Última versión" msgid "Updating" -msgstr "" +msgstr "Actualizando" msgid "Updating failed" -msgstr "" +msgstr "Fallo Actualizando" msgid "Updating successful" -msgstr "" +msgstr "Actualización exitosa" msgid "" -"Are you sure you want to update? This will take about 10 minutes. Do not " -"turn off the power while the printer is updating." +"Are you sure you want to update? This will take about 10 minutes. Do not turn off the " +"power while the printer is updating." msgstr "" +"¿Estás seguro que deseas actualizar? Esto puede llevar sobre 10 minutos. No apague " +"mientras la impresora está actualizando." msgid "" -"An important update was detected and needs to be run before printing can " -"continue. Do you want to update now? You can also update later from 'Upgrade " -"firmware'." +"An important update was detected and needs to be run before printing can continue. Do you " +"want to update now? You can also update later from 'Upgrade firmware'." msgstr "" +"Una actualización importante fue detectada y necesita ejecutarse antes de que la impresión " +"pueda continuar. ¿Quiere actualizar ahora? Puede actualizar después desde \"Actualizar " +"fimware\"." msgid "" -"The firmware version is abnormal. Repairing and updating are required before " -"printing. Do you want to update now? You can also update later on printer or " -"update next time starting the studio." +"The firmware version is abnormal. Repairing and updating are required before printing. Do " +"you want to update now? You can also update later on printer or update next time starting " +"the studio." msgstr "" +"La versión de firmware es anormal. Es necesario reparar y actualizar antes de imprimir. " +"¿Quieres actualizar ahora? Puedes actualizar al iniciar en el siguiente arranque de la " +"impresora o cuando arranque Orca Slicer." msgid "Extension Board" -msgstr "" +msgstr "Cama de ampliación" msgid "Saving objects into the 3mf failed." msgstr "El guardado de objetos en el 3mf no ha funcionado." @@ -6088,8 +6163,7 @@ msgstr "La copia del archivo %1% a %2% falló: %3%" msgid "Need to check the unsaved changes before configuration updates." msgstr "" -"Es necesario comprobar los cambios no guardados antes de actualizar la " -"configuración." +"Es necesario comprobar los cambios no guardados antes de actualizar la configuración." msgid "Configuration package updated to " msgstr "Paquete de configuración actualizado a " @@ -6098,11 +6172,11 @@ msgid "Open G-code file:" msgstr "Abrir archivo código G:" msgid "" -"One object has empty initial layer and can't be printed. Please Cut the " -"bottom or enable supports." +"One object has empty initial layer and can't be printed. Please Cut the bottom or enable " +"supports." msgstr "" -"Un objeto tiene la capa inicial vacía y no se puede imprimir. Por favor, " -"corte el fondo o habilite los soportes." +"Un objeto tiene la capa inicial vacía y no se puede imprimir. Por favor, corte el fondo o " +"habilite los soportes." #, boost-format msgid "Object can't be printed for empty layer between %1% and %2%." @@ -6112,12 +6186,10 @@ msgstr "No se puede imprimir el objeto para la capa vacía entre %1% y %2%." msgid "Object: %1%" msgstr "Objeto: %1%" -msgid "" -"Maybe parts of the object at these height are too thin, or the object has " -"faulty mesh" +msgid "Maybe parts of the object at these height are too thin, or the object has faulty mesh" msgstr "" -"Tal vez las partes del objeto a esa altura son demasiado finas, o el objeto " -"tiene una malla defectuosa" +"Tal vez las partes del objeto a esa altura son demasiado finas, o el objeto tiene una " +"malla defectuosa" msgid "No object can be printed. Maybe too small" msgstr "No se puede imprimir ningún objeto. Tal vez sea demasiado pequeño" @@ -6126,14 +6198,13 @@ msgid "" "Failed to generate gcode for invalid custom G-code.\n" "\n" msgstr "" -"Ha fallado la generación del código G por un código G personalizado no " -"válido.\n" +"Ha fallado la generación del código G por un código G personalizado no válido.\n" "\n" msgid "Please check the custom G-code or use the default custom G-code." msgstr "" -"Por favor, compruebe el código G personalizado o utilice el código G " -"personalizado por defecto." +"Por favor, compruebe el código G personalizado o utilice el código G personalizado por " +"defecto." #, boost-format msgid "Generating G-code: layer %1%" @@ -6178,8 +6249,7 @@ msgstr "Múltiple" #, boost-format msgid "Failed to calculate line width of %1%. Can not get value of \"%2%\" " msgstr "" -"Ha fallado el cálculo del ancho de línea de %1%. No se puede obtener el " -"valor de \"%2%\". " +"Ha fallado el cálculo del ancho de línea de %1%. No se puede obtener el valor de \"%2%\". " msgid "undefined error" msgstr "error no definido" @@ -6272,12 +6342,12 @@ msgid "validation failed" msgstr "validación fallida" msgid "write callback failed" -msgstr "La llamada de recuperación de la escritura ha fallado" +msgstr "la llamada de recuperación de la escritura ha fallado" #, boost-format -msgid "" -"%1% is too close to exclusion area, there may be collisions when printing." +msgid "%1% is too close to exclusion area, there may be collisions when printing." msgstr "" +"%1% está muy cerca del área de exclusión, puede conllevar colisiones cuando se imprime." #, boost-format msgid "%1% is too close to others, and collisions may be caused." @@ -6288,90 +6358,76 @@ msgid "%1% is too tall, and collisions will be caused." msgstr "%1% es demasiado alto, y se producirán colisiones." msgid " is too close to others, there may be collisions when printing." -msgstr "" +msgstr " está muy cerca de otros, puede conllevar colisiones cuando se imprime." msgid " is too close to exclusion area, there may be collisions when printing." -msgstr "" +msgstr " está muy cerca del área de exclusión, puede conllevar colisiones cuando se imprime." msgid "Prime Tower" -msgstr "Torre principal" +msgstr "Torre de Purga" msgid " is too close to others, and collisions may be caused.\n" -msgstr "está demasiado cerca de otros, y se pueden producir colisiones.\n" +msgstr " está demasiado cerca de otros, y se pueden producir colisiones.\n" msgid " is too close to exclusion area, and collisions will be caused.\n" -msgstr "" -" está demasiado cerca del área de exclusión, y se producirán colisiones.\n" +msgstr " está demasiado cerca del área de exclusión, y se producirán colisiones.\n" msgid "" -"Can not print multiple filaments which have large difference of temperature " -"together. Otherwise, the extruder and nozzle may be blocked or damaged " -"during printing" +"Can not print multiple filaments which have large difference of temperature together. " +"Otherwise, the extruder and nozzle may be blocked or damaged during printing" msgstr "" -"No se pueden imprimir juntos varios filamentos que tengan una gran " -"diferencia de temperatura. De lo contrario, el extrusor y la boquilla pueden " -"bloquearse o dañarse durante la impresión" +"No se pueden imprimir juntos varios filamentos que tengan una gran diferencia de " +"temperatura. De lo contrario, el extrusor y la boquilla pueden bloquearse o dañarse " +"durante la impresión" msgid "No extrusions under current settings." msgstr "No hay extrusiones con los ajustes actuales." -msgid "" -"Smooth mode of timelapse is not supported when \"by object\" sequence is " -"enabled." +msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgstr "" +"Modo de intervalo suave no está soportado cuando la secuencia \"por objeto\" está activada." msgid "" -"Please select \"By object\" print sequence to print multiple objects in " -"spiral vase mode." +"Please select \"By object\" print sequence to print multiple objects in spiral vase mode." msgstr "" -"Seleccione la secuencia de impresión \"Por objeto\" para imprimir varios " -"objetos en el modo de jarrón espiral." +"Seleccione la secuencia de impresión \"Por objeto\" para imprimir varios objetos en el " +"modo de jarrón espiral." -msgid "" -"The spiral vase mode does not work when an object contains more than one " -"materials." +msgid "The spiral vase mode does not work when an object contains more than one materials." msgstr "" -"El modo de jarrón en espiral no funciona cuando un objeto contiene más de un " -"material." +"El modo de jarrón en espiral no funciona cuando un objeto contiene más de un material." msgid "The prime tower is not supported in \"By object\" print." -msgstr "La torre principal no es compatible con la impresión \"Por objeto\"." +msgstr "La torre de purga no es compatible con la impresión \"Por objeto\"." msgid "" -"The prime tower is not supported when adaptive layer height is on. It " -"requires that all objects have the same layer height." +"The prime tower is not supported when adaptive layer height is on. It requires that all " +"objects have the same layer height." msgstr "" -"La torre principal no es compatible cuando la altura de capa adaptativa está " -"activada. Requiere que todos los objetos tengan la misma altura de capa." +"La torre de purga no es compatible cuando la altura de capa adaptativa está activada. " +"Requiere que todos los objetos tengan la misma altura de capa." msgid "The prime tower requires \"support gap\" to be multiple of layer height" msgstr "" -"La torre principal requiere que el \"hueco de apoyo\" sea múltiplo de la " -"altura de la capa" +"La torre de purga requiere que el \"hueco de apoyo\" sea múltiplo de la altura de la capa" msgid "The prime tower requires that all objects have the same layer heights" -msgstr "" -"La torre principal requiere que todos los objetos tengan la misma altura de " -"capa" +msgstr "La torre de purga requiere que todos los objetos tengan la misma altura de capa" msgid "" -"The prime tower requires that all objects are printed over the same number " -"of raft layers" +"The prime tower requires that all objects are printed over the same number of raft layers" msgstr "" -"La torre principal requiere que todos los objetos se impriman sobre el mismo " -"número de capas de balsa" +"La torre de purga requiere que todos los objetos se impriman sobre el mismo número de " +"capas de base de impresión" -msgid "" -"The prime tower requires that all objects are sliced with the same layer " -"heights." +msgid "The prime tower requires that all objects are sliced with the same layer heights." msgstr "" -"La torre principal requiere que todos los objetos se corten con las mismas " -"alturas de capa." +"La torre de purga requiere que todos los objetos se corten con las mismas alturas de capa." -msgid "" -"The prime tower is only supported if all objects have the same variable " -"layer height" +msgid "The prime tower is only supported if all objects have the same variable layer height" msgstr "" +"La torre de purga sólo se admite si todos los objetos tienen la misma altura de capa " +"variable" msgid "Too small line width" msgstr "Ancho de línea demasiado pequeño" @@ -6379,27 +6435,24 @@ msgstr "Ancho de línea demasiado pequeño" msgid "Too large line width" msgstr "Ancho de línea demasiado grande" -msgid "" -"The prime tower requires that support has the same layer height with object." +msgid "The prime tower requires that support has the same layer height with object." msgstr "" -"La torre principal requiere que el soporte tenga la misma altura de capa con " -"el objeto." +"La torre de purga requiere que el soporte tenga la misma altura de capa con el objeto." -msgid "" -"Support enforcers are used but support is not enabled. Please enable support." +msgid "Support enforcers are used but support is not enabled. Please enable support." msgstr "" -"Se utilizan las herramientas de aplicación de soporte pero el soporte no " -"está habilitado. Por favor, active el soporte." +"Se utilizan las herramientas de aplicación de soporte pero el soporte no está habilitado. " +"Por favor, active el soporte." msgid "Layer height cannot exceed nozzle diameter" msgstr "La altura de la capa no puede superar el diámetro de la boquilla" #, c-format, boost-format msgid "Plate %d: %s does not support filament %s" -msgstr "" +msgstr "Cama %d: %s no soporta filamento %s" msgid "Generating skirt & brim" -msgstr "Generando falda y ala" +msgstr "Generando falda y borde de adherencia" msgid "Exporting G-code" msgstr "Exportando código G" @@ -6417,33 +6470,34 @@ msgid "Bed exclude area" msgstr "La cama excluye el área" msgid "" -"Unprintable area in XY plane. For example, X1 Series printers use the front " -"left corner to cut filament during filament change. The area is expressed as " -"polygon by points in following format: \"XxY, XxY, ...\"" +"Unprintable area in XY plane. For example, X1 Series printers use the front left corner to " +"cut filament during filament change. The area is expressed as polygon by points in " +"following format: \"XxY, XxY, ...\"" msgstr "" +"Área no imprimible en el plano XY. Por ejemplo, las impresoras de la serie X1 utilizan la " +"esquina delantera izquierda para cortar el filamento durante el cambio de filamento. El " +"área se expresa como polígono por puntos en el siguiente formato: \"XxY, XxY, ...\"" msgid "Bed custom texture" -msgstr "" +msgstr "Textura personalizada de cama" msgid "Bed custom model" -msgstr "" +msgstr "Modelo personalizado de cama" msgid "Elephant foot compensation" msgstr "Compensación del pie de elefante" -msgid "" -"Shrink the initial layer on build plate to compensate for elephant foot " -"effect" +msgid "Shrink the initial layer on build plate to compensate for elephant foot effect" msgstr "" -"Contraer la capa inicial en la placa de impresión para compensar el efecto " -"de la pata de elefante" +"Contraer la capa inicial en la cama de impresión para compensar el efecto de la pata de " +"elefante" msgid "" -"Slicing height for each layer. Smaller layer height means more accurate and " -"more printing time" +"Slicing height for each layer. Smaller layer height means more accurate and more printing " +"time" msgstr "" -"Altura de corte para cada capa. Una altura de capa más pequeña significa más " -"precisión y más tiempo de impresión" +"Altura de corte para cada capa. Una altura de capa más pequeña significa más precisión y " +"más tiempo de impresión" msgid "Printable height" msgstr "Altura imprimible" @@ -6455,125 +6509,135 @@ msgid "Printer preset names" msgstr "Nombres de ajustes de la impresora" msgid "Hostname, IP or URL" -msgstr "" +msgstr "Nombre de host, IP o URL" msgid "" -"Slic3r can upload G-code files to a printer host. This field should contain " -"the hostname, IP address or URL of the printer host instance. Print host " -"behind HAProxy with basic auth enabled can be accessed by putting the user " -"name and password into the URL in the following format: https://username:" -"password@your-octopi-address/" +"Slic3r can upload G-code files to a printer host. This field should contain the hostname, " +"IP address or URL of the printer host instance. Print host behind HAProxy with basic auth " +"enabled can be accessed by putting the user name and password into the URL in the " +"following format: https://username:password@your-octopi-address/" msgstr "" +"OrcaSlicer puede subir archivos G-Code a una impresora. Este campo debería contener el " +"nombre de host, la dirección IP o la URL de la instancia de la impresora. Se puede acceder " +"a la impresora detrás de un proxy con la autenticación básica activada por un nombre de " +"usuario y contraseña en la URL en el siguiente formato: https://nombredeusuario:" +"contraseña@tudirecciondeoctopi/" msgid "Device UI" -msgstr "" +msgstr "IU de dispositivo" -msgid "" -"Specify the URL of your device user interface if it's not same as print_host" -msgstr "" +msgid "Specify the URL of your device user interface if it's not same as print_host" +msgstr "Especifica la URL de tu IU de dispositivo si no es el mismo que el host de impresión" msgid "API Key / Password" -msgstr "" +msgstr "Clave API / Contraseña" msgid "" -"Slic3r can upload G-code files to a printer host. This field should contain " -"the API Key or the password required for authentication." +"Slic3r can upload G-code files to a printer host. This field should contain the API Key or " +"the password required for authentication." msgstr "" +"OrcaSlicer puede cargar archivos G-Cpde a un host de impresora. Este campo debería " +"contener una clave API o una contraseña requerida para la autenticación." msgid "Name of the printer" -msgstr "" +msgstr "Nombre de la impresora" msgid "HTTPS CA File" -msgstr "" +msgstr "Archivo CA HTTPS" msgid "" -"Custom CA certificate file can be specified for HTTPS OctoPrint connections, " -"in crt/pem format. If left blank, the default OS CA certificate repository " -"is used." +"Custom CA certificate file can be specified for HTTPS OctoPrint connections, in crt/pem " +"format. If left blank, the default OS CA certificate repository is used." msgstr "" +"Es posible especificar un archivo Certificado CA personalizado para conexiones, en formato " +"crt/pem. Si se deja en blanco, se usará el reposittorio de certificados CA del SO." msgid "User" -msgstr "" +msgstr "Usuario" msgid "Password" -msgstr "" +msgstr "Contraseña" msgid "Ignore HTTPS certificate revocation checks" -msgstr "" +msgstr "Ignorar comprobaciones de revocación de certificado HTTPS" msgid "" -"Ignore HTTPS certificate revocation checks in case of missing or offline " -"distribution points. One may want to enable this option for self signed " -"certificates if connection fails." +"Ignore HTTPS certificate revocation checks in case of missing or offline distribution " +"points. One may want to enable this option for self signed certificates if connection " +"fails." msgstr "" +"Ignorar comprobaciones de certificado de revocación HTTPS en caso de perder o puntos de " +"distribución sin conexión. Se debería activar esta opción de certificados autofirmados si " +"la conexión falla." msgid "Names of presets related to the physical printer" -msgstr "" +msgstr "Nombres de preajustes relacionados por la impresora física" msgid "Authorization Type" -msgstr "" +msgstr "Tipo de autorización" msgid "API key" -msgstr "" +msgstr "Clave API" msgid "HTTP digest" -msgstr "" +msgstr "Resumen HTTP" msgid "Avoid crossing wall" -msgstr "" +msgstr "Evitar cruzar pared" msgid "Detour and avoid to travel across wall which may cause blob on surface" msgstr "" -"Desvíese y evite atravesar el muro, ya que puede provocar una mancha en la " -"superficie" +"Desvíese y evite atravesar el pared, ya que puede provocar una mancha en la superficie" msgid "Avoid crossing wall - Max detour length" -msgstr "" +msgstr "Evitar cruzar pared - Longitud de desvío máximo" msgid "" -"Maximum detour distance for avoiding crossing wall. Don't detour if the " -"detour distance is large than this value. Detour length could be specified " -"either as an absolute value or as percentage (for example 50%) of a direct " -"travel path. Zero to disable" +"Maximum detour distance for avoiding crossing wall. Don't detour if the detour distance is " +"large than this value. Detour length could be specified either as an absolute value or as " +"percentage (for example 50%) of a direct travel path. Zero to disable" msgstr "" +"Distancia de desvio máximo para evitar cruzar el pared. No lo evite si la distancia de " +"desvío es más alta que este valor. La distancia de desvío podría tanto como un valor " +"absoluto como pocentaje (por ejemplo 50%) de una trayectoria de viaje directa. Cero para " +"deshabilitar" msgid "mm or %" -msgstr "" +msgstr "mm o %" msgid "Other layers" msgstr "Otras capas" msgid "" -"Bed temperature for layers except the initial one. Value 0 means the " -"filament does not support to print on the Cool Plate" +"Bed temperature for layers except the initial one. Value 0 means the filament does not " +"support to print on the Cool Plate" msgstr "" -"Esta es la temperatura de la cama para las capas excepto la inicial. Un " -"valor de 0 significa que el filamento no admite la impresión en la placa " -"fría." +"Esta es la temperatura de la cama para las capas excepto la inicial. Un valor de 0 " +"significa que el filamento no admite la impresión en la cama fría" msgid "°C" msgstr "°C" msgid "" -"Bed temperature for layers except the initial one. Value 0 means the " -"filament does not support to print on the Engineering Plate" +"Bed temperature for layers except the initial one. Value 0 means the filament does not " +"support to print on the Engineering Plate" msgstr "" -"Esta es la temperatura de la cama para las capas excepto la inicial. Un " -"valor de 0 significa que el filamento no admite la impresión en la placa de " -"ingeniería." +"Esta es la temperatura de la cama para las capas excepto la inicial. Un valor de 0 " +"significa que el filamento no admite la impresión en la cama de ingeniería" msgid "" -"Bed temperature for layers except the initial one. Value 0 means the " -"filament does not support to print on the High Temp Plate" +"Bed temperature for layers except the initial one. Value 0 means the filament does not " +"support to print on the High Temp Plate" msgstr "" -"Esta es la temperatura de la cama para las capas excepto la inicial. Un " -"valor de 0 significa que el filamento no admite la impresión en la placa de " -"alta temperatura." +"Esta es la temperatura de la cama para las capas excepto la inicial. Un valor de 0 " +"significa que el filamento no admite la impresión en la cama de alta temperatura" msgid "" -"Bed temperature for layers except the initial one. Value 0 means the " -"filament does not support to print on the Textured PEI Plate" +"Bed temperature for layers except the initial one. Value 0 means the filament does not " +"support to print on the Textured PEI Plate" msgstr "" +"Temperatura de cama para las capas excepto la inicial. El valor 0 significa que el " +"filamento no es compatible para imprimir en la cama PEI texturizada" msgid "Initial layer" msgstr "Capa inicial" @@ -6582,31 +6646,32 @@ msgid "Initial layer bed temperature" msgstr "Temperatura inicial de la cama en la capa" msgid "" -"Bed temperature of the initial layer. Value 0 means the filament does not " -"support to print on the Cool Plate" +"Bed temperature of the initial layer. Value 0 means the filament does not support to print " +"on the Cool Plate" msgstr "" -"Esta es la temperatura de la cama de la capa inicial. Un valor de 0 " -"significa que el filamento no admite la impresión en la placa fría." +"Esta es la temperatura de la cama de la capa inicial. Un valor de 0 significa que el " +"filamento no admite la impresión en la cama fría" msgid "" -"Bed temperature of the initial layer. Value 0 means the filament does not " -"support to print on the Engineering Plate" +"Bed temperature of the initial layer. Value 0 means the filament does not support to print " +"on the Engineering Plate" msgstr "" -"Esta es la temperatura de la cama de la capa inicial. Un valor de 0 " -"significa que el filamento no admite la impresión en la placa de ingeniería." +"Esta es la temperatura de la cama de la capa inicial. Un valor de 0 significa que el " +"filamento no admite la impresión en la cama de ingeniería" msgid "" -"Bed temperature of the initial layer. Value 0 means the filament does not " -"support to print on the High Temp Plate" +"Bed temperature of the initial layer. Value 0 means the filament does not support to print " +"on the High Temp Plate" msgstr "" -"Esta es la temperatura de la cama de la capa inicial. Un valor de 0 " -"significa que el filamento no admite la impresión en la placa de alta " -"temperatura." +"Esta es la temperatura de la cama de la capa inicial. Un valor de 0 significa que el " +"filamento no admite la impresión en la cama de alta temperatura" msgid "" -"Bed temperature of the initial layer. Value 0 means the filament does not " -"support to print on the Textured PEI Plate" +"Bed temperature of the initial layer. Value 0 means the filament does not support to print " +"on the Textured PEI Plate" msgstr "" +"Temperatura del lecho de la capa inicial. El valor 0 significa que el filamento no es " +"compatible para imprimir en la cama PEI texturizada" msgid "Bed types supported by the printer" msgstr "Tipos de cama que admite la impresora" @@ -6618,188 +6683,193 @@ msgid "Bottom shell layers" msgstr "Capas inferiores de cubierta" msgid "" -"This is the number of solid layers of bottom shell, including the bottom " -"surface layer. When the thickness calculated by this value is thinner than " -"bottom shell thickness, the bottom shell layers will be increased" +"This is the number of solid layers of bottom shell, including the bottom surface layer. " +"When the thickness calculated by this value is thinner than bottom shell thickness, the " +"bottom shell layers will be increased" msgstr "" -"Es el número de capas sólidas de la carcasa inferior, incluida la capa " -"superficial inferior. Si el grosor calculado por este valor es menor que el " -"grosor del armazón inferior, las capas del armazón inferior se incrementarán" +"Es el número de capas sólidas de la carcasa inferior, incluida la capa superficial " +"inferior. Si el grosor calculado por este valor es menor que el grosor del armazón " +"inferior, las capas del armazón inferior se incrementarán" msgid "Bottom shell thickness" msgstr "Espesor de la carcasa inferior" msgid "" -"The number of bottom solid layers is increased when slicing if the thickness " -"calculated by bottom shell layers is thinner than this value. This can avoid " -"having too thin shell when layer height is small. 0 means that this setting " -"is disabled and thickness of bottom shell is absolutely determained by " -"bottom shell layers" +"The number of bottom solid layers is increased when slicing if the thickness calculated by " +"bottom shell layers is thinner than this value. This can avoid having too thin shell when " +"layer height is small. 0 means that this setting is disabled and thickness of bottom shell " +"is absolutely determained by bottom shell layers" msgstr "" -"El número de capas sólidas del fondo se incrementa al cortar si el grosor " -"calculado por las capas del fondo es más fino que este valor. Esto puede " -"evitar tener una capa demasiado fina cuando la altura de la capa es pequeña. " -"0 significa que este ajuste está desactivado y el grosor de la capa inferior " -"está absolutamente determinado por las capas de la capa inferior." +"El número de capas sólidas del fondo se incrementa al cortar si el grosor calculado por " +"las capas del fondo es más fino que este valor. Esto puede evitar tener una capa demasiado " +"fina cuando la altura de la capa es pequeña. 0 significa que este ajuste está desactivado " +"y el grosor de la capa inferior está absolutamente determinado por las capas de la capa " +"inferior" msgid "Force cooling for overhang and bridge" msgstr "Refrigeración forzada para el voladizo y el puente" msgid "" -"Enable this option to optimize part cooling fan speed for overhang and " -"bridge to get better cooling" +"Enable this option to optimize part cooling fan speed for overhang and bridge to get " +"better cooling" msgstr "" -"Habilite esta opción para optimizar la velocidad del ventilador de " -"refrigeración de la pieza para el voladizo y el puente para obtener una " -"mejor refrigeración" +"Habilite esta opción para optimizar la velocidad del ventilador de refrigeración de la " +"pieza para el voladizo y el puente para obtener una mejor refrigeración" msgid "Fan speed for overhang" msgstr "Velocidad del ventilador para el voladizo" msgid "" -"Force part cooling fan to be this speed when printing bridge or overhang " -"wall which has large overhang degree. Forcing cooling for overhang and " -"bridge can get better quality for these part" +"Force part cooling fan to be this speed when printing bridge or overhang wall which has " +"large overhang degree. Forcing cooling for overhang and bridge can get better quality for " +"these part" msgstr "" -"Forzar el ventilador de la pieza a esta velocidad cuando se imprime el " -"puente o la pared del voladizo que tiene un gran grado de voladizo. Al " -"forzar la refrigeración de los voladizos y puentes se puede obtener una " -"mejor calidad para estas piezas." +"Forzar el ventilador de la pieza a esta velocidad cuando se imprime el puente o la pared " +"del voladizo que tiene un gran grado de voladizo. Al forzar la refrigeración de los " +"voladizos y puentes se puede obtener una mejor calidad para estas piezas" msgid "Cooling overhang threshold" msgstr "Umbral del voladizo de refrigeración" #, c-format msgid "" -"Force cooling fan to be specific speed when overhang degree of printed part " -"exceeds this value. Expressed as percentage which indicides how much width " -"of the line without support from lower layer. 0% means forcing cooling for " -"all outer wall no matter how much overhang degree" +"Force cooling fan to be specific speed when overhang degree of printed part exceeds this " +"value. Expressed as percentage which indicides how much width of the line without support " +"from lower layer. 0% means forcing cooling for all outer wall no matter how much overhang " +"degree" msgstr "" +"Fuerza al ventilador de refrigeración a una velocidad específica cuando el grado de " +"voladizo de la pieza impresa excede este valor. Expresado como porcentaje, indica la " +"anchura de la línea sin soporte de la capa inferior. 0% m significa forzar la " +"refrigeración de toda la pared exterior sin importar el grado de voladizo" -msgid "Bridge direction" -msgstr "" +msgid "Bridge infill direction" +msgstr "Dirección de relleno de puente" msgid "" -"Bridging angle override. If left to zero, the bridging angle will be " -"calculated automatically. Otherwise the provided angle will be used for " -"external bridges. Use 180°for zero angle." +"Bridging angle override. If left to zero, the bridging angle will be calculated " +"automatically. Otherwise the provided angle will be used for external bridges. Use 180°for " +"zero angle." msgstr "" +"Anulación del ángulo de puenteo. Si se deja a cero, el ángulo de puente se calculará " +"automáticamente. De lo contrario, se utilizará el ángulo proporcionado para los puentes " +"externos. Utilice 180° para el ángulo cero." msgid "Bridge density" -msgstr "" +msgstr "Densidad de puente" msgid "Density of external bridges. 100% means solid bridge. Default is 100%." -msgstr "" +msgstr "Densidad de puentes externos. 100% significa puente sólido. Por defecto es 100%." msgid "Bridge flow" msgstr "Flujo del puente" msgid "" -"Decrease this value slightly(for example 0.9) to reduce the amount of " -"material for bridge, to improve sag" +"Decrease this value slightly(for example 0.9) to reduce the amount of material for bridge, " +"to improve sag" msgstr "" -"Disminuya este valor ligeramente (por ejemplo 0,9) para reducir la cantidad " -"de material para el puente, para mejorar el hundimiento" +"Disminuya este valor ligeramente (por ejemplo 0,9) para reducir la cantidad de material " +"para el puente, para mejorar el hundimiento" msgid "Top surface flow ratio" -msgstr "" +msgstr "Ratio de flujo de superficie superior" msgid "" -"This factor affects the amount of material for top solid infill. You can " -"decrease it slightly to have smooth surface finish" +"This factor affects the amount of material for top solid infill. You can decrease it " +"slightly to have smooth surface finish" msgstr "" +"Este factor afecta a la cantidad de material de para relleno sólido superior. Puede " +"disminuirlo ligeramente para obtener un acabado suave de superficie" msgid "Bottom surface flow ratio" -msgstr "" +msgstr "Ratio de flujo de superficie inferior" msgid "This factor affects the amount of material for bottom solid infill" -msgstr "" +msgstr "Este factor afecta a la cantidad de material para el relleno sólido inferior" msgid "Precise wall(experimental)" -msgstr "" +msgstr "Muro preciso(experimental)" msgid "" -"Improve shell precision by adjusting outer wall spacing. This also improves " -"layer consistency." +"Improve shell precision by adjusting outer wall spacing. This also improves layer " +"consistency." msgstr "" +"Mejorar precisión de la carcasa ajustando el espaciado del pared exterior. Esto además " +"mejora la consistencia de capa." msgid "Only one wall on top surfaces" msgstr "Sólo una pared en las superficies superiores" -msgid "" -"Use only one wall on flat top surface, to give more space to the top infill " -"pattern" +msgid "Use only one wall on flat top surface, to give more space to the top infill pattern" msgstr "" -"Sólo una pared en la superficies superiores, para dar más espacio a la placa " -"de relleno superior" +"Sólo una pared en la superficies superiores, para dar más espacio al patrónde relleno " +"superior" msgid "Only one wall on first layer" -msgstr "" +msgstr "Solo un pared en la primera capa" -msgid "" -"Use only one wall on first layer, to give more space to the bottom infill " -"pattern" +msgid "Use only one wall on first layer, to give more space to the bottom infill pattern" msgstr "" +"Usar solo un pared en la primera capa, para dar más espacio en el patrón de relleno " +"inferior" msgid "Classic mode" -msgstr "" +msgstr "Modo clásico" msgid "Enable this option to use classic mode" -msgstr "" +msgstr "Activar esta opción para usar el modo clásico" msgid "Slow down for overhang" msgstr "Disminución de velocidad de voladizo" msgid "Enable this option to slow printing down for different overhang degree" -msgstr "" -"Habilite esta opción para ralentizar la impresión para diferentes grados de " -"voladizo" +msgstr "Habilite esta opción para ralentizar la impresión para diferentes grados de voladizo" msgid "mm/s" msgstr "mm/s" msgid "Speed of bridge and completely overhang wall" -msgstr "Velocidad del puente y muro completo en voladizo" +msgstr "Velocidad del puente y pared completo en voladizo" msgid "Brim width" -msgstr "Ancho de la balsa" +msgstr "Ancho de del borde de adherencia" msgid "Distance from model to the outermost brim line" -msgstr "Distancia del modelo a la línea más externa del borde" +msgstr "Distancia del modelo a la línea más externa del borde de adherencia" msgid "Brim type" -msgstr "Tipo de balsa" +msgstr "Tipo de borde de adherencia" msgid "" -"This controls the generation of the brim at outer and/or inner side of " -"models. Auto means the brim width is analysed and calculated automatically." +"This controls the generation of the brim at outer and/or inner side of models. Auto means " +"the brim width is analysed and calculated automatically." msgstr "" +"Esto controla la generación del borde de adherencia en el lado exterior y/o interior de " +"los modelos. Auto significa que el ancho de borde de adherencia es analizado y calculado " +"automaticamente." msgid "outer_only" -msgstr "" +msgstr "exterior_solo" msgid "Inner brim only" -msgstr "" +msgstr "Solo borde de adherencia interior" msgid "Outer and inner brim" -msgstr "" +msgstr "Borde de adherencia exterior e interior" msgid "Brim-object gap" -msgstr "Espacio borde-objeto" +msgstr "Espacio borde de adherencia-objeto" -msgid "" -"A gap between innermost brim line and object can make brim be removed more " -"easily" +msgid "A gap between innermost brim line and object can make brim be removed more easily" msgstr "" -"Un hueco entre la línea más interna del borde y el objeto puede hacer que el " -"borde se retire más fácilmente" +"Un hueco entre la línea más interna del borde de adherencia y el objeto puede hacer que el " +"borde de adherencia se retire más fácilmente" msgid "Compatible machine" msgstr "Máquina compatible" msgid "upward compatible machine" -msgstr "" +msgstr "máquina compatible ascendente" msgid "Compatible machine condition" msgstr "Condición de máquina compatible" @@ -6820,30 +6890,25 @@ msgid "By object" msgstr "Por objeto" msgid "Slow printing down for better layer cooling" -msgstr "" -"Reducir la velocidad de impresión para mejorar el enfriamiento de las capas" +msgstr "Reducir la velocidad de impresión para mejorar el enfriamiento de las capas" msgid "" -"Enable this option to slow printing speed down to make the final layer time " -"not shorter than the layer time threshold in \"Max fan speed threshold\", so " -"that layer can be cooled for longer time. This can improve the cooling " -"quality for needle and small details" +"Enable this option to slow printing speed down to make the final layer time not shorter " +"than the layer time threshold in \"Max fan speed threshold\", so that layer can be cooled " +"for longer time. This can improve the cooling quality for needle and small details" msgstr "" -"Active esta opción para reducir la velocidad de impresión para que el tiempo " -"de la capa final no sea inferior al umbral de tiempo de la capa en \"Umbral " -"de velocidad máxima del ventilador\", de modo que la capa pueda enfriarse " -"durante más tiempo. Esto puede mejorar la calidad del enfriamiento para las " -"agujas y los detalles pequeños." +"Active esta opción para reducir la velocidad de impresión para que el tiempo de la capa " +"final no sea inferior al umbral de tiempo de la capa en \"Umbral de velocidad máxima del " +"ventilador\", de modo que la capa pueda enfriarse durante más tiempo. Esto puede mejorar " +"la calidad del enfriamiento para las agujas y los detalles pequeños" msgid "Normal printing" msgstr "Impresión normal" -msgid "" -"The default acceleration of both normal printing and travel except initial " -"layer" +msgid "The default acceleration of both normal printing and travel except initial layer" msgstr "" -"La aceleración por defecto tanto de la impresión normal como del " -"desplazamiento excepto la capa inicial" +"La aceleración por defecto tanto de la impresión normal como del desplazamiento excepto la " +"capa inicial" msgid "mm/s²" msgstr "mm/s²" @@ -6852,26 +6917,23 @@ msgid "Default filament profile" msgstr "Perfil de filamento por defecto" msgid "Default filament profile when switch to this machine profile" -msgstr "" -"Perfil de filamento por defecto cuando se cambia a este perfil de máquina" +msgstr "Perfil de filamento por defecto cuando se cambia a este perfil de máquina" msgid "Default process profile" msgstr "Perfil de proceso por defecto" msgid "Default process profile when switch to this machine profile" -msgstr "" -"Perfil de proceso por defecto cuando se cambia a este perfil de máquina" +msgstr "Perfil de proceso por defecto cuando se cambia a este perfil de máquina" msgid "No cooling for the first" msgstr "No hay refrigeración para la primera" msgid "" -"Close all cooling fan for the first certain layers. Cooling fan of the first " -"layer used to be closed to get better build plate adhesion" +"Close all cooling fan for the first certain layers. Cooling fan of the first layer used to " +"be closed to get better build plate adhesion" msgstr "" -"Apague todos los ventiladores de refrigeración de las primeras capas. El " -"ventilador de la primera capa debe estar cerrado para conseguir una mejor " -"adhesión de la placa de impresión." +"Apague todos los ventiladores de refrigeración de las primeras capas. El ventilador de la " +"primera capa debe estar cerrado para conseguir una mejor adhesión de la cama de impresión" msgid "layers" msgstr "capas" @@ -6880,32 +6942,33 @@ msgid "Don't support bridges" msgstr "No soportar puentes" msgid "" -"Don't support the whole bridge area which make support very large. Bridge " -"usually can be printing directly without support if not very long" +"Don't support the whole bridge area which make support very large. Bridge usually can be " +"printing directly without support if not very long" msgstr "" -"No apoye todo el área del puente que hace el apoyo muy grande. El puente " -"normalmente puede imprimirse directamente sin soporte si no es muy largo" +"No apoye todo el área del puente que hace el apoyo muy grande. El puente normalmente puede " +"imprimirse directamente sin soporte si no es muy largo" msgid "Thick bridges" -msgstr "" +msgstr "Puentes gruesos" msgid "" -"If enabled, bridges are more reliable, can bridge longer distances, but may " -"look worse. If disabled, bridges look better but are reliable just for " -"shorter bridged distances." +"If enabled, bridges are more reliable, can bridge longer distances, but may look worse. If " +"disabled, bridges look better but are reliable just for shorter bridged distances." msgstr "" +"Si están activados, los puentes son más fiables, pueden salvar distancias más largas, pero " +"pueden tener peor aspecto. Si están desactivados, los puentes se ven mejor pero son " +"fiables sólo para distancias más cortas." msgid "Max bridge length" msgstr "Distancia máxima de puentes" msgid "" -"Max length of bridges that don't need support. Set it to 0 if you want all " -"bridges to be supported, and set it to a very large value if you don't want " -"any bridges to be supported." +"Max length of bridges that don't need support. Set it to 0 if you want all bridges to be " +"supported, and set it to a very large value if you don't want any bridges to be supported." msgstr "" -"Esta es la longitud máxima de los puentes que no necesitan soporte. Ajústalo " -"a 0 si quieres que todos los puentes sean soportados, y ajústalo a un valor " -"muy grande si no quieres que ningún puente sea soportado." +"Esta es la longitud máxima de los puentes que no necesitan soporte. Ajústalo a 0 si " +"quieres que todos los puentes sean soportados, y ajústalo a un valor muy grande si no " +"quieres que ningún puente sea soportado." msgid "End G-code" msgstr "Código G final" @@ -6917,23 +6980,28 @@ msgid "End G-code when finish the printing of this filament" msgstr "Terminar el código G cuando se termine de imprimir este filamento" msgid "Ensure vertical shell thickness" -msgstr "" +msgstr "Asegurar grosor de carcasa vertical" msgid "" -"Add solid infill near sloping surfaces to guarantee the vertical shell " -"thickness (top+bottom solid layers)" +"Add solid infill near sloping surfaces to guarantee the vertical shell thickness " +"(top+bottom solid layers)" msgstr "" +"Añadir relleno sólido al lado de superficies inclinadas para garantizar el grosor de " +"carcasa vertical (capas sólidas superior+inferior)" msgid "Internal bridge support thickness" -msgstr "" +msgstr "Grosor de soportes de puente interno" msgid "" -"If enabled, Studio will generate support loops under the contours of " -"internal bridges.These support loops could prevent internal bridges from " -"extruding over the air and improve the top surface quality, especially when " -"the sparse infill density is low.This value determines the thickness of the " -"support loops. 0 means disable this feature" +"If enabled, support loops will be generated under the contours of internal bridges. These " +"support loops could prevent internal bridges from extruding over the air and improve the " +"top surface quality, especially when the sparse infill density is low.This value " +"determines the thickness of the support loops. 0 means disable this feature" msgstr "" +"Si está activado, los bucles de soporte generarán debajo de los contornos de puentes " +"internos. Estos bucles de soporte pueden prevenir extruir puentes en el aire y mejorar la " +"calidad de la superficie superior, especialmente cuando la densidad de relleno escasa es " +"baja. 0 significa deshabilitar esta característica" msgid "Top surface pattern" msgstr "Patrón de la superficie superior" @@ -6954,62 +7022,61 @@ msgid "Monotonic line" msgstr "Linea continua" msgid "Aligned Rectilinear" -msgstr "" +msgstr "Alineación Rectilinea" msgid "Hilbert Curve" -msgstr "" +msgstr "Curva Hilbert" msgid "Archimedean Chords" -msgstr "" +msgstr "Arcodes de Arquímedes" msgid "Octagram Spiral" -msgstr "" +msgstr "Octograma en Espiral" msgid "Bottom surface pattern" msgstr "Patrón de la superficie inferior" msgid "Line pattern of bottom surface infill, not bridge infill" -msgstr "" -"Patrón de líneas del relleno de la superficie inferior, no del relleno del " -"puente" +msgstr "Patrón de líneas del relleno de la superficie inferior, no del relleno del puente" msgid "Line width of outer wall" msgstr "Ancho de línea de la pared exterior" msgid "" -"Speed of outer wall which is outermost and visible. It's used to be slower " -"than inner wall speed to get better quality." +"Speed of outer wall which is outermost and visible. It's used to be slower than inner wall " +"speed to get better quality." msgstr "" -"Velocidad de la pared exterior, que es la más externa y visible. Se utiliza " -"para ser más lento que la velocidad de la pared interior para obtener una " -"mejor calidad." +"Velocidad de la pared exterior, que es la más externa y visible. Se utiliza para ser más " +"lento que la velocidad de la pared interior para obtener una mejor calidad." msgid "Small perimeters" -msgstr "" +msgstr "Perímetros pequeños" msgid "" "This separate setting will affect the speed of perimeters having radius <= " -"small_perimeter_threshold (usually holes). If expressed as percentage (for " -"example: 80%) it will be calculated on the outer wall speed setting above. " -"Set to zero for auto." +"small_perimeter_threshold (usually holes). If expressed as percentage (for example: 80%) " +"it will be calculated on the outer wall speed setting above. Set to zero for auto." msgstr "" +"Este ajuste independiente afectará a la velocidad de los perímetros con radio <= " +"small_perimeter_threshold (normalmente agujeros). Si se expresa como porcentaje (por " +"ejemplo: 80%) se calculará sobre el ajuste de velocidad de la pared exterior anterior. " +"Póngalo a cero para auto." msgid "mm/s or %" -msgstr "" +msgstr "mm/s o %" msgid "Small perimeters threshold" -msgstr "" +msgstr "Umbral Perímetral Pequeño" -msgid "" -"This sets the threshold for small perimeter length. Default threshold is 0mm" +msgid "This sets the threshold for small perimeter length. Default threshold is 0mm" msgstr "" +"Esto configura el umbral para longitud de perímetro pequeño. El umbral por defecto es 0mm" msgid "Order of inner wall/outer wall/infil" msgstr "Orden de la pared interior/pared exterior/relleno" msgid "Print sequence of inner wall, outer wall and infill. " -msgstr "" -"Imprimir la secuencia de la pared interior, la pared exterior y el relleno. " +msgstr "Imprimir la secuencia de la pared interior, la pared exterior y el relleno. " msgid "inner/outer/infill" msgstr "interior/exterior/relleno" @@ -7024,28 +7091,31 @@ msgid "infill/outer/inner" msgstr "relleno/exterior/interior" msgid "inner-outer-inner/infill" -msgstr "" +msgstr "interior-exterior-interior/relleno" msgid "Height to rod" msgstr "Altura a la barra" msgid "" -"Distance of the nozzle tip to the lower rod. Used for collision avoidance in " -"by-object printing." +"Distance of the nozzle tip to the lower rod. Used for collision avoidance in by-object " +"printing." msgstr "" +"Distancia de la punta de la boquilla hasta la varilla baja. Usado para evitar colisiones " +"en las impresiones por objeto." msgid "Height to lid" msgstr "Altura hasta la tapa" msgid "" -"Distance of the nozzle tip to the lid. Used for collision avoidance in by-" -"object printing." +"Distance of the nozzle tip to the lid. Used for collision avoidance in by-object printing." msgstr "" +"Distancia de la punta de la boquilla a la tapa. Usado para evitar la colisión con la " +"impresión por objeto." -msgid "" -"Clearance radius around extruder. Used for collision avoidance in by-object " -"printing." +msgid "Clearance radius around extruder. Used for collision avoidance in by-object printing." msgstr "" +"El radio de claridad alrededor del extrusor. Se utiliza para evitar la colisión con la " +"impresión por objeto." msgid "Extruder Color" msgstr "Color del extrusor" @@ -7060,29 +7130,27 @@ msgid "Flow ratio" msgstr "Proporción de flujo" msgid "" -"The material may have volumetric change after switching between molten state " -"and crystalline state. This setting changes all extrusion flow of this " -"filament in gcode proportionally. Recommended value range is between 0.95 " -"and 1.05. Maybe you can tune this value to get nice flat surface when there " -"has slight overflow or underflow" +"The material may have volumetric change after switching between molten state and " +"crystalline state. This setting changes all extrusion flow of this filament in gcode " +"proportionally. Recommended value range is between 0.95 and 1.05. Maybe you can tune this " +"value to get nice flat surface when there has slight overflow or underflow" msgstr "" -"El material puede tener un cambio volumétrico después de cambiar entre el " -"estado fundido y el estado cristalino. Este ajuste cambia proporcionalmente " -"todo el flujo de extrusión de este filamento en gcode. El rango de valores " -"recomendado es entre 0.95 y 1.05. Tal vez usted puede ajustar este valor " -"para obtener una superficie plana agradable cuando hay un ligero " -"desbordamiento o sub-desbordamiento" +"El material puede tener un cambio volumétrico después de cambiar entre el estado fundido y " +"el estado cristalino. Este ajuste cambia proporcionalmente todo el flujo de extrusión de " +"este filamento en gcode. El rango de valores recomendado es entre 0.95 y 1.05. Tal vez " +"usted puede ajustar este valor para obtener una superficie plana agradable cuando hay un " +"ligero desbordamiento o sub-desbordamiento" msgid "Enable pressure advance" -msgstr "" +msgstr "Activar avance de presión" -msgid "" -"Enable pressure advance, auto calibration result will be overwriten once " -"enabled." +msgid "Enable pressure advance, auto calibration result will be overwriten once enabled." msgstr "" +"Activar avance de presión, resultado de auto calibración se sobreescribirá una vez " +"activado." msgid "Pressure advance(Klipper) AKA Linear advance factor(Marlin)" -msgstr "" +msgstr "El avance de presión(Klipper) AKA Factor de avance lineal(Marlin)" msgid "Default line width if some line width is set to be zero" msgstr "Ancho de línea por defecto si se ajusta algún ancho de línea es cero" @@ -7091,99 +7159,112 @@ msgid "Keep fan always on" msgstr "Mantener el ventilador siempre encendido" msgid "" -"If enable this setting, part cooling fan will never be stoped and will run " -"at least at minimum speed to reduce the frequency of starting and stoping" +"If enable this setting, part cooling fan will never be stoped and will run at least at " +"minimum speed to reduce the frequency of starting and stoping" msgstr "" -"Si se activa este ajuste, el ventilador nunca se detendrá y funcionará al " -"menos a la velocidad mínima para reducir la frecuencia de arranque y parada." +"Si se activa este ajuste, el ventilador nunca se detendrá y funcionará al menos a la " +"velocidad mínima para reducir la frecuencia de arranque y parada" msgid "Layer time" msgstr "Tiempo de capa" msgid "" -"Part cooling fan will be enabled for layers of which estimated time is " -"shorter than this value. Fan speed is interpolated between the minimum and " -"maximum fan speeds according to layer printing time" +"Part cooling fan will be enabled for layers of which estimated time is shorter than this " +"value. Fan speed is interpolated between the minimum and maximum fan speeds according to " +"layer printing time" msgstr "" -"El ventilador de refrigeración de la pieza se activará para las capas cuyo " -"tiempo estimado sea inferior a este valor. La velocidad del ventilador se " -"interpola entre las velocidades mínima y máxima del ventilador según el " -"tiempo de impresión de las capas" +"El ventilador de refrigeración de la pieza se activará para las capas cuyo tiempo estimado " +"sea inferior a este valor. La velocidad del ventilador se interpola entre las velocidades " +"mínima y máxima del ventilador según el tiempo de impresión de las capas" msgid "s" msgstr "s" msgid "Default color" -msgstr "" +msgstr "Color por defecto" msgid "Default filament color" -msgstr "" +msgstr "Color de filamento por defecto" msgid "Color" msgstr "Color" msgid "Required nozzle HRC" -msgstr "" +msgstr "HRC de boquilla requerido" msgid "" -"Minimum HRC of nozzle required to print the filament. Zero means no checking " -"of nozzle's HRC." +"Minimum HRC of nozzle required to print the filament. Zero means no checking of nozzle's " +"HRC." msgstr "" +"HRC mínimo de boquilla requerido para imprimir el filamento. Cero significa no comprobar " +"el HRC de la boquilla." msgid "" -"This setting stands for how much volume of filament can be melted and " -"extruded per second. Printing speed is limited by max volumetric speed, in " -"case of too high and unreasonable speed setting. Can't be zero" +"This setting stands for how much volume of filament can be melted and extruded per second. " +"Printing speed is limited by max volumetric speed, in case of too high and unreasonable " +"speed setting. Can't be zero" msgstr "" +"Este ajuste representa la cantidad de volumen de filamento puede ser derretido extruido " +"por segundo. La velocidad de impresión está limitado por cuanta velocidad, en caso de " +"velocidad demasiado alta o no razonable. No puede ser cero" msgid "mm³/s" msgstr "mm³/s" msgid "Minimal purge on wipe tower" -msgstr "Purga mínima en la torre de limpieza" +msgstr "Purga mínima en la torre de purga" msgid "" -"After a tool change, the exact position of the newly loaded filament inside " -"the nozzle may not be known, and the filament pressure is likely not yet " -"stable. Before purging the print head into an infill or a sacrificial " -"object, Slic3r will always prime this amount of material into the wipe tower " -"to produce successive infill or sacrificial object extrusions reliably." +"After a tool change, the exact position of the newly loaded filament inside the nozzle may " +"not be known, and the filament pressure is likely not yet stable. Before purging the print " +"head into an infill or a sacrificial object, Slic3r will always prime this amount of " +"material into the wipe tower to produce successive infill or sacrificial object extrusions " +"reliably." msgstr "" +"Tras un cambio de herramienta, es posible que no se conozca la posición exacta del " +"filamento recién cargado dentro de la boquilla y que la presión del filamento aún no sea " +"estable. Antes de purgar el cabezal de impresión en un relleno o un objeto de sacrificio, " +"OrcaSlicer siempre cebará esta cantidad de material en la torre de purga para producir " +"sucesivas extrusiones de relleno u objetos de sacrificio de forma fiable." msgid "Filament load time" msgstr "Tiempo de carga de filamento" msgid "Time to load new filament when switch filament. For statistics only" msgstr "" -"Tiempo para cargar un nuevo filamento cuando se cambia de filamento. Sólo " -"para estadísticas" +"Tiempo para cargar un nuevo filamento cuando se cambia de filamento. Sólo para estadísticas" msgid "Filament unload time" msgstr "Tiempo de descarga del filamento" msgid "Time to unload old filament when switch filament. For statistics only" msgstr "" -"Tiempo para descargar el filamento viejo cuando se cambia de filamento. Sólo " -"para las estadísticas" +"Tiempo para descargar el filamento viejo cuando se cambia de filamento. Sólo para las " +"estadísticas" msgid "" -"Filament diameter is used to calculate extrusion in gcode, so it's important " -"and should be accurate" +"Filament diameter is used to calculate extrusion in gcode, so it's important and should be " +"accurate" msgstr "" -"El diámetro del filamento se utiliza para calcular la extrusión en el gcode, " -"por lo que es importante y debe ser preciso" +"El diámetro del filamento se utiliza para calcular la extrusión en el gcode, por lo que es " +"importante y debe ser preciso" msgid "Shrinkage" -msgstr "" +msgstr "Retracción" #, c-format, boost-format msgid "" -"Enter the shrinkage percentage that the filament will get after cooling " -"(94% if you measure 94mm instead of 100mm). The part will be scaled in xy to " -"compensate. Only the filament used for the perimeter is taken into account.\n" -"Be sure to allow enough space between objects, as this compensation is done " -"after the checks." +"Enter the shrinkage percentage that the filament will get after cooling (94% if you " +"measure 94mm instead of 100mm). The part will be scaled in xy to compensate. Only the " +"filament used for the perimeter is taken into account.\n" +"Be sure to allow enough space between objects, as this compensation is done after the " +"checks." msgstr "" +"Introduzca el porcentaje de encogimiento que tendrá el filamento después de enfriarse " +"('94% i' si mide 94mm en lugar de 100mm). La pieza se escalará en xy para compensar. Sólo " +"se tiene en cuenta el filamento utilizado para el perímetro.\n" +"Asegúrese de dejar suficiente espacio entre los objetos, ya que esta compensación se " +"realiza después de las comprobaciones." msgid "Density" msgstr "Densidad" @@ -7200,30 +7281,28 @@ msgstr "El tipo de material del filamento" msgid "Soluble material" msgstr "Material soluble" -msgid "" -"Soluble material is commonly used to print support and support interface" +msgid "Soluble material is commonly used to print support and support interface" msgstr "" -"El material soluble se utiliza habitualmente para imprimir el soporte y la " -"interfaz de soporte" +"El material soluble se utiliza habitualmente para imprimir el soporte y la interfaz de " +"soporte" msgid "Support material" msgstr "Material de soporte" -msgid "" -"Support material is commonly used to print support and support interface" +msgid "Support material is commonly used to print support and support interface" msgstr "" -"El material de soporte se utiliza habitualmente para imprimir el soporte y " -"interficies de soporte" +"El material de soporte se utiliza habitualmente para imprimir el soporte y interficies de " +"soporte" msgid "Temperature of vitrificaiton" msgstr "Temperatura de vitrificación" msgid "" -"Material becomes soft at this temperature. Thus the heatbed cannot be hotter " -"than this tempature" +"Material becomes soft at this temperature. Thus the heatbed cannot be hotter than this " +"tempature" msgstr "" -"El material se ablanda a esta temperatura. Por lo tanto, el lecho térmico no " -"puede estar más caliente que esta temperatura" +"El material se ablanda a esta temperatura. Por lo tanto, el lecho térmico no puede estar " +"más caliente que esta temperatura" msgid "Price" msgstr "Precio" @@ -7240,20 +7319,10 @@ msgstr "(No definido)" msgid "Infill direction" msgstr "Dirección del relleno" -msgid "" -"Angle for sparse infill pattern, which controls the start or main direction " -"of line" -msgstr "" -"Ángulo para el patrón de relleno disperso, que controla el inicio o la " -"dirección principal de la línea" - -msgid "Bridge infill direction" -msgstr "" - -msgid "" -"Angle for bridge infill pattern, which controls the start or main direction " -"of line" +msgid "Angle for sparse infill pattern, which controls the start or main direction of line" msgstr "" +"Ángulo para el patrón de relleno disperso, que controla el inicio o la dirección principal " +"de la línea" msgid "Sparse infill density" msgstr "Densidad de relleno" @@ -7261,8 +7330,7 @@ msgstr "Densidad de relleno" #, c-format msgid "Density of internal sparse infill, 100% means solid throughout" msgstr "" -"Densidad del relleno interno disperso, el 100%% significa sólido en todo el " -"territorio" +"Densidad del relleno interno disperso, el 100%% significa sólido en todo el territorio" msgid "Sparse infill pattern" msgstr "Patrón de relleno disperso" @@ -7292,89 +7360,146 @@ msgid "Adaptive Cubic" msgstr "Cúbico Adaptativo" msgid "3D Honeycomb" -msgstr "" +msgstr "Panal 3D" msgid "Support Cubic" -msgstr "" +msgstr "Soporte Cúbico" msgid "Lightning" +msgstr "Rayo" + +msgid "Sparse infill anchor length" +msgstr "Longitud de anclaje de relleno" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an additional " +"perimeter. If expressed as percentage (example: 15%) it is calculated over infill " +"extrusion width. Slic3r tries to connect two close infill lines to a short perimeter " +"segment. If no such perimeter segment shorter than infill_anchor_max is found, the infill " +"line is connected to a perimeter segment at just one side and the length of the perimeter " +"segment taken is limited to this parameter, but no longer than anchor_length_max. \n" +"Set this parameter to zero to disable anchoring perimeters connected to a single infill " +"line." msgstr "" +"Conectar una línea de relleno a un perímetro interno con un segmento corto de un perímetro " +"adicional. Si se expresa como porcentaje (ejemplo: 15%) este es calculado sobre el ancho " +"de extrusión de relleno. OrcaSlicer intenta conectar dos líneas de relleno cercanas a un " +"segmento de perímetro corto. Si no se encuentra ningún segmento más corto que " +"relleno_anclaje_max, la línea de relleno se conecta a un semento de perímetro en un solo " +"lado y la longitud del ancho de segmento de perímetro escogido se limita a este parámetro, " +"pero no más largo que anclage_longitud_max. \n" +"Configue este parámetro a cero para deshabilitar los perímetros de anclaje conectados a " +"una sola línea de relleno." + +msgid "0 (no open anchors)" +msgstr "0 (no abrir anclajes)" + +msgid "1000 (unlimited)" +msgstr "1000 (ilimitada)" + +msgid "Maximum length of the infill anchor" +msgstr "Máxima longitud de relleno de anclaje" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an additional " +"perimeter. If expressed as percentage (example: 15%) it is calculated over infill " +"extrusion width. Slic3r tries to connect two close infill lines to a short perimeter " +"segment. If no such perimeter segment shorter than this parameter is found, the infill " +"line is connected to a perimeter segment at just one side and the length of the perimeter " +"segment taken is limited to infill_anchor, but no longer than this parameter. \n" +"If set to 0, the old algorithm for infill connection will be used, it should create the " +"same result as with 1000 & 0." +msgstr "" +"Conectar la línea de relleno a un perímetro interno con un segmento corto de un perímetro " +"adicional. Si se expresa como porcentaje (por ejemplo: 15%) este se calcula sobre el ancho " +"de relleno de extrusión. OrcaSlicer intenta conectar dos líneas de relleno cercanas a un " +"segmento de perímetro corto. Si no hay ningún segmento más corto que este parámetro, esta " +"líena de relleno se conecta a un segmento de perímetro solamente a un lado y la longitud " +"del segmento de perìmetro escogida se limita a relleno_anclaje, pero no más alto que este " +"parámetro. \n" +"Si se deja a 0, el algoritmo antiguo para conexión de relleno se usará, esto debería drear " +"el mismo resultado que con 1000 y 0." + +msgid "0 (Simple connect)" +msgstr "0 (Conexión simple)" msgid "Acceleration of outer walls" -msgstr "" +msgstr "Aceleración de las paredes externos" msgid "Acceleration of inner walls" -msgstr "" +msgstr "Aceleración de las paredes internos" msgid "Acceleration of travel moves" -msgstr "" +msgstr "Aceleración de movimiento de viaje" msgid "" -"Acceleration of top surface infill. Using a lower value may improve top " -"surface quality" +"Acceleration of top surface infill. Using a lower value may improve top surface quality" msgstr "" -"Aceleración del relleno de la superficie superior. El uso de un valor más " -"bajo puede mejorar la calidad de la superficie superior" +"Aceleración del relleno de la superficie superior. El uso de un valor más bajo puede " +"mejorar la calidad de la superficie superior" msgid "Acceleration of outer wall. Using a lower value can improve quality" -msgstr "" +msgstr "Aceleración del pared externo. Usando un valor menor puede mejorar la calidad" msgid "" -"Acceleration of bridges. If the value is expressed as a percentage (e.g. " -"50%), it will be calculated based on the outer wall acceleration." +"Acceleration of bridges. If the value is expressed as a percentage (e.g. 50%), it will be " +"calculated based on the outer wall acceleration." msgstr "" +"Aceleración de los puentes. Si el valor es expresado como un porcentaje (por ejemplo 50%), " +"se calculará basándose en la aceleración del pared externo." msgid "mm/s² or %" -msgstr "" +msgstr "mm/s² o %" msgid "" -"Acceleration of sparse infill. If the value is expressed as a percentage (e." -"g. 100%), it will be calculated based on the default acceleration." +"Acceleration of sparse infill. If the value is expressed as a percentage (e.g. 100%), it " +"will be calculated based on the default acceleration." msgstr "" +"Aceleración de dispersión de relleno. Si el valor se expresa en porcentaje (por ejemplo " +"100%), se calculará basándose en la aceleración por defecto." msgid "" -"Acceleration of internal solid infill. If the value is expressed as a " -"percentage (e.g. 100%), it will be calculated based on the default " -"acceleration." +"Acceleration of internal solid infill. If the value is expressed as a percentage (e.g. " +"100%), it will be calculated based on the default acceleration." msgstr "" +"Aceleración de relleno sólido interno. Si el valor se expresa como porcentaje (por ejemplo " +"100%), este se calculará basándose en la aceleración por defecto." -msgid "" -"Acceleration of initial layer. Using a lower value can improve build plate " -"adhensive" +msgid "Acceleration of initial layer. Using a lower value can improve build plate adhensive" msgstr "" -"Aceleración de la capa inicial. El uso de un valor más bajo puede mejorar la " -"adherencia de la placa de impresión" +"Aceleración de la capa inicial. El uso de un valor más bajo puede mejorar la adherencia de " +"la cama de impresión" msgid "Enable accel_to_decel" -msgstr "" +msgstr "Activar acel_a_decel" msgid "Klipper's max_accel_to_decel will be adjusted automatically" -msgstr "" +msgstr "El max_accel_a_decel de Klipper será ajustado automaticamente" msgid "accel_to_decel" -msgstr "" +msgstr "accel_to_decel" #, c-format, boost-format msgid "Klipper's max_accel_to_decel will be adjusted to this % of acceleration" -msgstr "" +msgstr "El max_accel_to_decel de Klipper se ajustará a este % o de aceleración" msgid "Jerk of outer walls" -msgstr "" +msgstr "Jerk de las paredes externas" msgid "Jerk of inner walls" -msgstr "" +msgstr "Jerk de las paredes internass" msgid "Jerk for top surface" -msgstr "" +msgstr "Jerk de la superficie superior" msgid "Jerk for infill" -msgstr "" +msgstr "Jerk de relleno" msgid "Jerk for initial layer" -msgstr "" +msgstr "Jerk de la capa inicial" msgid "Jerk for travel" -msgstr "" +msgstr "Jerk de viaje" msgid "Line width of initial layer" msgstr "Ancho de línea de la capa inicial" @@ -7383,11 +7508,11 @@ msgid "Initial layer height" msgstr "Altura de la capa inicial" msgid "" -"Height of initial layer. Making initial layer height to be thick slightly " -"can improve build plate adhension" +"Height of initial layer. Making initial layer height to be thick slightly can improve " +"build plate adhension" msgstr "" -"Altura de la capa inicial. Hacer que la altura de la capa inicial sea " -"ligeramente gruesa puede mejorar la adherencia de la placa de impresión" +"Altura de la capa inicial. Hacer que la altura de la capa inicial sea ligeramente gruesa " +"puede mejorar la adherencia de la cama de impresión" msgid "Speed of initial layer except the solid infill part" msgstr "Velocidad de la capa inicial excepto la parte sólida de relleno" @@ -7399,37 +7524,71 @@ msgid "Speed of solid infill part of initial layer" msgstr "Velocidad de la parte de relleno sólido de la capa inicial" msgid "Initial layer travel speed" -msgstr "" +msgstr "Velocidad de viaje de la capa inicial" msgid "Travel speed of initial layer" +msgstr "Velocidad de viaje de capa inicial" + +msgid "Number of slow layers" +msgstr "Número de capas lentas" + +msgid "" +"The first few layers are printed slower than normal. The speed is gradually increased in a " +"linear fashion over the specified number of layers." msgstr "" +"Las primeras capas se imprimen más lentamente de lo normal. La velocidad se incrementa " +"gradualmente de una forma lineal sobre un número específico de capas." msgid "Initial layer nozzle temperature" msgstr "Temperatura de la boquilla de la capa inicial" msgid "Nozzle temperature to print initial layer when using this filament" msgstr "" -"Temperatura de la boquilla para imprimir la capa inicial cuando se utiliza " -"este filamento" +"Temperatura de la boquilla para imprimir la capa inicial cuando se utiliza este filamento" msgid "Full fan speed at layer" msgstr "Velocidad máxima del ventilador en la capa" msgid "" -"Randomly jitter while printing the wall, so that the surface has a rough " -"look. This setting controls the fuzzy position" +"Fan speed will be ramped up linearly from zero at layer \"close_fan_the_first_x_layers\" " +"to maximum at layer \"full_fan_speed_layer\". \"full_fan_speed_layer\" will be ignored if " +"lower than \"close_fan_the_first_x_layers\", in which case the fan will be running at " +"maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1." msgstr "" -"Se puede imprimir la pared de forma aleatoria, de modo que la superficie " -"tenga un aspecto rugoso. Este ajuste controla la posición difusa" +"La velocidad de ventilador se incrementará linealmente de cero a " +"\"close_fan_the_first_x_layers\" al máximo de capa \"full_fan_speed_layer\". " +"\"full_fan_speed_layer\" se ignorará si es menor que \"close_fan_the_first_x_layers\", en " +"cuyo caso el ventilador funcionará al máximo permitido de capa " +"\"close_fan_the_first_x_layers\" + 1." + +msgid "Support interface fan speed" +msgstr "Velocidad de ventilador de interfaz de soporte" + +msgid "" +"This fan speed is enforced during all support interfaces, to be able to weaken their " +"bonding with a high fan speed.\n" +"Set to -1 to disable this override.\n" +"Can only be overriden by disable_fan_first_layers." +msgstr "" +"La velocidad de ventilador se fuerza durante todas interfaces de soporte, será capaz de " +"debilitar sus uniones con una velocidad de ventilador más alta.Solo puede ser sobreescrita " +"deshabilitando disable_fan_first_layers." + +msgid "" +"Randomly jitter while printing the wall, so that the surface has a rough look. This " +"setting controls the fuzzy position" +msgstr "" +"Se puede imprimir la pared de forma aleatoria, de modo que la superficie tenga un aspecto " +"rugoso. Este ajuste controla la posición difusa" msgid "None" msgstr "Ninguno" msgid "Contour" -msgstr "" +msgstr "Contorno" msgid "Contour and hole" -msgstr "" +msgstr "Contorno y agujero" msgid "All walls" msgstr "Todas las paredes" @@ -7437,81 +7596,74 @@ msgstr "Todas las paredes" msgid "Fuzzy skin thickness" msgstr "Distancia del punto de piel difusa" -msgid "" -"The width within which to jitter. It's adversed to be below outer wall line " -"width" +msgid "The width within which to jitter. It's adversed to be below outer wall line width" msgstr "" -"La anchura dentro de la cual se va a jitear. Se aconseja que esté por debajo " -"de la anchura de la línea de la pared exterior" +"La anchura dentro de la cual se va a jitear. Se aconseja que esté por debajo de la anchura " +"de la línea de la pared exterior" msgid "Fuzzy skin point distance" msgstr "Distancia al punto de superficie irregular" -msgid "" -"The average diatance between the random points introducded on each line " -"segment" +msgid "The average diatance between the random points introducded on each line segment" msgstr "" -"La diatancia media entre los puntos aleatorios introducidos en cada segmento " -"de línea" +"La diatancia media entre los puntos aleatorios introducidos en cada segmento de línea" msgid "Filter out tiny gaps" -msgstr "" +msgstr "Filtrar pequeños huecos" msgid "Layers and Perimeters" -msgstr "" +msgstr "Capas y Perímetros" msgid "" -"Filter out gaps smaller than the threshold specified. This setting won't " -"affact top/bottom layers" +"Filter out gaps smaller than the threshold specified. This setting won't affact top/bottom " +"layers" msgstr "" +"Filtrar espacions menores que el umbral especificado. Esta configuración no afectará en " +"las capas superior/inferior" msgid "" -"Speed of gap infill. Gap usually has irregular line width and should be " -"printed more slowly" +"Speed of gap infill. Gap usually has irregular line width and should be printed more slowly" msgstr "" -"Velocidad de relleno del hueco. El hueco suele tener una anchura de línea " -"irregular y debe imprimirse más lentamente" +"Velocidad de relleno del hueco. El hueco suele tener una anchura de línea irregular y debe " +"imprimirse más lentamente" msgid "Arc fitting" msgstr "Ajuste del arco" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"Enable this to get a G-code file which has G2 and G3 moves. And the fitting tolerance is " +"same with resolution" msgstr "" -"Habilite esto para obtener un archivo de código G que tiene movimientos G2 y " -"G3. Y la tolerancia de ajuste es la misma con la resolución" +"Habilite esto para obtener un archivo de código G que tiene movimientos G2 y G3. Y la " +"tolerancia de ajuste es la misma con la resolución" msgid "Add line number" msgstr "Añadir número de línea" msgid "Enable this to add line number(Nx) at the beginning of each G-Code line" msgstr "" -"Active esta opción para añadir el número de línea (Nx) al principio de cada " -"línea de G-Code" +"Active esta opción para añadir el número de línea (Nx) al principio de cada línea de G-Code" msgid "Scan first layer" msgstr "Escanear la primera capa" -msgid "" -"Enable this to enable the camera on printer to check the quality of first " -"layer" +msgid "Enable this to enable the camera on printer to check the quality of first layer" msgstr "" -"Active esta opción para que la cámara de la impresora pueda comprobar la " -"calidad de la primera capa" +"Active esta opción para que la cámara de la impresora pueda comprobar la calidad de la " +"primera capa" msgid "Nozzle type" msgstr "Tipo de boquilla" msgid "" -"The metallic material of nozzle. This determines the abrasive resistance of " -"nozzle, and what kind of filament can be printed" +"The metallic material of nozzle. This determines the abrasive resistance of nozzle, and " +"what kind of filament can be printed" msgstr "" -"El material metálico de la boquilla. Esto determina la resistencia a la " -"abrasión de la boquilla, y qué tipo de filamento se puede imprimir" +"El material metálico de la boquilla. Esto determina la resistencia a la abrasión de la " +"boquilla, y qué tipo de filamento se puede imprimir" msgid "Undefine" -msgstr "" +msgstr "Indefinido" msgid "Hardened steel" msgstr "Acero endurecido" @@ -7523,20 +7675,60 @@ msgid "Brass" msgstr "Latón" msgid "Nozzle HRC" -msgstr "" +msgstr "HRC Boquilla" -msgid "" -"The nozzle's hardness. Zero means no checking for nozzle's hardness during " -"slicing." +msgid "The nozzle's hardness. Zero means no checking for nozzle's hardness during slicing." msgstr "" +"La dureza de la boquilla. Cero significa no comprobará la dureza de la boquilla durante el " +"laminado." msgid "HRC" msgstr "" msgid "Enable this option if machine has auxiliary part cooling fan" msgstr "" -"Habilite esta opción si la máquina tiene un ventilador auxiliar de " -"refrigeración de piezas" +"Habilite esta opción si la máquina tiene un ventilador auxiliar de refrigeración de piezas" + +msgid "" +"Start the fan this number of seconds earlier than its target start time (you can use " +"fractional seconds). It assumes infinite acceleration for this time estimation, and will " +"only take into account G1 and G0 moves (arc fitting is unsupported).\n" +"It won't move fan comands from custom gcodes (they act as a sort of 'barrier').\n" +"It won't move fan comands into the start gcode if the 'only custom start gcode' is " +"activated.\n" +"Use 0 to deactivate." +msgstr "" +"Inicia el ventilador este numero de segundos antes que el tiempo de inicio objetivo " +"(puedes usar segundos fraccionales). Esto asume aceleración para esta estimación de " +"tiempo, y esto solo se tendrá en cuenta los movimientos G1 y g0 (no soporta el montaje de " +"arco).\n" +"Esto no moverá comandos de ventilador desde gcodes personalizados (ellos actúan como un " +"tipo de 'barrera').\n" +"Usar 0 para desactivar." + +msgid "Only overhangs" +msgstr "Solo voladizos" + +msgid "Will only take into account the delay for the cooling of overhangs." +msgstr "Solo se tomará dentro de la cuenta el retraso para enfriar los voladizos." + +msgid "Fan kick-start time" +msgstr "Tiempo de arranque de ventilador" + +msgid "" +"Emit a max fan speed command for this amount of seconds before reducing to target speed to " +"kick-start the cooling fan.\n" +"This is useful for fans where a low PWM/power may be insufficient to get the fan started " +"spinning from a stop, or to get the fan up to speed faster.\n" +"Set to 0 to deactivate." +msgstr "" +"Emite un comando de velocidad máxima del ventilador durante esta cantidad de segundos " +"antes de reducir a la velocidad objetivo para poner en marcha el ventilador de " +"refrigeración.\n" +"Esto es útil para ventiladores donde un PWM/potencia baja puede ser insuficiente para que " +"el ventilador comience a girar desde una parada, o para que el ventilador alcance la " +"velocidad más rápido.\n" +"Ajústelo a 0 para desactivarlo." msgid "G-code flavor" msgstr "Tipo de código G" @@ -7548,40 +7740,46 @@ msgid "Klipper" msgstr "" msgid "Label objects" -msgstr "" +msgstr "Objetos de etiqueta" msgid "" -"Enable this to add comments into the G-Code labeling print moves with what " -"object they belong to, which is useful for the Octoprint CancelObject " -"plugin. This settings is NOT compatible with Single Extruder Multi Material " -"setup and Wipe into Object / Wipe into Infill." +"Enable this to add comments into the G-Code labeling print moves with what object they " +"belong to, which is useful for the Octoprint CancelObject plugin. This settings is NOT " +"compatible with Single Extruder Multi Material setup and Wipe into Object / Wipe into " +"Infill." msgstr "" +"Habilite esta opción para añadir comentarios en el G-Code etiquetando los movimientos de " +"impresión con el objeto al que pertenecen, lo cual es útil para el plugin Octoprint " +"CancelObject. Esta configuración NO es compatible con la configuración de Extrusor Único " +"Multi Material y Limpiar en Objeto / Limpiar en Relleno." msgid "Exclude objects" -msgstr "" +msgstr "Excluir objetos" msgid "Enable this option to add EXCLUDE OBJECT command in g-code" -msgstr "" +msgstr "Activar esta opción para añadir el comando EXCLUDE OBJECT en el gcode" msgid "Verbose G-code" -msgstr "" +msgstr "Detallar G-code" msgid "" -"Enable this to get a commented G-code file, with each line explained by a " -"descriptive text. If you print from SD card, the additional weight of the " -"file could make your firmware slow down." +"Enable this to get a commented G-code file, with each line explained by a descriptive " +"text. If you print from SD card, the additional weight of the file could make your " +"firmware slow down." msgstr "" +"Activar esto para escoger un archivo de G-code comentado, con cada línea explicado por un " +"texto descriptivo. Si imprime desde la tarjeta SD, el peso adicional del archivo podría " +"hacer que tu firmware se ralentice." msgid "Infill combination" msgstr "Combinación de relleno" msgid "" -"Automatically Combine sparse infill of several layers to print together to " -"reduce time. Wall is still printed with original layer height." +"Automatically Combine sparse infill of several layers to print together to reduce time. " +"Wall is still printed with original layer height." msgstr "" -"Combine automáticamente el relleno disperso de varias capas para imprimirlas " -"juntas y reducir el tiempo. La pared se sigue imprimiendo con la altura " -"original de la capa." +"Combine automáticamente el relleno disperso de varias capas para imprimirlas juntas y " +"reducir el tiempo. La pared se sigue imprimiendo con la altura original de la capa." msgid "Filament to print internal sparse infill." msgstr "Filamento para imprimir el relleno interno disperso." @@ -7593,38 +7791,39 @@ msgid "Infill/Wall overlap" msgstr "Superposición de relleno/pared" msgid "" -"Infill area is enlarged slightly to overlap with wall for better bonding. " -"The percentage value is relative to line width of sparse infill" +"Infill area is enlarged slightly to overlap with wall for better bonding. The percentage " +"value is relative to line width of sparse infill" msgstr "" -"El área de relleno se amplía ligeramente para que se solape con el muro y " -"así mejorar la adherencia. El valor porcentual es relativo a la anchura de " -"la línea del relleno disperso" +"El área de relleno se amplía ligeramente para que se solape con el pared y así mejorar la " +"adherencia. El valor porcentual es relativo a la anchura de la línea del relleno disperso" msgid "Speed of internal sparse infill" msgstr "Velocidad del relleno interno disperso" msgid "Interface shells" -msgstr "" +msgstr "Carcasas de interfaz" msgid "" -"Force the generation of solid shells between adjacent materials/volumes. " -"Useful for multi-extruder prints with translucent materials or manual " -"soluble support material" +"Force the generation of solid shells between adjacent materials/volumes. Useful for multi-" +"extruder prints with translucent materials or manual soluble support material" msgstr "" +"Fuerza la generación de carcasas sólidas entre materiales/volúmenes adyacentes. Útil para " +"impresiones multiextrusoras con materiales translúcidos o material de soporte soluble " +"manualmente" msgid "Ironing Type" msgstr "Tipo de alisado" msgid "" -"Ironing is using small flow to print on same height of surface again to make " -"flat surface more smooth. This setting controls which layer being ironed" +"Ironing is using small flow to print on same height of surface again to make flat surface " +"more smooth. This setting controls which layer being ironed" msgstr "" -"El planchado es el uso de un pequeño flujo para imprimir en la misma altura " -"de la superficie de nuevo para hacer la superficie plana más suave. Este " -"ajuste controla la capa que se plancha" +"El alisado es el uso de un pequeño flujo para imprimir en la misma altura de la superficie " +"de nuevo para hacer la superficie plana más suave. Este ajuste controla la capa que se " +"alisa" msgid "No ironing" -msgstr "Sin planchado" +msgstr "Sin alisado" msgid "Top surfaces" msgstr "Superficies superiores" @@ -7636,49 +7835,48 @@ msgid "All solid layer" msgstr "Toda la capa sólida" msgid "Ironing flow" -msgstr "Flujo de planchado" +msgstr "Flujo de alisado" msgid "" -"The amount of material to extrude during ironing. Relative to flow of normal " -"layer height. Too high value results in overextrusion on the surface" +"The amount of material to extrude during ironing. Relative to flow of normal layer height. " +"Too high value results in overextrusion on the surface" msgstr "" -"La cantidad de material a extruir durante el planchado. Relativo al flujo de " -"la altura de la capa normal. Un valor demasiado alto provoca una " -"sobreextrusión en la superficie" +"La cantidad de material a extruir durante el alisado. Relativo al flujo de la altura de la " +"capa normal. Un valor demasiado alto provoca una sobreextrusión en la superficie" msgid "Ironing line spacing" -msgstr "Espacio entre líneas de planchado" +msgstr "Espacio entre líneas de alisado" msgid "The distance between the lines of ironing" -msgstr "La distancia entre las líneas de planchado" +msgstr "La distancia entre las líneas de alisado" msgid "Ironing speed" -msgstr "Velocidad de planchado" +msgstr "Velocidad de alisado" msgid "Print speed of ironing lines" -msgstr "Velocidad de impresión de las líneas de planchado" +msgstr "Velocidad de impresión de las líneas de alisado" msgid "This gcode part is inserted at every layer change after lift z" -msgstr "" -"Esta parte de gcode se inserta en cada cambio de capa después de levantar z" +msgstr "Esta parte de gcode se inserta en cada cambio de capa después de levantar z" msgid "Supports silent mode" msgstr "Admite el modo silencioso" msgid "" -"Whether the machine supports silent mode in which machine use lower " -"acceleration to print" +"Whether the machine supports silent mode in which machine use lower acceleration to print" msgstr "" -"Si la máquina admite el modo silencioso en el que la máquina utiliza una " -"menor aceleración para imprimir" +"Si la máquina admite el modo silencioso en el que la máquina utiliza una menor aceleración " +"para imprimir" msgid "" -"This G-code will be used as a code for the pause print. User can insert " -"pause G-code in gcode viewer" +"This G-code will be used as a code for the pause print. User can insert pause G-code in " +"gcode viewer" msgstr "" +"Este G-code se usará como cídugo para la pausa de impresión. El usuario puede insertar una " +"pausa en el visor de gcode" msgid "This G-code will be used as a custom code" -msgstr "" +msgstr "Este G-code se usará para el código personalizado" msgid "Maximum speed X" msgstr "Velocidad máxima X" @@ -7789,51 +7987,49 @@ msgid "Fan speed" msgstr "Velocidad del ventilador" msgid "" -"Part cooling fan speed may be increased when auto cooling is enabled. This " -"is the maximum speed limitation of part cooling fan" +"Part cooling fan speed may be increased when auto cooling is enabled. This is the maximum " +"speed limitation of part cooling fan" msgstr "" -"La velocidad del ventilador de enfriamiento de la pieza puede aumentarse " -"cuando la refrigeración automática está activada. Esta es la limitación de " -"velocidad máxima del ventilador de refrigeración parcial" +"La velocidad del ventilador de enfriamiento de la pieza puede aumentarse cuando la " +"refrigeración automática está activada. Esta es la limitación de velocidad máxima del " +"ventilador de refrigeración parcial" msgid "Max" msgstr "Max" msgid "" -"The largest printable layer height for extruder. Used tp limits the maximum " -"layer hight when enable adaptive layer height" +"The largest printable layer height for extruder. Used tp limits the maximum layer hight " +"when enable adaptive layer height" msgstr "" -"La mayor altura de capa imprimible para el extrusor. Se utiliza para limitar " -"la altura máxima de la capa cuando se habilita la altura de capa adaptativa." +"La mayor altura de capa imprimible para el extrusor. Se utiliza para limitar la altura " +"máxima de la capa cuando se habilita la altura de capa adaptativa" msgid "Minimum speed for part cooling fan" msgstr "Velocidad mínima del ventilador de refrigeración de la pieza" msgid "" -"Speed of auxiliary part cooling fan. Auxiliary fan will run at this speed " -"during printing except the first several layers which is defined by no " -"cooling layers" +"Speed of auxiliary part cooling fan. Auxiliary fan will run at this speed during printing " +"except the first several layers which is defined by no cooling layers" msgstr "" -"Velocidad del ventilador de la parte auxiliar. El ventilador auxiliar " -"funcionará a esta velocidad durante la impresión, excepto en las primeras " -"capas, que se define por la ausencia de capas de refrigeración" +"Velocidad del ventilador de la parte auxiliar. El ventilador auxiliar funcionará a esta " +"velocidad durante la impresión, excepto en las primeras capas, que se define por la " +"ausencia de capas de refrigeración" msgid "Min" msgstr "Min" msgid "" -"The lowest printable layer height for extruder. Used tp limits the minimum " -"layer hight when enable adaptive layer height" +"The lowest printable layer height for extruder. Used tp limits the minimum layer hight " +"when enable adaptive layer height" msgstr "" -"La menor altura de capa imprimible para el extrusor. Se utiliza para limitar " -"la altura mínima de la capa cuando se activa la altura de capa adaptable." +"La menor altura de capa imprimible para el extrusor. Se utiliza para limitar la altura " +"mínima de la capa cuando se activa la altura de capa adaptable" msgid "Min print speed" msgstr "Velocidad de impresión mínima" msgid "The minimum printing speed when slow down for cooling" -msgstr "" -"La velocidad mínima de impresión cuando se ralentiza para el enfriamiento" +msgstr "La velocidad mínima de impresión cuando se ralentiza para el enfriamiento" msgid "Nozzle diameter" msgstr "Diámetro de la boquilla" @@ -7842,12 +8038,14 @@ msgid "Diameter of nozzle" msgstr "Diámetro de la boquilla" msgid "Host Type" -msgstr "" +msgstr "Tipo de host" msgid "" -"Slic3r can upload G-code files to a printer host. This field must contain " -"the kind of the host." +"Slic3r can upload G-code files to a printer host. This field must contain the kind of the " +"host." msgstr "" +"Orca Slicer puede cargar archivos G-code a un host de impresora. Este campo puede contener " +"el tipo de host." msgid "Nozzle volume" msgstr "Tamaño de la boquilla" @@ -7856,19 +8054,23 @@ msgid "Volume of nozzle between the cutter and the end of nozzle" msgstr "Espacio de la boquilla entre el cortador y el extremo de la boquilla" msgid "Start end points" -msgstr "" +msgstr "Puntos de inicio fin" msgid "The start and end points which is from cutter area to garbage can." -msgstr "" +msgstr "Los puntos de inicio y fin, desde la zona de corte al cubo de basura." msgid "Reduce infill retraction" msgstr "Reducir la retracción del relleno" msgid "" -"Don't retract when the travel is in infill area absolutely. That means the " -"oozing can't been seen. This can reduce times of retraction for complex " -"model and save printing time, but make slicing and G-code generating slower" +"Don't retract when the travel is in infill area absolutely. That means the oozing can't " +"been seen. This can reduce times of retraction for complex model and save printing time, " +"but make slicing and G-code generating slower" msgstr "" +"No retraiga cuando el viaje está totalmente en el área de relleno. Eso significa que el " +"rezume no se puede ver. Esto puede reducir los tiempos de retracción para el modelo " +"complejo y ahorrar tiempo de impresión, pero hacer que el corte y la generación de código " +"G más lento" msgid "Enable" msgstr "Habilitar" @@ -7878,20 +8080,19 @@ msgstr "Formato de los archivos" msgid "User can self-define the project file name when export" msgstr "" -"El usuario puede definir por sí mismo el nombre del archivo del proyecto al " -"exportarlo" +"El usuario puede definir por sí mismo el nombre del archivo del proyecto al exportarlo" msgid "Detect overhang wall" msgstr "Detectar el voladizo de la pared" #, c-format, boost-format msgid "" -"Detect the overhang percentage relative to line width and use different " -"speed to print. For 100%% overhang, bridge speed is used." +"Detect the overhang percentage relative to line width and use different speed to print. " +"For 100%% overhang, bridge speed is used." msgstr "" -"Detecta el porcentaje de voladizo en relación con el ancho de la línea y " -"utiliza diferentes velocidades para imprimir. Para el 100%% de voladizo, se " -"utiliza la velocidad de puente." +"Detecta el porcentaje de voladizo en relación con el ancho de la línea y utiliza " +"diferentes velocidades para imprimir. Para el 100%% de voladizo, se utiliza la velocidad " +"de puente." msgid "Line width of inner wall" msgstr "Ancho de línea de la pared interior" @@ -7903,78 +8104,74 @@ msgid "Number of walls of every layer" msgstr "Número de paredes de cada capa" msgid "" -"If you want to process the output G-code through custom scripts, just list " -"their absolute paths here. Separate multiple scripts with a semicolon. " -"Scripts will be passed the absolute path to the G-code file as the first " -"argument, and they can access the Slic3r config settings by reading " -"environment variables." +"If you want to process the output G-code through custom scripts, just list their absolute " +"paths here. Separate multiple scripts with a semicolon. Scripts will be passed the " +"absolute path to the G-code file as the first argument, and they can access the Slic3r " +"config settings by reading environment variables." msgstr "" +"Si desea procesar el G-code de salida a través de scripts personalizados, simplemente " +"enumere sus rutas absolutas aquí. Separe varios scripts con punto y coma. A los scripts se " +"les pasará la ruta absoluta al archivo G-code como primer argumento, y pueden acceder a " +"los ajustes de configuración de OrcaSlicer leyendo variables de entorno." msgid "Raft contact Z distance" -msgstr "Distancia Z de contacto de la balsa" +msgstr "Distancia Z de contacto de la base de impresión" msgid "Z gap between object and raft. Ignored for soluble interface" -msgstr "" -"Espacio Z entre el objeto y la balsa. Se ignora para la interfaz soluble" +msgstr "Espacio Z entre el objeto y la base de impresión. Se ignora para la interfaz soluble" msgid "Raft expansion" -msgstr "Expansión de la balsa" +msgstr "Expansión de la base de impresión" msgid "Expand all raft layers in XY plane" -msgstr "Expandir todas las capas de la balsa en el plano XY" +msgstr "Expandir todas las capas de la base de impresión en el plano XY" msgid "Initial layer density" msgstr "Densidad de la capa inicial" msgid "Density of the first raft or support layer" -msgstr "Densidad de la primera balsa o capa de soporte" +msgstr "Densidad de la primera base de impresión o capa de soporte" msgid "Initial layer expansion" msgstr "Expansión de la capa inicial" msgid "Expand the first raft or support layer to improve bed plate adhesion" msgstr "" -"Expandir la primera balsa o capa de soporte para mejorar la adherencia de la " -"placa de la cama" +"Expandir la primera base de impresión o capa de soporte para mejorar la adherencia de la " +"cama de la cama" msgid "Raft layers" -msgstr "Capas de balsa" +msgstr "Capas de base de impresión" msgid "" -"Object will be raised by this number of support layers. Use this function to " -"avoid wrapping when print ABS" +"Object will be raised by this number of support layers. Use this function to avoid " +"wrapping when print ABS" msgstr "" -"El objeto será elevado por este número de capas de soporte. Utilice esta " -"función para evitar la envoltura al imprimir ABS" +"El objeto será elevado por este número de capas de soporte. Utilice esta función para " +"evitar la envoltura al imprimir ABS" msgid "" -"G-code path is genereated after simplifing the contour of model to avoid too " -"much points and gcode lines in gcode file. Smaller value means higher " -"resolution and more time to slice" +"G-code path is genereated after simplifing the contour of model to avoid too much points " +"and gcode lines in gcode file. Smaller value means higher resolution and more time to slice" msgstr "" -"La ruta del código G se genera después de simplificar el contorno del modelo " -"para evitar demasiados puntos y líneas de código G en el archivo de código " -"G. Un valor más pequeño significa una mayor resolución y más tiempo para " -"cortar." +"La ruta del código G se genera después de simplificar el contorno del modelo para evitar " +"demasiados puntos y líneas de código G en el archivo de código G. Un valor más pequeño " +"significa una mayor resolución y más tiempo para cortar" msgid "Travel distance threshold" msgstr "Umbral de distancia de desplazamiento" -msgid "" -"Only trigger retraction when the travel distance is longer than this " -"threshold" +msgid "Only trigger retraction when the travel distance is longer than this threshold" msgstr "" -"Sólo se activa la retracción cuando la distancia de recorrido es superior a " -"este umbral" +"Sólo se activa la retracción cuando la distancia de recorrido es superior a este umbral" msgid "Retract amount before wipe" msgstr "Retracta cantidad antes de limpiar" -msgid "" -"The length of fast retraction before wipe, relative to retraction length" +msgid "The length of fast retraction before wipe, relative to retraction length" msgstr "" -"La longitud de la retracción rápida antes de la limpieza, en relación con la " -"longitud de la retracción" +"La longitud de la retracción rápida antes de la limpieza, en relación con la longitud de " +"la retracción" msgid "Retract when change layer" msgstr "Retirada al cambiar de capa" @@ -7989,47 +8186,50 @@ msgid "Retraction Length" msgstr "Longitud de retracción" msgid "" -"Some amount of material in extruder is pulled back to avoid ooze during long " -"travel. Set zero to disable retraction" +"Some amount of material in extruder is pulled back to avoid ooze during long travel. Set " +"zero to disable retraction" msgstr "" -"Una cierta cantidad de material en el extrusor se extrae para evitar el " -"rezumado durante el recorrido largo. Ajustar el cero para desactivar la " -"retracción" +"Una cierta cantidad de material en el extrusor se extrae para evitar el rezumado durante " +"el recorrido largo. Ajustar el cero para desactivar la retracción" msgid "Z hop when retract" -msgstr "Salto en Z al replegarse" +msgstr "Salto en Z al retraerse" msgid "" -"Whenever the retraction is done, the nozzle is lifted a little to create " -"clearance between nozzle and the print. It prevents nozzle from hitting the " -"print when travel move. Using spiral line to lift z can prevent stringing" +"Whenever the retraction is done, the nozzle is lifted a little to create clearance between " +"nozzle and the print. It prevents nozzle from hitting the print when travel move. Using " +"spiral line to lift z can prevent stringing" msgstr "" -"Cada vez que se realiza la retracción, la boquilla se levanta un poco para " -"crear un espacio libre entre la boquilla y la impresión. Esto evita que la " -"boquilla golpee la impresión cuando se desplaza. El uso de la línea espiral " -"para levantar z puede evitar el encordado" +"Cada vez que se realiza la retracción, la boquilla se levanta un poco para crear un " +"espacio libre entre la boquilla y la impresión. Esto evita que la boquilla golpee la " +"impresión cuando se desplaza. El uso de la línea espiral para levantar z puede evitar el " +"encordado" msgid "Z hop type" -msgstr "" +msgstr "Tipo de salto Z" msgid "Slope" -msgstr "" +msgstr "Pendiente" msgid "Spiral" -msgstr "" +msgstr "Espiral" msgid "Extra length on restart" -msgstr "" +msgstr "Longitud extra de reinicio" msgid "" -"When the retraction is compensated after the travel move, the extruder will " -"push this additional amount of filament. This setting is rarely needed." +"When the retraction is compensated after the travel move, the extruder will push this " +"additional amount of filament. This setting is rarely needed." msgstr "" +"Cuando la retracción se compensa después de un movimiento de viaje, el extrusor expulsará " +"esa cantidad de filamento adicional. Este ajuste raramente se necesitará." msgid "" -"When the retraction is compensated after changing tool, the extruder will " -"push this additional amount of filament." +"When the retraction is compensated after changing tool, the extruder will push this " +"additional amount of filament." msgstr "" +"Cuando se compensa la retracción después de cambiar de herramienta, el extrusor empujará " +"esta cantidad adicional de filamento." msgid "Retraction Speed" msgstr "Velocidad de retracción" @@ -8040,23 +8240,23 @@ msgstr "Velocidad de las retracciones" msgid "Deretraction Speed" msgstr "Velocidad de deretracción" -msgid "" -"Speed for reloading filament into extruder. Zero means same speed with " -"retraction" +msgid "Speed for reloading filament into extruder. Zero means same speed with retraction" msgstr "" -"Velocidad de recarga del filamento en el extrusor. Cero significa la misma " -"velocidad con la retracción" +"Velocidad de recarga del filamento en el extrusor. Cero significa la misma velocidad con " +"la retracción" msgid "Use firmware retraction" -msgstr "" +msgstr "Usar retracción de firmware" msgid "" -"This experimental setting uses G10 and G11 commands to have the firmware " -"handle the retraction. This is only supported in recent Marlin." +"This experimental setting uses G10 and G11 commands to have the firmware handle the " +"retraction. This is only supported in recent Marlin." msgstr "" +"Esta configuración experimental utiliza los comandos G10 y G11 para que el firmware se " +"encargue de la retracción. Sólo se admite en variables de entorno recientes de Marlin.ding." msgid "Show auto-calibration marks" -msgstr "" +msgstr "Muestra marcas de autocalibración" msgid "Seam position" msgstr "Posición de la costura" @@ -8074,56 +8274,69 @@ msgid "Back" msgstr "Volver" msgid "Random" -msgstr "" +msgstr "Aleatorio" msgid "Seam gap" -msgstr "" +msgstr "Separación entre costuras" msgid "" -"In order to reduce the visibility of the seam in a closed loop extrusion, " -"the loop is interrupted and shortened by a specified amount.\n" -"This amount can be specified in millimeters or as a percentage of the current " -"extruder diameter. The default value for this parameter is 15%." +"In order to reduce the visibility of the seam in a closed loop extrusion, the loop is " +"interrupted and shortened by a specified amount.\n" +"This amount can be specified in millimeters or as a percentage of the current extruder " +"diameter. The default value for this parameter is 15%." msgstr "" +"Para reducir la visibilidad de la costura en una extrusión de bucle cerrado, el bucle se " +"interrumpe y se acorta en una cantidad especificada.\n" +"Esta cantidad puede especificarse en milímetros o como porcentaje del diámetro actual del " +"extrusor. El valor por defecto de este parámetro es 15%." msgid "Role base wipe speed" -msgstr "" +msgstr "Velocidad de limpieza de la base de roles" msgid "" -"The wipe speed is determined by the speed of the current extrusion role.e.g. " -"if a wipe action is executed immediately following an outer wall extrusion, " -"the speed of the outer wall extrusion will be utilized for the wipe action." +"The wipe speed is determined by the speed of the current extrusion role.e.g. if a wipe " +"action is executed immediately following an outer wall extrusion, the speed of the outer " +"wall extrusion will be utilized for the wipe action." msgstr "" +"La velocidad de limpieza viene determinada por la velocidad de la función de extrusión " +"actual. Por ejemplo, si se ejecuta una acción de limpieza inmediatamente después de una " +"extrusión de la pared exterior, se utilizará la velocidad de la extrusión de la pared " +"exterior para la acción de limpieza." msgid "Wipe on loops" -msgstr "" +msgstr "Barrido en bucles" msgid "" -"To minimize the visibility of the seam in a closed loop extrusion, a small " -"inward movement is executed before the extruder leaves the loop." +"To minimize the visibility of the seam in a closed loop extrusion, a small inward movement " +"is executed before the extruder leaves the loop." msgstr "" +"Para minimizar la visibilidad de la costura en una extrusión de bucle cerrado, se ejecuta " +"un pequeño movimiento hacia dentro antes de que el extrusor abandone el bucle." msgid "Wipe speed" -msgstr "" +msgstr "Velocidad de limpieza" msgid "" -"The wipe speed is determined by the speed setting specified in this " -"configuration.If the value is expressed as a percentage (e.g. 80%), it will " -"be calculated based on the travel speed setting above.The default value for " -"this parameter is 80%" +"The wipe speed is determined by the speed setting specified in this configuration.If the " +"value is expressed as a percentage (e.g. 80%), it will be calculated based on the travel " +"speed setting above.The default value for this parameter is 80%" msgstr "" +"La velocidad de barrido viene determinada por el ajuste de velocidad especificado en esta " +"configuración. Si el valor se expresa en porcentaje (por ejemplo, 80%), se calculará en " +"función del ajuste de velocidad de desplazamiento anterior. El valor por defecto de este " +"parámetro es 80%" msgid "Skirt distance" msgstr "Distancia de la falda" msgid "Distance from skirt to brim or object" -msgstr "Distancia de la falda al borde o al objeto" +msgstr "Distancia de la falda al borde de adherencia o al objeto" msgid "Skirt height" -msgstr "" +msgstr "Altura de falda" msgid "How many layers of skirt. Usually only one layer" -msgstr "" +msgstr "C capas de falda. Normalmente sólo una capa" msgid "Skirt loops" msgstr "Contorno de la falda" @@ -8132,22 +8345,21 @@ msgid "Number of loops for the skirt. Zero means disabling skirt" msgstr "Número de bucles de la falda. Cero significa desactivar el faldón" msgid "" -"The printing speed in exported gcode will be slowed down, when the estimated " -"layer time is shorter than this value, to get better cooling for these layers" +"The printing speed in exported gcode will be slowed down, when the estimated layer time is " +"shorter than this value, to get better cooling for these layers" msgstr "" -"La velocidad de impresión en el gcode exportado se ralentizará, cuando el " -"tiempo estimado de la capa sea inferior a este valor, para conseguir una " -"mejor refrigeración de estas capas" +"La velocidad de impresión en el gcode exportado se ralentizará, cuando el tiempo estimado " +"de la capa sea inferior a este valor, para conseguir una mejor refrigeración de estas capas" msgid "Minimum sparse infill threshold" msgstr "Umbral mínimo de relleno disperso" msgid "" -"Sparse infill area which is smaller than threshold value is replaced by " -"internal solid infill" +"Sparse infill area which is smaller than threshold value is replaced by internal solid " +"infill" msgstr "" -"El área de relleno disperso que es menor que el valor del umbral se " -"sustituye por un relleno sólido interno" +"El área de relleno disperso que es menor que el valor del umbral se sustituye por un " +"relleno sólido interno" msgid "mm²" msgstr "mm²" @@ -8156,34 +8368,37 @@ msgid "Line width of internal solid infill" msgstr "Ancho de línea del relleno sólido interno" msgid "Speed of internal solid infill, not the top and bottom surface" -msgstr "" -"Velocidad del relleno sólido interno, no la superficie superior e inferior" +msgstr "Velocidad del relleno sólido interno, no la superficie superior e inferior" msgid "Spiral vase" -msgstr "" +msgstr "Vaso en espiral" msgid "" -"Spiralize smooths out the z moves of the outer contour. And turns a solid " -"model into a single walled print with solid bottom layers. The final " -"generated model has no seam" +"Spiralize smooths out the z moves of the outer contour. And turns a solid model into a " +"single walled print with solid bottom layers. The final generated model has no seam" msgstr "" -"Spiralize suaviza los movimientos z del contorno exterior. Y convierte un " -"modelo sólido en una impresión de una sola pared con capas inferiores " -"sólidas. El modelo final generado no tiene costura" +"Spiralize suaviza los movimientos z del contorno exterior. Y convierte un modelo sólido en " +"una impresión de una sola pared con capas inferiores sólidas. El modelo final generado no " +"tiene costura" msgid "" -"If smooth or traditional mode is selected, a timelapse video will be " -"generated for each print. After each layer is printed, a snapshot is taken " -"with the chamber camera. All of these snapshots are composed into a " -"timelapse video when printing completes. If smooth mode is selected, the " -"toolhead will move to the excess chute after each layer is printed and then " -"take a snapshot. Since the melt filament may leak from the nozzle during the " -"process of taking a snapshot, prime tower is required for smooth mode to " -"wipe nozzle." +"If smooth or traditional mode is selected, a timelapse video will be generated for each " +"print. After each layer is printed, a snapshot is taken with the chamber camera. All of " +"these snapshots are composed into a timelapse video when printing completes. If smooth " +"mode is selected, the toolhead will move to the excess chute after each layer is printed " +"and then take a snapshot. Since the melt filament may leak from the nozzle during the " +"process of taking a snapshot, prime tower is required for smooth mode to wipe nozzle." msgstr "" +"Sí se selecciona el modo suave o tradicional, se generará un vídeo time-lapse para cada " +"impresión. Después de imprimir cada capa, se toma una instantánea con la cámara. Todas " +"estas instantáneas se componen en un vídeo time-lapse cuando finaliza la impresión. Si se " +"selecciona el modo suave, el cabezal de la herramienta se moverá a la rampa de exceso " +"después de cada capa se imprime y luego tomar una instantánea. Dado que el filamento " +"fundido puede gotear de la boquilla durante el proceso de tomar una instantánea, la torre " +"de purga es necesaria para el modo suave de limpiar la boquilla." msgid "Traditional" -msgstr "" +msgstr "Tradicional" msgid "Temperature variation" msgstr "Variación de temperatura" @@ -8198,30 +8413,35 @@ msgid "Start G-code when start the printing of this filament" msgstr "Inicie el código G al comenzar la impresión de este filamento" msgid "Slice gap closing radius" -msgstr "" +msgstr "Radio de cierre de laminado" msgid "" -"Cracks smaller than 2x gap closing radius are being filled during the " -"triangle mesh slicing. The gap closing operation may reduce the final print " -"resolution, therefore it is advisable to keep the value reasonably low." +"Cracks smaller than 2x gap closing radius are being filled during the triangle mesh " +"slicing. The gap closing operation may reduce the final print resolution, therefore it is " +"advisable to keep the value reasonably low." msgstr "" +"Las grietas más pequeñas que el radio de cierre 2x se rellenan durante el corte de la " +"malla triangular. La operación de cierre de huecos puede reducir la resolución de " +"impresión final, por lo que es aconsejable mantener el valor razonablemente bajo." msgid "Slicing Mode" -msgstr "" +msgstr "Modo de laminado" msgid "" -"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to " -"close all holes in the model." +"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in " +"the model." msgstr "" +"Utilice \"Par-impar\" para los modelos de avión de 3DLabPrint. Utilice \"Cerrar agujeros\" " +"para cerrar todos los agujeros del modelo." msgid "Regular" msgstr "" msgid "Even-odd" -msgstr "" +msgstr "Par-impar" msgid "Close holes" -msgstr "" +msgstr "Cerrar agujeros" msgid "Enable support" msgstr "Habilitar el soporte" @@ -8230,10 +8450,11 @@ msgid "Enable support generation." msgstr "Habilitar la generación de soporte." msgid "" -"normal(auto) and tree(auto) is used to generate support automatically. If " -"normal(manual) or tree(manual) is selected, only support enforcers are " -"generated" +"normal(auto) and tree(auto) is used to generate support automatically. If normal(manual) " +"or tree(manual) is selected, only support enforcers are generated" msgstr "" +"normal(auto) y tree(auto) se utiliza para generar soporte automáticamente. Si se " +"selecciona normal(manual) o árbol(manual), sólo se generan los refuerzos de apoyo" msgid "normal(auto)" msgstr "normal(auto)" @@ -8245,7 +8466,7 @@ msgid "normal(manual)" msgstr "" msgid "tree(manual)" -msgstr "" +msgstr "árbol(manual)" msgid "Support/object xy distance" msgstr "Distancia soporte/objeto xy" @@ -8257,23 +8478,20 @@ msgid "Pattern angle" msgstr "Ángulo del patrón" msgid "Use this setting to rotate the support pattern on the horizontal plane." -msgstr "" -"Utilice este ajuste para girar el patrón de soporte en el plano horizontal." +msgstr "Utilice este ajuste para girar el patrón de soporte en el plano horizontal." msgid "On build plate only" -msgstr "Sólo en la placa de impresión" +msgstr "Sólo en la cama de impresión" msgid "Don't create support on model surface, only on build plate" -msgstr "" -"No crear soporte en la superficie del modelo, sólo en la placa de impresión" +msgstr "No crear soporte en la superficie del modelo, sólo en la cama de impresión" msgid "Support critical regions only" -msgstr "" +msgstr "Añadir soportes en regiones críticas solo" -msgid "" -"Only create support for critical regions including sharp tail, cantilever, " -"etc." +msgid "Only create support for critical regions including sharp tail, cantilever, etc." msgstr "" +"Cree soportes sólo para las regiones críticas, como la cola afilada, el voladizo, etc." msgid "Top Z distance" msgstr "Distancia Z superior" @@ -8282,18 +8500,20 @@ msgid "The z gap between the top support interface and object" msgstr "La distancia z entre la interfaz de soporte superior y el objeto" msgid "Bottom Z distance" -msgstr "" +msgstr "Distancia Z inferior" msgid "The z gap between the bottom support interface and object" -msgstr "" +msgstr "La distancia z entre la interfaz de apoyo inferior y el objeto" msgid "Support/raft base" -msgstr "" +msgstr "Soporte/plataforma base" msgid "" -"Filament to print support base and raft. \"Default\" means no specific " -"filament for support and current filament is used" +"Filament to print support base and raft. \"Default\" means no specific filament for " +"support and current filament is used" msgstr "" +"Filamento para imprimir la base de soporte y la base de impresión. \"Por defecto\" " +"significa que no hay filamento específico para el soporte y se utiliza el filamento actual" msgid "Line width of support" msgstr "Ancho de línea del soporte" @@ -8301,19 +8521,19 @@ msgstr "Ancho de línea del soporte" msgid "Interface use loop pattern" msgstr "Uso de la interfaz en forma de bucle" -msgid "" -"Cover the top contact layer of the supports with loops. Disabled by default." +msgid "Cover the top contact layer of the supports with loops. Disabled by default." msgstr "" -"Cubrir la capa de contacto superior de los soportes con bucles. Desactivado " -"por defecto." +"Cubrir la capa de contacto superior de los soportes con bucles. Desactivado por defecto." msgid "Support/raft interface" -msgstr "" +msgstr "Interfaz de soporte/base de impresión" msgid "" -"Filament to print support interface. \"Default\" means no specific filament " -"for support interface and current filament is used" +"Filament to print support interface. \"Default\" means no specific filament for support " +"interface and current filament is used" msgstr "" +"Filamento para imprimir interfaz de soporte. \"Por defecto\" significa que no hay " +"filamento específico para la interfaz de soporte y se utiliza el filamento actual" msgid "Top interface layers" msgstr "Capas de la interfaz superior" @@ -8328,16 +8548,13 @@ msgid "Top interface spacing" msgstr "Distancia de la interfaz superior" msgid "Spacing of interface lines. Zero means solid interface" -msgstr "" -"Espacio de las líneas de interfaz. Cero significa que la interfaz es sólida" +msgstr "Espacio de las líneas de interfaz. Cero significa que la interfaz es sólida" msgid "Bottom interface spacing" msgstr "Distancia de la interfaz inferior" msgid "Spacing of bottom interface lines. Zero means solid interface" -msgstr "" -"Espacio entre las líneas de la interfaz inferior. Cero significa interfaz " -"sólida" +msgstr "Espacio entre las líneas de la interfaz inferior. Cero significa interfaz sólida" msgid "Speed of support interface" msgstr "Velocidad de la interfaz de soporte" @@ -8352,22 +8569,21 @@ msgid "Rectilinear grid" msgstr "Rejilla rectilínea" msgid "Hollow" -msgstr "" +msgstr "Hueco" msgid "Interface pattern" msgstr "Patrón de interfaz" msgid "" -"Line pattern of support interface. Default pattern for non-soluble support " -"interface is Rectilinear, while default pattern for soluble support " -"interface is Concentric" +"Line pattern of support interface. Default pattern for non-soluble support interface is " +"Rectilinear, while default pattern for soluble support interface is Concentric" msgstr "" -"Patrón de líneas de la interfaz de soporte. El patrón por defecto para la " -"interfaz de soporte no soluble es Rectilíneo, mientras que el patrón por " -"defecto para la interfaz de soporte soluble es Concéntrico" +"Patrón de líneas de la interfaz de soporte. El patrón por defecto para la interfaz de " +"soporte no soluble es Rectilíneo, mientras que el patrón por defecto para la interfaz de " +"soporte soluble es Concéntrico" msgid "Rectilinear Interlaced" -msgstr "" +msgstr "Entrelazado rectilíneo" msgid "Base pattern spacing" msgstr "Espaciamiento del patrón base" @@ -8376,96 +8592,103 @@ msgid "Spacing between support lines" msgstr "Espacio entre las líneas de apoyo" msgid "Normal Support expansion" -msgstr "" +msgstr "Expasión de Soporte Normal" msgid "Expand (+) or shrink (-) the horizontal span of normal support" -msgstr "" +msgstr "Ampliar (+) o reducir (-) la expansión horizontal del soporte normal" msgid "Speed of support" msgstr "Velocidad de la asistencia" msgid "" -"Style and shape of the support. For normal support, projecting the supports " -"into a regular grid will create more stable supports (default), while snug " -"support towers will save material and reduce object scarring.\n" -"For tree support, slim style will merge branches more aggressively and save " -"a lot of material (default), while hybrid style will create similar " -"structure to normal support under large flat overhangs." +"Style and shape of the support. For normal support, projecting the supports into a regular " +"grid will create more stable supports (default), while snug support towers will save " +"material and reduce object scarring.\n" +"For tree support, slim style will merge branches more aggressively and save a lot of " +"material (default), while hybrid style will create similar structure to normal support " +"under large flat overhangs." msgstr "" +"Estilo y forma del soporte. Para el soporte normal, proyectar los soportes en una " +"cuadrícula regular creará soportes más estables (por defecto), mientras que las torres de " +"soporte ajustadas ahorrarán material y reducirán las cicatrices del objeto.\n" +"Para el soporte arbóreo, el estilo esbelto fusionará las ramas de forma más agresiva y " +"ahorrará mucho material (por defecto), mientras que el estilo híbrido creará una " +"estructura similar a la del soporte normal bajo grandes voladizos planos." msgid "Snug" msgstr "Ajustado" msgid "Tree Slim" -msgstr "" +msgstr "Árbol Delgado" msgid "Tree Strong" -msgstr "" +msgstr "Árbol Fuerte" msgid "Tree Hybrid" -msgstr "" +msgstr "Árbol Híbrido" msgid "Independent support layer height" msgstr "Altura de la capa de soporte independiente" msgid "" -"Support layer uses layer height independent with object layer. This is to " -"support customizing z-gap and save print time.This option will be invalid " -"when the prime tower is enabled." +"Support layer uses layer height independent with object layer. This is to support " +"customizing z-gap and save print time.This option will be invalid when the prime tower is " +"enabled." msgstr "" +"La capa de soporte utiliza una altura de capa independiente de la capa del objeto. Esta " +"opción no será válida si la torre de purga está activada." msgid "Threshold angle" msgstr "Ángulo de umbral" -msgid "" -"Support will be generated for overhangs whose slope angle is below the " -"threshold." +msgid "Support will be generated for overhangs whose slope angle is below the threshold." msgstr "" -"Se generará un soporte para los voladizos cuyo ángulo de inclinación sea " -"inferior al umbral." +"Se generará un soporte para los voladizos cuyo ángulo de inclinación sea inferior al " +"umbral." msgid "Tree support branch angle" msgstr "Ángulo de la rama de soporte del árbol" msgid "" -"This setting determines the maximum overhang angle that t he branches of " -"tree support allowed to make.If the angle is increased, the branches can be " -"printed more horizontally, allowing them to reach farther." +"This setting determines the maximum overhang angle that t he branches of tree support " +"allowed to make.If the angle is increased, the branches can be printed more horizontally, " +"allowing them to reach farther." msgstr "" -"Este ajuste determina el ángulo máximo de voladizo que pueden hacer las " -"ramas del soporte del árbol. Si se aumenta el ángulo, las ramas pueden " -"imprimirse más horizontalmente, permitiendo que lleguen más lejos." +"Este ajuste determina el ángulo máximo de voladizo que pueden hacer las ramas del soporte " +"del árbol. Si se aumenta el ángulo, las ramas pueden imprimirse más horizontalmente, " +"permitiendo que lleguen más lejos." msgid "Tree support branch distance" msgstr "Distancia de la rama de soporte del árbol" -msgid "" -"This setting determines the distance between neighboring tree support nodes." -msgstr "" -"Este ajuste determina la distancia entre los nodos de soporte del árbol " -"vecinos." +msgid "This setting determines the distance between neighboring tree support nodes." +msgstr "Este ajuste determina la distancia entre los nodos de soporte del árbol vecinos." msgid "Adaptive layer height" msgstr "Altura de capa adaptable" msgid "" -"Enabling this option means the height of tree support layer except the " -"first will be automatically calculated " +"Enabling this option means the height of tree support layer except the first will be " +"automatically calculated " msgstr "" +"Si se activa esta opción, se calculará automáticamente la altura de todas las capas de " +"soporte de los árboles excepto la primera. " msgid "Auto brim width" -msgstr "" +msgstr "Ancho de borde de adherencia automático" msgid "" -"Enabling this option means the width of the brim for tree support will be " -"automatically calculated" +"Enabling this option means the width of the brim for tree support will be automatically " +"calculated" msgstr "" +"Si activa esta opción, se calculará automáticamente la anchura del borde de adherencia " +"para el soporte del árbol" msgid "Tree support brim width" -msgstr "" +msgstr "Anchura del borde de adherencia" msgid "Distance from tree branch to the outermost brim line" -msgstr "" +msgstr "Distancia desde la rama del árbol hasta la línea más externa del borde de adherencia" msgid "Tree support branch diameter" msgstr "Diámetro de la rama de soporte del árbol" @@ -8477,21 +8700,18 @@ msgid "Tree support wall loops" msgstr "Lazos de pared de soporte para arboles" msgid "This setting specify the count of walls around tree support" -msgstr "" -"Este ajuste especifica el número de muros alrededor del soporte del árbol" +msgstr "Este ajuste especifica el número de paredes alrededor del soporte del árbol" msgid "Tree support with infill" msgstr "Soporte para árboles con relleno" -msgid "" -"This setting specifies whether to add infill inside large hollows of tree " -"support" +msgid "This setting specifies whether to add infill inside large hollows of tree support" msgstr "" -"Este ajuste especifica si se añade relleno dentro de los grandes huecos del " -"soporte del árbol" +"Este ajuste especifica si se añade relleno dentro de los grandes huecos del soporte del " +"árbol" msgid "Target chamber temperature" -msgstr "" +msgstr "Temperatura objetivo de la cámara" msgid "Nozzle temperature for layers after the initial one" msgstr "Temperatura de la boquilla después de la primera capa" @@ -8500,28 +8720,29 @@ msgid "Bed temperature difference" msgstr "Diferencia de temperatura de la cama" msgid "" -"Do not recommend bed temperature of other layer to be lower than initial " -"layer for more than this threshold. Too low bed temperature of other layer " -"may cause the model broken free from build plate" +"Do not recommend bed temperature of other layer to be lower than initial layer for more " +"than this threshold. Too low bed temperature of other layer may cause the model broken " +"free from build plate" msgstr "" +"No se recomienda que la temperatura de la otra capa sea inferior a la de la capa inicial " +"por encima de este umbral. Una temperatura demasiado baja de la otra capa puede hacer que " +"el modelo se desprenda de la cama de impresión" msgid "Detect thin wall" msgstr "Detectar la pared delgada" msgid "" -"Detect thin wall which can't contain two line width. And use single line to " -"print. Maybe printed not very well, because it's not closed loop" +"Detect thin wall which can't contain two line width. And use single line to print. Maybe " +"printed not very well, because it's not closed loop" msgstr "" -"Detectar la pared delgada que no puede contener dos líneas de ancho. Y " -"utilizar una sola línea para imprimir. Tal vez no se imprime muy bien, " -"porque no es de bucle cerrado" +"Detectar la pared delgada que no puede contener dos líneas de ancho. Y utilizar una sola " +"línea para imprimir. Tal vez no se imprime muy bien, porque no es de bucle cerrado" msgid "" -"This gcode is inserted when change filament, including T command to trigger " -"tool change" +"This gcode is inserted when change filament, including T command to trigger tool change" msgstr "" -"Este gcode se inserta cuando se cambia de filamento, incluyendo el comando T " -"para activar el cambio de herramienta" +"Este gcode se inserta cuando se cambia de filamento, incluyendo el comando T para activar " +"el cambio de herramienta" msgid "Line width for top surfaces" msgstr "Ancho de línea para las superficies superiores" @@ -8533,14 +8754,13 @@ msgid "Top shell layers" msgstr "Capas superiores de la cubierta" msgid "" -"This is the number of solid layers of top shell, including the top surface " -"layer. When the thickness calculated by this value is thinner than top shell " -"thickness, the top shell layers will be increased" +"This is the number of solid layers of top shell, including the top surface layer. When the " +"thickness calculated by this value is thinner than top shell thickness, the top shell " +"layers will be increased" msgstr "" -"Es el número de capas sólidas de la cubierta superior, incluida la capa " -"superficial superior. Si el grosor calculado por este valor es menor que el " -"grosor de la cubierta superior, las capas de la cubierta superior se " -"incrementarán" +"Es el número de capas sólidas de la cubierta superior, incluida la capa superficial " +"superior. Si el grosor calculado por este valor es menor que el grosor de la cubierta " +"superior, las capas de la cubierta superior se incrementarán" msgid "Top solid layers" msgstr "Capas solidas superiores" @@ -8549,18 +8769,16 @@ msgid "Top shell thickness" msgstr "Espesor de la cubierta superior" msgid "" -"The number of top solid layers is increased when slicing if the thickness " -"calculated by top shell layers is thinner than this value. This can avoid " -"having too thin shell when layer height is small. 0 means that this setting " -"is disabled and thickness of top shell is absolutely determained by top " -"shell layers" +"The number of top solid layers is increased when slicing if the thickness calculated by " +"top shell layers is thinner than this value. This can avoid having too thin shell when " +"layer height is small. 0 means that this setting is disabled and thickness of top shell is " +"absolutely determained by top shell layers" msgstr "" -"El número de capas sólidas superiores se incrementa al rebanar si el espesor " -"calculado por las capas superiores de la cáscara es más delgado que este " -"valor. Esto puede evitar tener una capa demasiado fina cuando la altura de " -"la capa es pequeña. 0 significa que este ajuste está desactivado y el grosor " -"de la capa superior está absolutamente determinado por las capas de la capa " -"superior." +"El número de capas sólidas superiores se incrementa al laminar si el espesor calculado por " +"las capas superiores de la cáscara es más delgado que este valor. Esto puede evitar tener " +"una capa demasiado fina cuando la altura de la capa es pequeña. 0 significa que este " +"ajuste está desactivado y el grosor de la capa superior está absolutamente determinado por " +"las capas de la capa superior" msgid "Speed of travel which is faster and without extrusion" msgstr "Velocidad de desplazamiento más rápida y sin extrusión" @@ -8569,27 +8787,29 @@ msgid "Wipe while retracting" msgstr "Limpiar mientras se retrae" msgid "" -"Move nozzle along the last extrusion path when retracting to clean leaked " -"material on nozzle. This can minimize blob when print new part after travel" +"Move nozzle along the last extrusion path when retracting to clean leaked material on " +"nozzle. This can minimize blob when print new part after travel" msgstr "" -"Mueva la boquilla a lo largo de la última trayectoria de extrusión cuando se " -"retraiga para limpiar el material filtrado en la boquilla. Esto puede " -"minimizar las manchas cuando se imprime una nueva pieza después del recorrido" +"Mueva la boquilla a lo largo de la última trayectoria de extrusión cuando se retraiga para " +"limpiar el material filtrado en la boquilla. Esto puede minimizar las manchas cuando se " +"imprime una nueva pieza después del recorrido" msgid "Wipe Distance" msgstr "Distancia de limpieza" -msgid "" -"Discribe how long the nozzle will move along the last path when retracting" +msgid "Discribe how long the nozzle will move along the last path when retracting" msgstr "" -"Describa cuánto tiempo se moverá la boquilla a lo largo de la última " -"trayectoria al retraerse" +"Describa cuánto tiempo se moverá la boquilla a lo largo de la última trayectoria al " +"retraerse" msgid "" -"The wiping tower can be used to clean up the residue on the nozzle and " -"stabilize the chamber pressure inside the nozzle, in order to avoid " -"appearance defects when printing objects." +"The wiping tower can be used to clean up the residue on the nozzle and stabilize the " +"chamber pressure inside the nozzle, in order to avoid appearance defects when printing " +"objects." msgstr "" +"La torre de purga puede utilizarse para limpiar los residuos de la boquilla y estabilizar " +"la presión de la cámara en el interior de la boquilla, con el fin de evitar defectos de " +"aspecto al imprimir objetos." msgid "Purging volumes" msgstr "Volúmenes de purga" @@ -8598,9 +8818,11 @@ msgid "Flush multiplier" msgstr "Multiplicador de flujo" msgid "" -"The actual flushing volumes is equal to the flush multiplier multiplied by " -"the flushing volumes in the table." +"The actual flushing volumes is equal to the flush multiplier multiplied by the flushing " +"volumes in the table." msgstr "" +"El volumen de descarga real es igual al multiplicador de descarga multiplicado por los " +"volúmenes de descarga de la tabla." msgid "Prime volume" msgstr "Volumen principal" @@ -8612,174 +8834,209 @@ msgid "Width" msgstr "Ancho" msgid "Width of prime tower" -msgstr "Anchura de la torre principal" +msgstr "Anchura de la torre de purga" msgid "" -"Purging after filament change will be done inside objects' infills. This may " -"lower the amount of waste and decrease the print time. If the walls are " -"printed with transparent filament, the mixed color infill will be seen " -"outside. It will not take effect, unless the prime tower is enabled." +"Purging after filament change will be done inside objects' infills. This may lower the " +"amount of waste and decrease the print time. If the walls are printed with transparent " +"filament, the mixed color infill will be seen outside. It will not take effect, unless the " +"prime tower is enabled." msgstr "" +"La purga tras el cambio de filamento se realizará dentro de los rellenos de los objetos. " +"Esto puede reducir la cantidad de residuos y disminuir el tiempo de impresión. Si las " +"paredes se imprimen con filamento transparente, el relleno de color mixto se verá en el " +"exterior. No tendrá efecto, a menos que la torre de purga esté activada." msgid "" -"Purging after filament change will be done inside objects' support. This may " -"lower the amount of waste and decrease the print time. It will not take " -"effect, unless the prime tower is enabled." +"Purging after filament change will be done inside objects' support. This may lower the " +"amount of waste and decrease the print time. It will not take effect, unless the prime " +"tower is enabled." msgstr "" +"La purga tras el cambio de filamento se realizará dentro del soporte de los objetos. Esto " +"puede reducir la cantidad de residuos y disminuir el tiempo de impresión. No tendrá " +"efecto, a menos que la torre de purga esté activada." msgid "" -"This object will be used to purge the nozzle after a filament change to save " -"filament and decrease the print time. Colours of the objects will be mixed " -"as a result. It will not take effect, unless the prime tower is enabled." +"This object will be used to purge the nozzle after a filament change to save filament and " +"decrease the print time. Colours of the objects will be mixed as a result. It will not " +"take effect, unless the prime tower is enabled." msgstr "" +"Este objeto se utilizará para purgar la boquilla después de un cambio de filamento para " +"ahorrar filamento y disminuir el tiempo de impresión. Los colores de los objetos se " +"mezclarán como resultado. No tendrá efecto, a menos que la torre de purga esté activada." msgid "X-Y hole compensation" msgstr "Compensación de huecos X-Y" msgid "" -"Holes of object will be grown or shrunk in XY plane by the configured value. " -"Positive value makes holes bigger. Negative value makes holes smaller. This " -"function is used to adjust size slightly when the object has assembling issue" +"Holes of object will be grown or shrunk in XY plane by the configured value. Positive " +"value makes holes bigger. Negative value makes holes smaller. This function is used to " +"adjust size slightly when the object has assembling issue" msgstr "" -"Los huecos del objeto crecerán o se reducirán en el plano XY según el valor " -"configurado. Un valor positivo hace que los huecos sean más grandes. Un " -"valor negativo hace que los huecos sean más pequeños. Esta función se " -"utiliza para ajustar el tamaño ligeramente cuando el objeto tiene problemas " -"de ensamblaje" +"Los huecos del objeto crecerán o se reducirán en el plano XY según el valor configurado. " +"Un valor positivo hace que los huecos sean más grandes. Un valor negativo hace que los " +"huecos sean más pequeños. Esta función se utiliza para ajustar el tamaño ligeramente " +"cuando el objeto tiene problemas de ensamblaje" msgid "X-Y contour compensation" msgstr "Compensación de contornos X-Y" msgid "" -"Contour of object will be grown or shrunk in XY plane by the configured " -"value. Positive value makes contour bigger. Negative value makes contour " -"smaller. This function is used to adjust size slightly when the object has " -"assembling issue" +"Contour of object will be grown or shrunk in XY plane by the configured value. Positive " +"value makes contour bigger. Negative value makes contour smaller. This function is used to " +"adjust size slightly when the object has assembling issue" msgstr "" -"El contorno del objeto crecerá o se reducirá en el plano XY según el valor " -"configurado. Un valor positivo hace que el contorno sea más grande. Un valor " -"negativo hace que el contorno sea más pequeño. Esta función se utiliza para " -"ajustar el tamaño ligeramente cuando el objeto tiene problemas de ensamblaje" +"El contorno del objeto crecerá o se reducirá en el plano XY según el valor configurado. Un " +"valor positivo hace que el contorno sea más grande. Un valor negativo hace que el contorno " +"sea más pequeño. Esta función se utiliza para ajustar el tamaño ligeramente cuando el " +"objeto tiene problemas de ensamblaje" msgid "G-code thumbnails" -msgstr "" +msgstr "Miniaturas de G-code" msgid "" -"Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the " -"following format: \"XxY, XxY, ...\"" +"Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the following format: " +"\"XxY, XxY, ...\"" msgstr "" +"Los tamaños de las imágenes deben almacenarse en archivos .gcode y .sl1 / .sl1s, en el " +"siguiente formato: \"XxY, XxY, ...\"" msgid "Use relative E distances" -msgstr "" +msgstr "Usar distancias relativas E" msgid "" -"Relative extrusion is recommended when using \"label_objects\" option.Some " -"extruders work better with this option unckecked (absolute extrusion mode). " -"Wipe tower is only compatible with relative mode. It is always enabled on " -"BambuLab printers. Default is checked" +"Relative extrusion is recommended when using \"label_objects\" option.Some extruders work " +"better with this option unckecked (absolute extrusion mode). Wipe tower is only compatible " +"with relative mode. It is always enabled on BambuLab printers. Default is checked" msgstr "" +"Se recomienda la extrusión relativa cuando se utiliza la opción \"label_objects\". Algunos " +"extrusores funcionan mejor con esta opción desactivada (modo de extrusión absoluta). La " +"torre de borrado sólo es compatible con el modo relativo. Siempre está activada en las " +"impresoras BambuLab. Por defecto está marcada" msgid "" -"Classic wall generator produces walls with constant extrusion width and for " -"very thin areas is used gap-fill. Arachne engine produces walls with " -"variable extrusion width" +"Classic wall generator produces walls with constant extrusion width and for very thin " +"areas is used gap-fill. Arachne engine produces walls with variable extrusion width" msgstr "" +"El generador de pareds clásico produce pareds con anchura de extrusión constante y para " +"zonas muy finas se utiliza rellenar-espacio. El motor Arachne produce paredes con anchura " +"de extrusión variable." msgid "Classic" -msgstr "" +msgstr "Clásico" msgid "Arachne" msgstr "" msgid "Wall transition length" -msgstr "" +msgstr "Anchura de transición de pared" msgid "" -"When transitioning between different numbers of walls as the part becomes " -"thinner, a certain amount of space is allotted to split or join the wall " -"segments. It's expressed as a percentage over nozzle diameter" +"When transitioning between different numbers of walls as the part becomes thinner, a " +"certain amount of space is allotted to split or join the wall segments. It's expressed as " +"a percentage over nozzle diameter" msgstr "" +"Cuando se pasa de un número de paredes a otro a medida que la pieza se vuelve más fina, se " +"asigna una determinada cantidad de espacio para dividir o unir los segmentos de pared. Se " +"expresa como un porcentaje sobre el diámetro de la boquilla" msgid "Wall transitioning filter margin" -msgstr "" +msgstr "Margen del filtro de transición a la pared" msgid "" -"Prevent transitioning back and forth between one extra wall and one less. " -"This margin extends the range of extrusion widths which follow to [Minimum " -"wall width - margin, 2 * Minimum wall width + margin]. Increasing this " -"margin reduces the number of transitions, which reduces the number of " -"extrusion starts/stops and travel time. However, large extrusion width " -"variation can lead to under- or overextrusion problems. It's expressed as a " -"percentage over nozzle diameter" +"Prevent transitioning back and forth between one extra wall and one less. This margin " +"extends the range of extrusion widths which follow to [Minimum wall width - margin, 2 * " +"Minimum wall width + margin]. Increasing this margin reduces the number of transitions, " +"which reduces the number of extrusion starts/stops and travel time. However, large " +"extrusion width variation can lead to under- or overextrusion problems. It's expressed as " +"a percentage over nozzle diameter" msgstr "" +"Evita la transición entre una pared de más y una de menos. Este margen amplía el rango de " +"anchos de extrusión que siguen a [Ancho mínimo de pared - margen, 2 * Ancho mínimo de " +"pared + margen]. Aumentando este margen se reduce el número de transiciones, lo que reduce " +"el número de arranques/paradas de extrusión y el tiempo de recorrido. Sin embargo, una " +"gran variación de la anchura de extrusión puede provocar problemas de infra o " +"sobreextrusión. Se expresa en porcentaje sobre el diámetro de la boquilla" msgid "Wall transitioning threshold angle" -msgstr "" +msgstr "Ángulo del umbral de transición de la pared" msgid "" -"When to create transitions between even and odd numbers of walls. A wedge " -"shape with an angle greater than this setting will not have transitions and " -"no walls will be printed in the center to fill the remaining space. Reducing " -"this setting reduces the number and length of these center walls, but may " -"leave gaps or overextrude" +"When to create transitions between even and odd numbers of walls. A wedge shape with an " +"angle greater than this setting will not have transitions and no walls will be printed in " +"the center to fill the remaining space. Reducing this setting reduces the number and " +"length of these center walls, but may leave gaps or overextrude" msgstr "" +"Cuándo crear transiciones entre números pares e impares de paredes. Una forma de cuña con " +"un ángulo mayor que este ajuste no tendrá transiciones y no se imprimirán paredes en el " +"centro para rellenar el espacio restante. La reducción de este ajuste reduce el número y " +"la longitud de estas paredes centrales, pero puede dejar huecos o sobresalir" msgid "Wall distribution count" -msgstr "" +msgstr "Recuento de distribución de paredes" msgid "" -"The number of walls, counted from the center, over which the variation needs " -"to be spread. Lower values mean that the outer walls don't change in width" +"The number of walls, counted from the center, over which the variation needs to be spread. " +"Lower values mean that the outer walls don't change in width" msgstr "" +"El número de paredes, contadas desde el centro, sobre las que debe repartirse la " +"variación. Los valores más bajos significan que las paredes exteriores no cambian de " +"anchura" msgid "Minimum feature size" -msgstr "" +msgstr "Tamaño mínimo del elemento" msgid "" -"Minimum thickness of thin features. Model features that are thinner than " -"this value will not be printed, while features thicker than the Minimum " -"feature size will be widened to the Minimum wall width. It's expressed as a " -"percentage over nozzle diameter" +"Minimum thickness of thin features. Model features that are thinner than this value will " +"not be printed, while features thicker than the Minimum feature size will be widened to " +"the Minimum wall width. It's expressed as a percentage over nozzle diameter" msgstr "" +"Espesor mínimo de los elementos finos. Las características del modelo que sean más finas " +"que este valor no se imprimirán, mientras que las características más gruesas que el " +"Tamaño mínimo del Elemento se ensancharán hasta el Ancho mínimo de pared. Se expresa en " +"porcentaje sobre el diámetro de la boquilla" msgid "Minimum wall width" -msgstr "" +msgstr "Ancho mínimo de pared" msgid "" -"Width of the wall that will replace thin features (according to the Minimum " -"feature size) of the model. If the Minimum wall width is thinner than the " -"thickness of the feature, the wall will become as thick as the feature " -"itself. It's expressed as a percentage over nozzle diameter" +"Width of the wall that will replace thin features (according to the Minimum feature size) " +"of the model. If the Minimum wall width is thinner than the thickness of the feature, the " +"wall will become as thick as the feature itself. It's expressed as a percentage over " +"nozzle diameter" msgstr "" +"Anchura del pared que sustituirá a los elementos finos (según el tamaño mínimo del " +"elemento) del modelo. Si la anchura Mínima de la pared es menor que el grosor de la " +"característica, la pared será tan gruesa como la propia característica. Se expresa en " +"porcentaje sobre el diámetro de la boquilla" msgid "Detect narrow internal solid infill" msgstr "Detectar el relleno sólido interno estrecho" msgid "" -"This option will auto detect narrow internal solid infill area. If enabled, " -"concentric pattern will be used for the area to speed printing up. " -"Otherwise, rectilinear pattern is used defaultly." +"This option will auto detect narrow internal solid infill area. If enabled, concentric " +"pattern will be used for the area to speed printing up. Otherwise, rectilinear pattern is " +"used defaultly." msgstr "" -"Esta opción detectará automáticamente el área de relleno sólido interno " -"estrecho. Si se activa, se utilizará un patrón concéntrico para el área para " -"acelerar la impresión. De lo contrario, se utilizará por defecto un patrón " -"rectilíneo." +"Esta opción detectará automáticamente el área de relleno sólido interno estrecho. Si se " +"activa, se utilizará un patrón concéntrico para el área para acelerar la impresión. De lo " +"contrario, se utilizará por defecto un patrón rectilíneo." msgid "invalid value " -msgstr "" +msgstr "valor inválido " #, c-format, boost-format msgid " doesn't work at 100%% density " -msgstr "" +msgstr " no funciona con una densidad del 100%% " msgid "Invalid value when spiral vase mode is enabled: " -msgstr "" +msgstr "Valor no válido cuando está activado el modo jarrón espiral: " msgid "too large line width " -msgstr "" +msgstr "demasiada anchura de línea " msgid " not in range " -msgstr "" +msgstr " fuera de rango " msgid "Export 3MF" msgstr "Exportar 3MF" @@ -8788,55 +9045,57 @@ msgid "Export project as 3MF." msgstr "Exportar el proyecto como 3MF." msgid "Export slicing data" -msgstr "" +msgstr "Exportar datos de laminado" msgid "Export slicing data to a folder." -msgstr "" +msgstr "Exportar datos de laminado a una carpeta." msgid "Load slicing data" -msgstr "" +msgstr "Cargar datos de laminado" msgid "Load cached slicing data from directory" -msgstr "" +msgstr "Cargar datos de laminado en caché desde el directorio" msgid "Slice" msgstr "Laminar" msgid "Slice the plates: 0-all plates, i-plate i, others-invalid" -msgstr "Cortar las placas: 0-todas las placas, i-placa i, otras-inválidas" +msgstr "Cortar las camas: 0-todas las camas, i-cama i, otras-inválidas" msgid "Show command help." msgstr "Mostrar la ayuda del comando." msgid "UpToDate" -msgstr "" +msgstr "Actualizado" msgid "Update the configs values of 3mf to latest." -msgstr "" +msgstr "Actualice los valores de configuración de 3mf a la última versión." msgid "mtcpp" msgstr "" msgid "max triangle count per plate for slicing." -msgstr "" +msgstr "número máximo de triángulos por plato para laminar." msgid "mstpp" msgstr "" msgid "max slicing time per plate in seconds." -msgstr "" +msgstr "tiempo máximo de corte por cama en segundos." msgid "No check" -msgstr "" +msgstr "No comprobado" msgid "Do not run any validity checks, such as gcode path conflicts check." msgstr "" +"No ejecute ninguna comprobación de validez, como la comprobación de conflictos de ruta de " +"gcode." msgid "Normative check" -msgstr "" +msgstr "Comprobación de normativa" msgid "Check the normative items." -msgstr "" +msgstr "Comprueba los elementos normativos." msgid "Output Model Info" msgstr "Información del modelo de salida" @@ -8851,10 +9110,10 @@ msgid "Export settings to a file." msgstr "Exporta los ajustes a un archivo." msgid "Send progress to pipe" -msgstr "" +msgstr "Enviar el progreso a la tubería" msgid "Send progress to pipe." -msgstr "" +msgstr "Enviar el progreso a la tubería." msgid "Arrange Options" msgstr "Opciones de posicionamiento" @@ -8884,23 +9143,23 @@ msgid "Load Filament Settings" msgstr "Cargar los ajustes del filamento" msgid "Load filament settings from the specified file list" -msgstr "" -"Cargar los ajustes del filamento desde la lista de archivos especificada" +msgstr "Cargar los ajustes del filamento desde la lista de archivos especificada" msgid "Skip Objects" -msgstr "" +msgstr "Omitir objetos" msgid "Skip some objects in this print" -msgstr "" +msgstr "Omitir algunos objetos en esta impresión" msgid "Data directory" -msgstr "" +msgstr "Directorio de datos" msgid "" -"Load and store settings at the given directory. This is useful for " -"maintaining different profiles or including configurations from a network " -"storage." +"Load and store settings at the given directory. This is useful for maintaining different " +"profiles or including configurations from a network storage." msgstr "" +"Carga y almacena configuraciones en el directorio dado. Esto es útil para mantener " +"diferentes perfiles o incluir configuraciones desde un almacenamiento en red." msgid "Output directory" msgstr "Directorio de salida" @@ -8911,18 +9170,16 @@ msgstr "Directorio de salida para los archivos exportados." msgid "Debug level" msgstr "Nivel de depuración" -msgid "" -"Sets debug logging level. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:" -"trace\n" +msgid "Sets debug logging level. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\n" msgstr "" -"Ajusta el nivel de registro de depuración. 0:fatal, 1:error, 2:advertencia, " -"3:información, 4:depuración, 5:rastreo\n" +"Ajusta el nivel de registro de depuración. 0:fatal, 1:error, 2:advertencia, 3:información, " +"4:depuración, 5:rastreo\n" msgid "Error in zip archive" msgstr "Error en el archivo zip" msgid "Generating walls" -msgstr "Generación de muros" +msgstr "Generación de paredes" msgid "Generating infill regions" msgstr "Generación de zonas de relleno" @@ -8931,7 +9188,7 @@ msgid "Generating infill toolpath" msgstr "Generación de la trayectoria de la herramienta de relleno" msgid "Detect overhangs for auto-lift" -msgstr "" +msgstr "Detección de voladizos para autoelevación" msgid "Generating support" msgstr "Generar soporte" @@ -8940,43 +9197,45 @@ msgid "Checking support necessity" msgstr "Comprobación de la necesidad de soporte" msgid "floating regions" -msgstr "" +msgstr "regiones flotantes" msgid "floating cantilever" -msgstr "" +msgstr "voladizo flotante" msgid "large overhangs" -msgstr "" +msgstr "voladizos grandes" #, c-format, boost-format -msgid "" -"It seems object %s has %s. Please re-orient the object or enable support " -"generation." +msgid "It seems object %s has %s. Please re-orient the object or enable support generation." msgstr "" +"Parece que el objeto %s tiene %s. Por favor, reoriente el objeto o active la generación de " +"soporte." msgid "Optimizing toolpath" msgstr "Optimización de la trayectoria de la herramienta" msgid "Empty layers around bottom are replaced by nearest normal layers." -msgstr "" -"Las capas vacías del fondo se sustituyen por las capas normales más cercanas." +msgstr "Las capas vacías del fondo se sustituyen por las capas normales más cercanas." msgid "The model has too many empty layers." -msgstr "" +msgstr "El modelo tiene demasiadas capas vacías." msgid "Slicing mesh" msgstr "Malla de corte" msgid "" -"No layers were detected. You might want to repair your STL file(s) or check " -"their size or thickness and retry.\n" +"No layers were detected. You might want to repair your STL file(s) or check their size or " +"thickness and retry.\n" msgstr "" +"No se han detectado capas. Es posible que desee reparar su(s) archivo(s) STL o comprobar " +"su tamaño o grosor y volver a intentarlo.\n" msgid "" -"An object's XY size compensation will not be used because it is also color-" -"painted.\n" +"An object's XY size compensation will not be used because it is also color-painted.\n" "XY Size compensation can not be combined with color-painting." msgstr "" +"An object's XY size compensation will not be used because it is also color-painted.\n" +"XY Size compensation can not be combined with color-painting." #, c-format, boost-format msgid "Support: generate toolpath at layer %d" @@ -9010,7 +9269,7 @@ msgid "Support: propagate branches at layer %d" msgstr "Soporte: propagar ramas en la capa %d" msgid "PA Calibration" -msgstr "" +msgstr "Calibración PA" msgid "DDE" msgstr "" @@ -9019,28 +9278,28 @@ msgid "Bowden" msgstr "" msgid "Extruder type" -msgstr "" +msgstr "Tipo de extrusor" msgid "PA Tower" -msgstr "" +msgstr "Torre PA" msgid "PA Line" -msgstr "" +msgstr "Línea PA" msgid "Method" -msgstr "" +msgstr "Método" msgid "Start PA: " -msgstr "" +msgstr "Iniciar PA: " msgid "End PA: " -msgstr "" +msgstr "Finalizar PA: " msgid "PA step: " msgstr "" msgid "Print numbers" -msgstr "" +msgstr "Imprimir números" msgid "" "Please input valid values:\n" @@ -9048,9 +9307,13 @@ msgid "" "End PA: > Start PA\n" "PA step: >= 0.001)" msgstr "" +"Por favor, introduzca valores válidos:\n" +"Iniciar PA: >=0.0\n" +"Finalizar PA:> Iniciar PA\n" +"Paso PA:>=0.001)" msgid "Temperature calibration" -msgstr "" +msgstr "Calibración de temperatura" msgid "PLA" msgstr "" @@ -9071,16 +9334,16 @@ msgid "PET-CF" msgstr "" msgid "Filament type" -msgstr "" +msgstr "Tipo de filamento" msgid "Start temp: " -msgstr "" +msgstr "Temperatura inicial: " msgid "End end: " -msgstr "" +msgstr "Temperatura final: " msgid "Temp step: " -msgstr "" +msgstr "Paso temperatura: " msgid "" "Please input valid values:\n" @@ -9088,224 +9351,364 @@ msgid "" "End temp: >= 180\n" "Start temp > End temp + 5)" msgstr "" +"Por favor introduzca valores válidos:\n" +"Temperatura inicial: <= 350\n" +"Temperatura final: >= 180\n" +"Temperatura inicial > Temperatura final + 5)" msgid "Max volumetric speed test" -msgstr "" +msgstr "Test de velocidad volumétrica máxima" msgid "Start volumetric speed: " -msgstr "" +msgstr "Velocidad volumétrica inicial: " msgid "End volumetric speed: " -msgstr "" +msgstr "Velocidad volumétrica final: " msgid "step: " -msgstr "" +msgstr "paso: " msgid "" "Please input valid values:\n" "start > 0 step >= 0\n" "end > start + step)" msgstr "" +"Por favor, introduzca valores válidos:\n" +"inicio>paso 0 >= 0\n" +"fin > inicio + paso)" msgid "VFA test" -msgstr "" +msgstr "Test VFA" msgid "Start speed: " -msgstr "" +msgstr "Velocidad inicial: " msgid "End speed: " -msgstr "" +msgstr "Velocidad final: " msgid "" "Please input valid values:\n" "start > 10 step >= 0\n" "end > start + step)" msgstr "" +"Por favor, introduzca valores válidos:\n" +"inicio > paso 10 >= 0\n" +"final > inicio + paso)" + +msgid "Start retraction length: " +msgstr "Iniciar anchura de retracción: " + +msgid "End retraction length: " +msgstr "Finalizar " + +msgid "mm/mm" +msgstr "" + +msgid "Physical Printer" +msgstr "Impresora física" + +msgid "Print Host upload" +msgstr "Carga de Host de Impresión" + +msgid "Test" +msgstr "" + +msgid "Could not get a valid Printer Host reference" +msgstr "No se ha podido obtener una referencia de host de impresora válida" + +msgid "Success!" +msgstr "¡Exitoso!" + +msgid "Refresh Printers" +msgstr "Refrescar Impresoras" + +msgid "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-signed " +"certificate." +msgstr "" +"El archivo HTTPS CA es opcional. Solo es necesario si utiliza HTTPS con un certificado " +"autofirmado." + +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +msgstr "Archivos de certificado (*.crt, *.pem)|*.crt;*.pem|Todos los archivos|*.*" + +msgid "Open CA certificate file" +msgstr "Abrir archivo de certificado CA" + +#, c-format, boost-format +msgid "" +"On this system, %s uses HTTPS certificates from the system Certificate Store or Keychain." +msgstr "" +"En este sistema, %s utiliza certificados HTTPS del almacén de certificados o llavero del " +"sistema." + +msgid "" +"To use a custom CA file, please import your CA file into Certificate Store / Keychain." +msgstr "" +"Para utilizar un archivo de CA personalizado, importe su archivo de CA a Almacén de " +"certificados / Llavero." + +msgid "Connection to printers connected via the print host failed." +msgstr "Ha fallado la conexión a impresoras conectadas a través del host de impresión." #: resources/data/hints.ini: [hint:3D Scene Operations] msgid "" "3D Scene Operations\n" -"Did you know how to control view and object/part selection with mouse and " -"touchpanel in the 3D scene?" +"Did you know how to control view and object/part selection with mouse and touchpanel in " +"the 3D scene?" msgstr "" +"Operaciones de la escena 3D\n" +"¿Sabías cómo controlar la vista y la selección de objetos/partes con el ratón y el panel " +"táctil en la escena 3D?" #: resources/data/hints.ini: [hint:Cut Tool] msgid "" "Cut Tool\n" -"Did you know that you can cut a model at any angle and position with the " -"cutting tool?" +"Did you know that you can cut a model at any angle and position with the cutting tool?" msgstr "" +"Herramienta de corte\n" +"¿Sabías que puedes cortar un modelo en cualquier ángulo y posición con la herramienta de " +"corte?" #: resources/data/hints.ini: [hint:Fix Model] msgid "" "Fix Model\n" -"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " -"problems?" +"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing problems?" msgstr "" +"Fijar modelo\n" +"¿Sabías que puedes arreglar un modelo 3D dañado para evitar muchos problemas de corte?" #: resources/data/hints.ini: [hint:Timelapse] msgid "" "Timelapse\n" "Did you know that you can generate a timelapse video during each print?" msgstr "" +"Timelapse\n" +"¿Sabías que puedes generar un vídeo timelapse durante cada impresión?" #: resources/data/hints.ini: [hint:Auto-Arrange] msgid "" "Auto-Arrange\n" "Did you know that you can auto-arrange all objects in your project?" msgstr "" +"Auto-organizar\n" +"¿Sabías que puedes ordenar automáticamente todos los objetos de tu proyecto?" #: resources/data/hints.ini: [hint:Auto-Orient] msgid "" "Auto-Orient\n" -"Did you know that you can rotate objects to an optimal orientation for " -"printing by a simple click?" +"Did you know that you can rotate objects to an optimal orientation for printing by a " +"simple click?" msgstr "" +"Orientación automática\n" +"¿Sabía que puede girar los objetos a una orientación óptima para la impresión con un " +"simple clic?" #: resources/data/hints.ini: [hint:Lay on Face] msgid "" "Lay on Face\n" -"Did you know that you can quickly orient a model so that one of its faces " -"sits on the print bed? Select the \"Place on face\" function or press the " -"F key." +"Did you know that you can quickly orient a model so that one of its faces sits on the " +"print bed? Select the \"Place on face\" function or press the F key." msgstr "" +"Colocar en la cara\n" +"¿Sabías que puedes orientar rápidamente un modelo para que una de sus caras quede sobre el " +"lecho de impresión? Seleccione la función \"Colocar en la cara\" o pulse la tecla F." #: resources/data/hints.ini: [hint:Object List] msgid "" "Object List\n" -"Did you know that you can view all objects/parts in a list and change " -"settings for each object/part?" +"Did you know that you can view all objects/parts in a list and change settings for each " +"object/part?" msgstr "" +"Lista de objetos\n" +"¿Sabías que puedes ver todos los objetos/piezas en una lista y cambiar los ajustes de cada " +"objeto/pieza?" #: resources/data/hints.ini: [hint:Simplify Model] msgid "" "Simplify Model\n" -"Did you know that you can reduce the number of triangles in a mesh using the " -"Simplify mesh feature? Right-click the model and select Simplify model. Read " -"more in the documentation." +"Did you know that you can reduce the number of triangles in a mesh using the Simplify mesh " +"feature? Right-click the model and select Simplify model. Read more in the documentation." msgstr "" +"Simplificar modelo\n" +"¿Sabías que puedes reducir el número de triángulos de una malla utilizando la función " +"Simplificar malla? Haga clic con el botón derecho del ratón en el modelo y seleccione " +"Simplificar modelo. Más información en la documentación." #: resources/data/hints.ini: [hint:Slicing Parameter Table] msgid "" "Slicing Parameter Table\n" -"Did you know that you can view all objects/parts on a table and change " -"settings for each object/part?" +"Did you know that you can view all objects/parts on a table and change settings for each " +"object/part?" msgstr "" +"Tabla de parámetros de laminado\n" +"¿Sabía que puede ver todos los objetos/partes de una tabla y cambiar los parámetros de " +"cada objeto/parte?" #: resources/data/hints.ini: [hint:Split to Objects/Parts] msgid "" "Split to Objects/Parts\n" -"Did you know that you can split a big object into small ones for easy " -"colorizing or printing?" +"Did you know that you can split a big object into small ones for easy colorizing or " +"printing?" msgstr "" +"Dividir en Objetos/Partes\n" +"¿Sabías que puedes dividir un objeto grande en pequeños para colorearlo o imprimirlo " +"fácilmente?" #: resources/data/hints.ini: [hint:Subtract a Part] msgid "" "Subtract a Part\n" -"Did you know that you can subtract one mesh from another using the Negative " -"part modifier? That way you can, for example, create easily resizable holes " -"directly in Orca Slicer. Read more in the documentation." +"Did you know that you can subtract one mesh from another using the Negative part modifier? " +"That way you can, for example, create easily resizable holes directly in Orca Slicer. Read " +"more in the documentation." msgstr "" +"Restar una parte\n" +"¿Sabías que puedes sustraer una malla de otra utilizando el modificador de pieza Negativa? " +"De esta forma puedes, por ejemplo, crear agujeros fácilmente redimensionables directamente " +"en Orca Slicer. Más información en la documentación." #: resources/data/hints.ini: [hint:STEP] msgid "" "STEP\n" -"Did you know that you can improve your print quality by slicing a STEP file " -"instead of an STL?\n" -"Orca Slicer supports slicing STEP files, providing smoother results than a " -"lower resolution STL. Give it a try!" +"Did you know that you can improve your print quality by slicing a STEP file instead of an " +"STL?\n" +"Orca Slicer supports slicing STEP files, providing smoother results than a lower " +"resolution STL. Give it a try!" msgstr "" +"STEP\n" +"¿Sabías que puedes mejorar la calidad de impresión cortando un archivo STEP en lugar de un " +"STL?\n" +"Orca Slicer soporta el corte de archivos STEP, proporcionando resultados más suaves que un " +"STL de menor resolución. ¡Pruébalo!" #: resources/data/hints.ini: [hint:Z seam location] msgid "" "Z seam location\n" -"Did you know that you can customize the location of the Z seam, and even " -"paint it on your print, to have it in a less visible location? This improves " -"the overall look of your model. Check it out!" +"Did you know that you can customize the location of the Z seam, and even paint it on your " +"print, to have it in a less visible location? This improves the overall look of your " +"model. Check it out!" msgstr "" +"Ubicación de la costura Z\n" +"¿Sabías que puedes personalizar la ubicación de la costura Z, e incluso pintarla en tu " +"impresión, para tenerla en un lugar menos visible? Esto mejora el aspecto general de tu " +"modelo. ¡Compruébalo!" #: resources/data/hints.ini: [hint:Fine-tuning for flow rate] msgid "" "Fine-tuning for flow rate\n" -"Did you know that flow rate can be fine-tuned for even better-looking " -"prints? Depending on the material, you can improve the overall finish of the " -"printed model by doing some fine-tuning." +"Did you know that flow rate can be fine-tuned for even better-looking prints? Depending on " +"the material, you can improve the overall finish of the printed model by doing some fine-" +"tuning." msgstr "" +"Ajuste fino del caudal\n" +"¿Sabías que el caudal puede ajustarse para obtener impresiones aún más atractivas? " +"Dependiendo del material, puede mejorar el acabado general del modelo impreso realizando " +"algunos ajustes." #: resources/data/hints.ini: [hint:Split your prints into plates] msgid "" "Split your prints into plates\n" -"Did you know that you can split a model that has a lot of parts into " -"individual plates ready to print? This will simplify the process of keeping " -"track of all the parts." +"Did you know that you can split a model that has a lot of parts into individual plates " +"ready to print? This will simplify the process of keeping track of all the parts." msgstr "" +"Divide tus impresiones en planchas\n" +"¿Sabías que puedes dividir un modelo con muchas piezas en camas individuales listas para " +"imprimir? Esto simplificará el proceso de seguimiento de todas las piezas." -#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer -#: Height] +#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer Height] msgid "" "Speed up your print with Adaptive Layer Height\n" -"Did you know that you can print a model even faster, by using the Adaptive " -"Layer Height option? Check it out!" +"Did you know that you can print a model even faster, by using the Adaptive Layer Height " +"option? Check it out!" msgstr "" +"Acelere su impresión con la altura de capa adaptable\n" +"¿Sabías que puedes imprimir un modelo aún más rápido utilizando la opción Altura de capa " +"adaptable? ¡Compruébalo!" #: resources/data/hints.ini: [hint:Support painting] msgid "" "Support painting\n" -"Did you know that you can paint the location of your supports? This feature " -"makes it easy to place the support material only on the sections of the " -"model that actually need it." +"Did you know that you can paint the location of your supports? This feature makes it easy " +"to place the support material only on the sections of the model that actually need it." msgstr "" +"Pintura de soportes\n" +"¿Sabías que puedes pintar la ubicación de los soportes? Esta función facilita la " +"colocación del material de soporte sólo en las secciones del modelo que realmente lo " +"necesitan." #: resources/data/hints.ini: [hint:Different types of supports] msgid "" "Different types of supports\n" -"Did you know that you can choose from multiple types of supports? Tree " -"supports work great for organic models, while saving filament and improving " -"print speed. Check them out!" +"Did you know that you can choose from multiple types of supports? Tree supports work great " +"for organic models, while saving filament and improving print speed. Check them out!" msgstr "" +"Diferentes tipos de soportes\n" +"¿Sabías que puedes elegir entre varios tipos de soportes? Los soportes en forma de árbol " +"son ideales para modelos orgánicos, ahorran filamento y mejoran la velocidad de impresión. " +"¡Compruébalos!" #: resources/data/hints.ini: [hint:Printing Silk Filament] msgid "" "Printing Silk Filament\n" -"Did you know that Silk filament needs special consideration to print it " -"successfully? Higher temperature and lower speed are always recommended for " -"the best results." +"Did you know that Silk filament needs special consideration to print it successfully? " +"Higher temperature and lower speed are always recommended for the best results." msgstr "" +"Impresión de filamento de seda\n" +"¿Sabías que el filamento de seda necesita una consideración especial para imprimirlo con " +"éxito? Se recomienda siempre una temperatura más alta y una velocidad más baja para " +"obtener los mejores resultados." #: resources/data/hints.ini: [hint:Brim for better adhesion] msgid "" "Brim for better adhesion\n" -"Did you know that when printing models have a small contact interface with " -"the printing surface, it's recommended to use a brim?" +"Did you know that when printing models have a small contact interface with the printing " +"surface, it's recommended to use a brim?" msgstr "" +"Borde de adherencia para una mejor adherencia\n" +"¿Sabía que cuando los modelos de impresión tienen una pequeña interfaz de contacto con la " +"superficie de impresión, se recomienda utilizar un borde de adherencia?" #: resources/data/hints.ini: [hint:Set parameters for multiple objects] msgid "" "Set parameters for multiple objects\n" -"Did you know that you can set slicing parameters for all selected objects at " -"one time?" +"Did you know that you can set slicing parameters for all selected objects at one time?" msgstr "" +"Establecer parámetros para varios objetos\n" +"¿Sabías que puedes establecer parámetros de corte para todos los objetos seleccionados a " +"la vez?" #: resources/data/hints.ini: [hint:Stack objects] msgid "" "Stack objects\n" "Did you know that you can stack objects as a whole one?" msgstr "" +"Apilar objetos\n" +"¿Sabías que puedes apilar objetos como un todo?" #: resources/data/hints.ini: [hint:Flush into support/objects/infill] msgid "" "Flush into support/objects/infill\n" -"Did you know that you can save the wasted filament by flushing them into " -"support/objects/infill during filament change?" +"Did you know that you can save the wasted filament by flushing them into support/objects/" +"infill during filament change?" msgstr "" +"Descarga en soporte/objetos/relleno\n" +"¿Sabías que puedes ahorrarte el filamento desperdiciado vertiéndolo en soporte/objetos/" +"relleno durante el cambio de filamento?" #: resources/data/hints.ini: [hint:Improve strength] msgid "" "Improve strength\n" -"Did you know that you can use more wall loops and higher sparse infill " -"density to improve the strength of the model?" +"Did you know that you can use more wall loops and higher sparse infill density to improve " +"the strength of the model?" msgstr "" +"Mejorar la resistencia\n" +"¿Sabías que puedes utilizar más bucles de pared y mayor densidad de relleno disperso para " +"mejorar la resistencia del modelo?" +# msgid "Improve strength\n" +# "Did you know that you can use more wall loops and higher sparse infill density to improve the strength of the model?" +# msgstr "Mejorar la fuerza\n" +# "¿Sabías que puedes utilizar más bucles de pared y mayor densidad de relleno disperso para mejorar la resistencia del modelo?" #~ msgid "Keep upper part" #~ msgstr "Mantener la parte superior" @@ -9318,55 +9721,20 @@ msgstr "" #~ msgid "Backup interval" #~ msgstr "Intervalo de copia de seguridad" -#~ msgid "" -#~ "Print a tower to prime material in nozzle after switching to a new " +#~ msgid "Print a tower to prime material in nozzle after switching to a new material." +#~ msgstr "" +#~ "Imprimir una torre para cebar el material en la boquilla después de cambiar a un nuevo " #~ "material." -#~ msgstr "" -#~ "Imprimir una torre para cebar el material en la boquilla después de " -#~ "cambiar a un nuevo material." - -#~ msgid "" -#~ "The configuration may be generated by a newer version of BambuStudio." -#~ msgstr "" -#~ "La configuración puede ser generada por una versión más reciente de " -#~ "BambuStudio." - -#~ msgid "" -#~ "BambuStudio will terminate because of running out of memory.It may be a " -#~ "bug. It will be appreciated if you report the issue to our team." -#~ msgstr "" -#~ "BambuStudio terminará porque se está quedando sin memoria. Le " -#~ "agradeceremos que comunique el problema a nuestro equipo." - -#~ msgid "" -#~ "BambuStudio will terminate because of a localization error. It will be " -#~ "appreciated if you report the specific scenario this issue happened." -#~ msgstr "" -#~ "BambuStudio terminará debido a un error de localización. Le agradeceremos " -#~ "que nos informe del escenario específico en el que se ha producido este " -#~ "problema." - -#, boost-format -#~ msgid "BambuStudio got an unhandled exception: %1%" -#~ msgstr "" -#~ "BambuStudio recibió una notificación de excepción no controlada: %1%." - -#~ msgid "" -#~ "BambuStudio configuration file may be corrupted and is not abled to be " -#~ "parsed.Please delete the file and try again." -#~ msgstr "" -#~ "El archivo de configuración de OrcaSlicer puede estar dañado y no puede " -#~ "ser procesado." #~ msgid "Loading user presets..." #~ msgstr "Cargando los preajustes del usuario..." #~ msgid "" -#~ "Orca Slicer is based on PrusaSlicer by Prusa Research, which is from " -#~ "Slic3r by Alessandro Ranellucci and the RepRap community" +#~ "Orca Slicer is based on PrusaSlicer by Prusa Research, which is from Slic3r by " +#~ "Alessandro Ranellucci and the RepRap community" #~ msgstr "" -#~ "Orca Slicer se basa en PrusaSlicer de Prusa Research, que proviene de " -#~ "Slic3r de Alessandro Ranellucci y la comunidad RepRap" +#~ "Orca Slicer se basa en PrusaSlicer de Prusa Research, que proviene de Slic3r de " +#~ "Alessandro Ranellucci y la comunidad RepRap" #~ msgid "Export G-Code." #~ msgstr "Exportar Código G." @@ -9375,22 +9743,20 @@ msgstr "" #~ msgstr "Exportar." #~ msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files." -#~ msgstr "" -#~ "Importación de datos geométricos desde archivos STL/STEP/3MF/OBJ/AMF." +#~ msgstr "Importación de datos geométricos desde archivos STL/STEP/3MF/OBJ/AMF." #, boost-format #~ msgid "Copying directory %1% to %2% failed: %3%" #~ msgstr "La copia del directorio %1% a %2% ha fallado: %3%" #~ msgid "" -#~ "This controls brim position including outer side of models, inner side of " -#~ "holes or both. Auto means both the brim position and brim width is " -#~ "analysed and calculated automatically" +#~ "This controls brim position including outer side of models, inner side of holes or " +#~ "both. Auto means both the brim position and brim width is analysed and calculated " +#~ "automatically" #~ msgstr "" -#~ "Esto controla la posición del borde, incluyendo el lado exterior de los " -#~ "modelos, el lado interior de los huecos o ambos. Auto significa que tanto " -#~ "la posición como la anchura del borde se analizan y calculan " -#~ "automáticamente" +#~ "Esto controla la posición del borde de adherencia, incluyendo el lado exterior de los " +#~ "modelos, el lado interior de los huecos o ambos. Auto significa que tanto la posición " +#~ "como la anchura del borde de adherencia se analizan y calculan automáticamente" #~ msgid "Choose one file (gcode/.gco/.g/.ngc/ngc):" #~ msgstr "Elija un archivo (gcode/.gco/.g/.ngc/ngc):" @@ -9404,19 +9770,13 @@ msgstr "" #~ msgid "" #~ "\n" -#~ "%1% is too close to exclusion area, there will be collisions when " -#~ "printing." +#~ "%1% is too close to exclusion area, there will be collisions when printing." #~ msgstr "" #~ "\n" -#~ "%1% está demasiado cerca del área de exclusión, habrá colisiones al " -#~ "imprimir." +#~ "%1% está demasiado cerca del área de exclusión, habrá colisiones al imprimir." -#~ msgid "" -#~ "%1% is too close to exclusion area, there will be collisions when " -#~ "printing." -#~ msgstr "" -#~ "%1% está demasiado cerca del área de exclusión, habrá colisiones al " -#~ "imprimir." +#~ msgid "%1% is too close to exclusion area, there will be collisions when printing." +#~ msgstr "%1% está demasiado cerca del área de exclusión, habrá colisiones al imprimir." #~ msgid "0%" #~ msgstr "0%" @@ -9425,27 +9785,24 @@ msgstr "" #~ "An object is layed over the boundary of plate.\n" #~ "Please solve the problem by moving it totally inside or outside plate." #~ msgstr "" -#~ "Un objeto está colocado sobre el límite de la placa.\n" -#~ "Por favor, resuelva el problema moviéndolo totalmente dentro o fuera de " -#~ "la placa." +#~ "Un objeto está colocado sobre el límite de la cama.\n" +#~ "Por favor, resuelva el problema moviéndolo totalmente dentro o fuera de la cama." #~ msgid "" #~ "Arachne engine only works when overhang slowing down is disabled.\n" -#~ "This may cause decline in the quality of overhang surface when print " -#~ "fastly\n" +#~ "This may cause decline in the quality of overhang surface when print fastly\n" #~ msgstr "\n" #~ msgid "Auto arrange" #~ msgstr "Auto posicionamiento" #~ msgid "" -#~ "Auto orientates selected objects or all objects.If there are selected " -#~ "objects, it just orientates the selected ones.Otherwise, it will " -#~ "orientates all objects in the project." +#~ "Auto orientates selected objects or all objects.If there are selected objects, it just " +#~ "orientates the selected ones.Otherwise, it will orientates all objects in the project." #~ msgstr "" -#~ "Orienta automáticamente los objetos seleccionados o todos los objetos.Si " -#~ "hay objetos seleccionados, sólo orienta los seleccionados.En caso " -#~ "contrario, orienta todos los objetos del proyecto." +#~ "Orienta automáticamente los objetos seleccionados o todos los objetos.Si hay objetos " +#~ "seleccionados, sólo orienta los seleccionados.En caso contrario, orienta todos los " +#~ "objetos del proyecto." #~ msgid "Aux Cooling" #~ msgstr "Enfriamiento Auxiliar" @@ -9454,12 +9811,11 @@ msgstr "" #~ msgstr "Evitar cruzar el muro en los desplazamientos" #~ msgid "" -#~ "Bed temperature is higher than vitrification temperature of this " -#~ "filament.\n" +#~ "Bed temperature is higher than vitrification temperature of this filament.\n" #~ "This may cause nozzle blocked and printing failure" #~ msgstr "" -#~ "La temperatura del lecho es superior a la temperatura de vitrificación de " -#~ "este filamento.\n" +#~ "La temperatura del lecho es superior a la temperatura de vitrificación de este " +#~ "filamento.\n" #~ "Esto puede causar el bloqueo de la boquilla y el fracaso de la impresión" #~ msgid "Choose one or more files (3mf/step/stl/obj/amf):" @@ -9469,12 +9825,11 @@ msgstr "" #~ msgstr "Borrar todo" #~ msgid "" -#~ "Clearance radius around extruder. Used as input of auto-arrange to avoid " -#~ "collision when print object by object" +#~ "Clearance radius around extruder. Used as input of auto-arrange to avoid collision when " +#~ "print object by object" #~ msgstr "" -#~ "Radio de separación alrededor del extrusor. Se utiliza como entrada de " -#~ "auto-organización para evitar la colisión cuando se imprime objeto por " -#~ "objeto" +#~ "Radio de separación alrededor del extrusor. Se utiliza como entrada de auto-" +#~ "organización para evitar la colisión cuando se imprime objeto por objeto" #~ msgid "Click the pencil icon to edit the filament." #~ msgstr "Haga clic en el icono del lápiz para editar el filamento." @@ -9513,14 +9868,13 @@ msgstr "" #~ msgstr "Mostrar los triángulos de los modelos" #~ msgid "" -#~ "Do not recommand bed temperature of other layer to be lower than initial " -#~ "layer for more than this threshold. Too low bed temperature of other " -#~ "layer may cause the model broken free from build plate" +#~ "Do not recommand bed temperature of other layer to be lower than initial layer for more " +#~ "than this threshold. Too low bed temperature of other layer may cause the model broken " +#~ "free from build plate" #~ msgstr "" -#~ "No se recomienda que la temperatura de la cama de la otra capa sea " -#~ "inferior a la de la capa inicial por más de este umbral. Una temperatura " -#~ "demasiado baja de la otra capa puede hacer que el modelo se desprenda de " -#~ "la placa de impresión." +#~ "No se recomienda que la temperatura de la cama de la otra capa sea inferior a la de la " +#~ "capa inicial por más de este umbral. Una temperatura demasiado baja de la otra capa " +#~ "puede hacer que el modelo se desprenda de la cama de impresión." #~ msgid "" #~ "Do you want to synchronize your personal data from Bambu Cloud? \n" @@ -9544,24 +9898,22 @@ msgstr "" #~ msgstr "\n" #~ msgid "" -#~ "Don't retract when the travel is in infill area absolutely. That means " -#~ "the oozing can't been seen" +#~ "Don't retract when the travel is in infill area absolutely. That means the oozing can't " +#~ "been seen" #~ msgstr "" -#~ "No se repliegue cuando el recorrido esté en zona de relleno " -#~ "absolutamente. Eso significa que el rezago no puede ser visto" +#~ "No se repliegue cuando el recorrido esté en zona de relleno absolutamente. Eso " +#~ "significa que el rezago no puede ser visto" #~ msgid "" -#~ "Enabling this option means the height of every layer except the first " -#~ "will be automatically calculated during slicing according to the slope of " -#~ "the model’s surface.\n" -#~ "Note that this option only takes effect if no prime tower is generated in " -#~ "current plate." +#~ "Enabling this option means the height of every layer except the first will be " +#~ "automatically calculated during slicing according to the slope of the model’s surface.\n" +#~ "Note that this option only takes effect if no prime tower is generated in current plate." #~ msgstr "" -#~ "Si se activa esta opción, la altura de cada capa, excepto la primera, se " -#~ "calculará automáticamente durante el corte en función de la pendiente de " -#~ "la superficie del modelo.\n" -#~ "Tenga en cuenta que esta opción sólo surte efecto si no se genera ninguna " -#~ "torre principal en la placa actual." +#~ "Si se activa esta opción, la altura de cada capa, excepto la primera, se calculará " +#~ "automáticamente durante el corte en función de la pendiente de la superficie del " +#~ "modelo.\n" +#~ "Tenga en cuenta que esta opción sólo surte efecto si no se genera ninguna torre de " +#~ "purga en la cama actual." #~ msgid "Enter a search term" #~ msgstr "Teclea un término de búsqueda" @@ -9573,16 +9925,16 @@ msgstr "" #~ msgstr "Error en la línea %1%:\n" #~ msgid "Export Sliced File" -#~ msgstr "Exportar Archivo Rebanado" +#~ msgstr "Exportar Archivo laminado" #~ msgid "Export current Sliced file" -#~ msgstr "Exportar el archivo rebanado actual" +#~ msgstr "Exportar el archivo laminado actual" #~ msgid "Export ok." #~ msgstr "Exportación correcta." #~ msgid "Export sliced file" -#~ msgstr "Exportar archivo rebanado" +#~ msgstr "Exportar archivo laminado" #~ msgid "Extruder position" #~ msgstr "Posición del extrusor" @@ -9597,19 +9949,18 @@ msgstr "" #~ msgstr "Filamento N XX" #~ msgid "" -#~ "Filament to print support and skirt. 0 means no specific filament for " -#~ "support and current filament is used" +#~ "Filament to print support and skirt. 0 means no specific filament for support and " +#~ "current filament is used" #~ msgstr "" -#~ "Filamento para imprimir el soporte y el faldón. 0 significa que no hay " -#~ "filamento específico para el soporte y se utiliza el filamento actual" +#~ "Filamento para imprimir el soporte y el faldón. 0 significa que no hay filamento " +#~ "específico para el soporte y se utiliza el filamento actual" #~ msgid "" -#~ "Filament to print support interface. 0 means no specific filament for " -#~ "support interface and current filament is used" +#~ "Filament to print support interface. 0 means no specific filament for support interface " +#~ "and current filament is used" #~ msgstr "" -#~ "Filamento para imprimir la interfaz de soporte. 0 significa que no hay " -#~ "filamento específico para la interfaz de soporte y se utiliza el " -#~ "filamento actual" +#~ "Filamento para imprimir la interfaz de soporte. 0 significa que no hay filamento " +#~ "específico para la interfaz de soporte y se utiliza el filamento actual" #~ msgid "Filaments Selection" #~ msgstr "Selección de filamentos" @@ -9630,13 +9981,13 @@ msgstr "" #~ msgstr "Filamento limpiado" #~ msgid "" -#~ "Force cooling fan to be specific speed when overhang degree of printed " -#~ "part exceeds this value. Expressed as percentage which indicides how much " -#~ "width of the line without support from lower layer" +#~ "Force cooling fan to be specific speed when overhang degree of printed part exceeds " +#~ "this value. Expressed as percentage which indicides how much width of the line without " +#~ "support from lower layer" #~ msgstr "" -#~ "Fuerza al ventilador de refrigeración a una velocidad específica cuando " -#~ "el grado de voladizo de la pieza impresa supera este valor. Expresado en " -#~ "porcentaje, indica la anchura de la línea sin apoyo de la capa inferior." +#~ "Fuerza al ventilador de refrigeración a una velocidad específica cuando el grado de " +#~ "voladizo de la pieza impresa supera este valor. Expresado en porcentaje, indica la " +#~ "anchura de la línea sin apoyo de la capa inferior." #~ msgid "Fragment Filter" #~ msgstr "Filtro de fragmentos" @@ -9658,12 +10009,11 @@ msgstr "" #~ msgstr "Altura:" #~ msgid "" -#~ "Height of the clearance cylinder around extruder. Used as input of auto-" -#~ "arrange to avoid collision when print object by object" +#~ "Height of the clearance cylinder around extruder. Used as input of auto-arrange to " +#~ "avoid collision when print object by object" #~ msgstr "" -#~ "Altura del cilindro de separación alrededor del extrusor. Se utiliza como " -#~ "entrada de auto-organización para evitar la colisión cuando se imprime " -#~ "objeto por objeto." +#~ "Altura del cilindro de separación alrededor del extrusor. Se utiliza como entrada de " +#~ "auto-organización para evitar la colisión cuando se imprime objeto por objeto." #~ msgid "Import 3MF/STL/STEP/OBJ/AMF" #~ msgstr "Importar 3MF/STL/STEP/OBJ/AMF" @@ -9680,12 +10030,10 @@ msgstr "" #~ msgid "Inner wall speed" #~ msgstr "Velocidad de la pared interior" -#~ msgid "" -#~ "It seems object %s needs support to print. Please enable support " -#~ "generation." +#~ msgid "It seems object %s needs support to print. Please enable support generation." #~ msgstr "" -#~ "Parece que el objeto %s necesita soporte para imprimir. Por favor, active " -#~ "la generación de soporte." +#~ "Parece que el objeto %s necesita soporte para imprimir. Por favor, active la generación " +#~ "de soporte." #~ msgid "Line type" #~ msgstr "Tipo de línea" @@ -9697,11 +10045,11 @@ msgstr "" #~ msgstr "Distancia máxima de desvío de viaje" #~ msgid "" -#~ "Maximum detour distance for avoiding crossing wall. Don't detour if the " -#~ "detour distance is large than this value" +#~ "Maximum detour distance for avoiding crossing wall. Don't detour if the detour distance " +#~ "is large than this value" #~ msgstr "" -#~ "Distancia máxima de desvío para evitar cruzar el muro. No se desvía si la " -#~ "distancia de desvío es mayor que este valor" +#~ "Distancia máxima de desvío para evitar cruzar el muro. No se desvía si la distancia de " +#~ "desvío es mayor que este valor" #~ msgid "Module" #~ msgstr "Módulo" @@ -9740,14 +10088,13 @@ msgstr "" #~ msgstr "\n" #~ msgid "Plate %d: %s does not support filament %s.\n" -#~ msgstr "La placa %d: %s no admite el filamento %s.\n" +#~ msgstr "La cama %d: %s no admite el filamento %s.\n" #~ msgid "Plate %d: %s does not support filament %s (%s).\n" #~ msgstr "\n" #~ msgid "" -#~ "Please check the following infomation and click Confirm to continue " -#~ "sending print:\n" +#~ "Please check the following infomation and click Confirm to continue sending print:\n" #~ msgstr "\n" #~ msgid "Please fill report first." @@ -9773,23 +10120,20 @@ msgstr "" #~ msgstr "Selección de la impresora" #~ msgid "" -#~ "Purging after filament change will be done inside objects' infills. This " -#~ "may lower the amount of waste and decrease the print time. If the walls " -#~ "are printed with transparent filament, the mixed color infill will be " -#~ "seen outside" +#~ "Purging after filament change will be done inside objects' infills. This may lower the " +#~ "amount of waste and decrease the print time. If the walls are printed with transparent " +#~ "filament, the mixed color infill will be seen outside" #~ msgstr "" -#~ "La purga tras el cambio de filamento se realizará dentro del relleno de " -#~ "los objetos. Esto puede reducir la cantidad de residuos y disminuir el " -#~ "tiempo de impresión. Si las paredes se imprimen con filamento " -#~ "transparente, el mezclado se podrá ver en el exterior." +#~ "La purga tras el cambio de filamento se realizará dentro del relleno de los objetos. " +#~ "Esto puede reducir la cantidad de residuos y disminuir el tiempo de impresión. Si las " +#~ "paredes se imprimen con filamento transparente, el mezclado se podrá ver en el exterior." #~ msgid "" -#~ "Purging after filament change will be done inside objects' support. This " -#~ "may lower the amount of waste and decrease the print time" +#~ "Purging after filament change will be done inside objects' support. This may lower the " +#~ "amount of waste and decrease the print time" #~ msgstr "" -#~ "La purga después del cambio de filamento se hará dentro del soporte de " -#~ "los objetos. Esto puede reducir la cantidad de residuos y disminuir el " -#~ "tiempo de impresión." +#~ "La purga después del cambio de filamento se hará dentro del soporte de los objetos. " +#~ "Esto puede reducir la cantidad de residuos y disminuir el tiempo de impresión." #~ msgid "" #~ "Push new filament \n" @@ -9799,15 +10143,15 @@ msgstr "" #~ "en el extrusor" #~ msgid "" -#~ "Record timelapse video of printing without showing toolhead. In this mode " -#~ "the toolhead docks near the excess chute at each layer change, and then a " -#~ "snapshot is taken with the chamber camera. When printing finishes a " -#~ "timelapse video is composed of all the snapshots." +#~ "Record timelapse video of printing without showing toolhead. In this mode the toolhead " +#~ "docks near the excess chute at each layer change, and then a snapshot is taken with the " +#~ "chamber camera. When printing finishes a timelapse video is composed of all the " +#~ "snapshots." #~ msgstr "" -#~ "Record timelapse video of printing without showing the toolhead. In this " -#~ "mode the toolhead docks near the excess chute at each layer change, and " -#~ "then a snapshot is taken with the chamber camera. When printing finishes, " -#~ "a timelapse video is created from all the snapshots." +#~ "Record timelapse video of printing without showing the toolhead. In this mode the " +#~ "toolhead docks near the excess chute at each layer change, and then a snapshot is taken " +#~ "with the chamber camera. When printing finishes, a timelapse video is created from all " +#~ "the snapshots." #~ msgid "Reduce Triangles" #~ msgstr "Reducir los triángulos" @@ -9859,27 +10203,24 @@ msgstr "" #~ msgid "" #~ "Spiral mode only works when wall loops is 1, \n" -#~ "support is disabled, top shell layers is 0 and sparse infill density is " -#~ "0\n" +#~ "support is disabled, top shell layers is 0 and sparse infill density is 0\n" #~ msgstr "" #~ "El modo espiral sólo funciona cuando los bucles de pared son 1, \n" -#~ "el soporte está desactivado, las capas superiores de la cáscara es 0 y la " -#~ "densidad de relleno dispersa es 0\n" +#~ "el soporte está desactivado, las capas superiores de la cáscara es 0 y la densidad de " +#~ "relleno dispersa es 0\n" #~ msgid "Successfully sent.Will automatically jump to the device page in %s s" -#~ msgstr "" -#~ "Enviado con éxito. Saltará automáticamente a la página del dispositivo en " -#~ "%s s" +#~ msgstr "Enviado con éxito. Saltará automáticamente a la página del dispositivo en %s s" #~ msgid "" -#~ "Support layer uses layer height independent with object layer. This is to " -#~ "support custom support gap,but may cause extra filament switches if " -#~ "support is specified as different extruder with object" +#~ "Support layer uses layer height independent with object layer. This is to support " +#~ "custom support gap,but may cause extra filament switches if support is specified as " +#~ "different extruder with object" #~ msgstr "" -#~ "La capa de soporte utiliza la altura de la capa independientemente de la " -#~ "capa del objeto. Esto es para soportar la brecha de soporte " -#~ "personalizada, pero puede causar cambios de filamento adicionales si el " -#~ "soporte se especifica como un extrusor diferente con el objeto" +#~ "La capa de soporte utiliza la altura de la capa independientemente de la capa del " +#~ "objeto. Esto es para soportar la brecha de soporte personalizada, pero puede causar " +#~ "cambios de filamento adicionales si el soporte se especifica como un extrusor diferente " +#~ "con el objeto" #~ msgid "" #~ "Switch to rectilinear pattern?\n" @@ -9894,71 +10235,64 @@ msgstr "" #~ msgstr "" #~ "¿Cambiar al patrón en zig-zag?\n" #~ "Sí - cambia automáticamente al patrón en zig-zag\n" -#~ "No - restablecer automáticamente la densidad al valor por defecto que no " -#~ "es del 100%.\n" +#~ "No - restablecer automáticamente la densidad al valor por defecto que no es del 100%.\n" #~ msgid "Swith cloud environment, Please login again!" #~ msgstr "Cambiar el entorno de la nube, ¡Por favor, inicie sesión de nuevo!" #~ msgid "" -#~ "The 3mf's version %s is newer than %s's version %s, Found following keys " -#~ "unrecognized:\n" +#~ "The 3mf's version %s is newer than %s's version %s, Found following keys unrecognized:\n" #~ msgstr "" -#~ "La versión %s de 3mf es más reciente que la versión %s de %s, se han " -#~ "encontrado las siguientes claves no reconocidas:\n" +#~ "La versión %s de 3mf es más reciente que la versión %s de %s, se han encontrado las " +#~ "siguientes claves no reconocidas:\n" #~ msgid "" -#~ "The 3mf's version %s is newer than %s's version %s, Suggest to upgrade " -#~ "your software.\n" +#~ "The 3mf's version %s is newer than %s's version %s, Suggest to upgrade your software.\n" #~ msgstr "\n" #~ msgid "The Config is not compatible and can not be loaded." #~ msgstr "La configuración no es compatible y no se puede cargar." #~ msgid "" -#~ "The firmware versions of printer and AMS are too low.Please update to the " -#~ "latest version before sending the print job" +#~ "The firmware versions of printer and AMS are too low.Please update to the latest " +#~ "version before sending the print job" #~ msgstr "" -#~ "Las versiones del firmware de la impresora y del AMS son demasiado " -#~ "antiguas, por favor, actualice a la última versión antes de enviar el " -#~ "trabajo de impresión." +#~ "Las versiones del firmware de la impresora y del AMS son demasiado antiguas, por favor, " +#~ "actualice a la última versión antes de enviar el trabajo de impresión." #~ msgid "" -#~ "The model has overlapping or self-intersecting facets. I tried to repair " -#~ "it, however you might want to check the results or repair the input file " -#~ "and retry." +#~ "The model has overlapping or self-intersecting facets. I tried to repair it, however " +#~ "you might want to check the results or repair the input file and retry." #~ msgstr "" -#~ "El modelo tiene facetas superpuestas o auto-intersecadas. He intentado " -#~ "repararlo, sin embargo, es posible que desee comprobar los resultados o " -#~ "reparar el archivo de entrada y volver a intentarlo." +#~ "El modelo tiene facetas superpuestas o auto-intersecadas. He intentado repararlo, sin " +#~ "embargo, es posible que desee comprobar los resultados o reparar el archivo de entrada " +#~ "y volver a intentarlo." #~ msgid "" -#~ "The printer type used to generate G-code is not the same type as the " -#~ "currently selected physical printer. It is recommend to re-slice by " -#~ "selecting the same printer type.\n" +#~ "The printer type used to generate G-code is not the same type as the currently selected " +#~ "physical printer. It is recommend to re-slice by selecting the same printer type.\n" #~ msgstr "\n" #~ msgid "" -#~ "This object will be used to purge the nozzle after a filament change to " -#~ "save filament and decrease the print time. Colours of the objects will be " -#~ "mixed as a result" +#~ "This object will be used to purge the nozzle after a filament change to save filament " +#~ "and decrease the print time. Colours of the objects will be mixed as a result" #~ msgstr "" -#~ "Este objeto se utilizará para purgar la boquilla después de un cambio de " -#~ "filamento para ahorrar filamento y disminuir el tiempo de impresión. Los " -#~ "colores de los objetos se mezclarán como resultado" +#~ "Este objeto se utilizará para purgar la boquilla después de un cambio de filamento para " +#~ "ahorrar filamento y disminuir el tiempo de impresión. Los colores de los objetos se " +#~ "mezclarán como resultado" #~ msgid "" -#~ "This setting stands for how much volume of filament can be melted and " -#~ "extruded per second. Printing speed is limited by max volumetric speed, " -#~ "in case of too high and unreasonable speed setting. Zero means no limit" +#~ "This setting stands for how much volume of filament can be melted and extruded per " +#~ "second. Printing speed is limited by max volumetric speed, in case of too high and " +#~ "unreasonable speed setting. Zero means no limit" #~ msgstr "" -#~ "Este ajuste representa la cantidad de volumen de filamento que se puede " -#~ "fundir y extruir por segundo. La velocidad de impresión está limitada por " -#~ "la velocidad volumétrica máxima, en caso de ajustar una velocidad " -#~ "demasiado alta y poco razonable. Cero significa que no hay límite" +#~ "Este ajuste representa la cantidad de volumen de filamento que se puede fundir y " +#~ "extruir por segundo. La velocidad de impresión está limitada por la velocidad " +#~ "volumétrica máxima, en caso de ajustar una velocidad demasiado alta y poco razonable. " +#~ "Cero significa que no hay límite" #~ msgid "Timelapse Wipe Tower" -#~ msgstr "Timelapse Torre de limpieza" +#~ msgstr "Timelapse torre de purga" #~ msgid "Translation" #~ msgstr "Translación" @@ -9976,10 +10310,10 @@ msgstr "" #~ msgstr "Esperando" #~ msgid "" -#~ "When recording timelapse without toolhead, it is recommended to add a " -#~ "\"Timelapse Wipe Tower\" \n" -#~ "by right-click the empty position of build plate and choose \"Add " -#~ "Primitive\"->\"Timelapse Wipe Tower\".\n" +#~ "When recording timelapse without toolhead, it is recommended to add a \"Timelapse Wipe " +#~ "Tower\" \n" +#~ "by right-click the empty position of build plate and choose \"Add Primitive\"-" +#~ ">\"Timelapse Wipe Tower\".\n" #~ msgstr "\n" #~ msgid "" @@ -9995,15 +10329,11 @@ msgstr "" #~ msgid " Object:" #~ msgstr "Objeto" -#~ msgid "" -#~ " is too close to exclusion area, there may be collisions when printing.\n" +#~ msgid " is too close to exclusion area, there may be collisions when printing.\n" #~ msgstr "\n" -#~ msgid "" -#~ " is too close to exclusion area, there will be collisions when printing.\n" -#~ msgstr "" -#~ " está demasiado cerca del área de exclusión, habrá colisiones al " -#~ "imprimir.\n" +#~ msgid " is too close to exclusion area, there will be collisions when printing.\n" +#~ msgstr " está demasiado cerca del área de exclusión, habrá colisiones al imprimir.\n" #~ msgid " is too close to others, there may be collisions when printing.\n" #~ msgstr "\n" @@ -10018,12 +10348,11 @@ msgstr "" #~ msgstr "normal" #~ msgid "" -#~ "normal(auto) and tree(auto) is used to generate support automatically. If " -#~ "normal or tree is selected, only support enforcers are generated" +#~ "normal(auto) and tree(auto) is used to generate support automatically. If normal or " +#~ "tree is selected, only support enforcers are generated" #~ msgstr "" -#~ "normal(auto) y tree(auto) se utiliza para generar soporte " -#~ "automáticamente. Si se selecciona normal o árbol, sólo se generan los " -#~ "soportes" +#~ "normal(auto) y tree(auto) se utiliza para generar soporte automáticamente. Si se " +#~ "selecciona normal o árbol, sólo se generan los soportes" #~ msgid "the 3mf is not compatible, load geometry data only!" #~ msgstr "el 3mf no es compatible, ¡cargue sólo los datos geométricos!" diff --git a/bbl/i18n/fr/OrcaSlicer_fr.po b/bbl/i18n/fr/OrcaSlicer_fr.po index 6fc33d6dd6..5cb5d140ad 100644 --- a/bbl/i18n/fr/OrcaSlicer_fr.po +++ b/bbl/i18n/fr/OrcaSlicer_fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-29 20:13+0800\n" +"POT-Creation-Date: 2023-07-07 00:37+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Guislain Cyril\n" @@ -15,31 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n==0 || n==1) ? 0 : 1;\n" -"X-Generator: Poedit 3.2.2\n" - -msgid "Physical Printer" -msgstr "Imprimante Physique" - -msgid "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-signed certificate." -msgstr "Le fichier CA HTTPS est facultatif. Il n'est nécessaire que si vous utilisez HTTPS avec un certificat auto-signé." - -msgid "On this system, %s uses HTTPS certificates from the system Certificate Store or Keychain." -msgstr "Sur ce système, %s utilise les certificats HTTPS du magasin de certificats du système ou du trousseau." - -msgid "To use a custom CA file, please import your CA file into Certificate Store / Keychain." -msgstr "Pour utiliser un certificat personnalisé, veuillez importer votre fichier dans magasin de certificats / trousseau." - -msgid "Send to print" -msgstr "Envoi vers l'imprimante" - -msgid "Upload" -msgstr "Envoyer" - -msgid "Upload and Print" -msgstr "Imprimer" - -msgid "Use forward slashes ( / ) as a directory separator if needed." -msgstr "Utilisez des barres obliques ( / ) comme séparateur de répertoire si nécessaire." +"X-Generator: Poedit 3.3.1\n" msgid "Supports Painting" msgstr "Peindre les supports" @@ -118,7 +94,8 @@ msgstr "Remplir les espaces" #, boost-format msgid "Allows painting only on facets selected by: \"%1%\"" -msgstr "Permet de peindre uniquement sur les facettes sélectionnées par : \"%1%\"" +msgstr "" +"Permet de peindre uniquement sur les facettes sélectionnées par : \"%1%\"" msgid "Highlight faces according to overhang angle." msgstr "Mettre en surbrillance les faces en fonction de l'angle de surplomb." @@ -134,11 +111,12 @@ msgstr "Poser sur la face" #, boost-format msgid "" -"Filament count exceeds the maximum number that painting tool supports. only the first %1% filaments will be available in " -"painting tool." +"Filament count exceeds the maximum number that painting tool supports. only " +"the first %1% filaments will be available in painting tool." msgstr "" -"Le nombre de filaments dépasse le nombre maximum pris en charge par l'outil de peinture. Seuls les %1% premiers " -"filaments seront disponibles dans l'outil de peinture." +"Le nombre de filaments dépasse le nombre maximum pris en charge par l'outil " +"de peinture. Seuls les %1% premiers filaments seront disponibles dans " +"l'outil de peinture." msgid "Color Painting" msgstr "Peindre" @@ -437,10 +415,12 @@ msgid "Decimate ratio" msgstr "Ratio de décimation" #, boost-format -msgid "Processing model '%1%' with more than 1M triangles could be slow. It is highly recommended to simplify the model." +msgid "" +"Processing model '%1%' with more than 1M triangles could be slow. It is " +"highly recommended to simplify the model." msgstr "" -"Le traitement du modèle '%1%' avec plus de 1 million de triangles peut être lent. Il est fortement recommandé de " -"simplifier le modèle." +"Le traitement du modèle '%1%' avec plus de 1 million de triangles peut être " +"lent. Il est fortement recommandé de simplifier le modèle." msgid "Simplify model" msgstr "Simplifier le modèle" @@ -449,7 +429,9 @@ msgid "Simplify" msgstr "Simplifier" msgid "Simplification is currently only allowed when a single part is selected" -msgstr "La simplification n'est actuellement autorisée que lorsqu'une seule pièce est sélectionnée" +msgstr "" +"La simplification n'est actuellement autorisée que lorsqu'une seule pièce " +"est sélectionnée" msgid "Error" msgstr "Erreur" @@ -564,7 +546,9 @@ msgid "%1% was replaced with %2%" msgstr "%1% a été remplacé par %2%" msgid "The configuration may be generated by a newer version of OrcaSlicer." -msgstr "La configuration peut être générée par une version plus récente de Orca Slicer." +msgstr "" +"La configuration peut être générée par une version plus récente de Orca " +"Slicer." msgid "Some values have been replaced. Please check them:" msgstr "Certaines valeurs ont été remplacées. Veuillez les vérifier :" @@ -579,31 +563,37 @@ msgid "Machine" msgstr "Imprimante" msgid "Configuration package was loaded, but some values were not recognized." -msgstr "Le package de configuration a été chargé, mais certaines valeurs n'ont pas été reconnues." +msgstr "" +"Le package de configuration a été chargé, mais certaines valeurs n'ont pas " +"été reconnues." #, boost-format -msgid "Configuration file \"%1%\" was loaded, but some values were not recognized." -msgstr "Le fichier de configuration \"%1%\" a été chargé, mais certaines valeurs n'ont pas été reconnues." +msgid "" +"Configuration file \"%1%\" was loaded, but some values were not recognized." +msgstr "" +"Le fichier de configuration \"%1%\" a été chargé, mais certaines valeurs " +"n'ont pas été reconnues." msgid "V" msgstr "V" msgid "" -"OrcaSlicer will terminate because of running out of memory.It may be a bug. It will be appreciated if you report the " -"issue to our team." +"OrcaSlicer will terminate because of running out of memory.It may be a bug. " +"It will be appreciated if you report the issue to our team." msgstr "" -"Orca Slicer va s'arrêter à cause d'un manque de mémoire. Il peut s'agir d'un bogue. Il sera apprécié de signaler le " -"problème à notre équipe." +"Orca Slicer va s'arrêter à cause d'un manque de mémoire. Il peut s'agir d'un " +"bogue. Il sera apprécié de signaler le problème à notre équipe." msgid "Fatal error" msgstr "Erreur fatale" msgid "" -"OrcaSlicer will terminate because of a localization error. It will be appreciated if you report the specific scenario " -"this issue happened." +"OrcaSlicer will terminate because of a localization error. It will be " +"appreciated if you report the specific scenario this issue happened." msgstr "" -"Orca Slicer va s'arrêter à cause d'une erreur de localisation. Il sera apprécié si vous signalez le scénario spécifique " -"dans lequel ce problème s'est produit." +"Orca Slicer va s'arrêter à cause d'une erreur de localisation. Il sera " +"apprécié si vous signalez le scénario spécifique dans lequel ce problème " +"s'est produit." msgid "Critical error" msgstr "Erreur critique" @@ -622,10 +612,12 @@ msgstr "Mot de passe incorrect" msgid "Connect %s failed! [SN:%s, code=%s]" msgstr "Connexion %s échouée ! [SN:%s, code=%s]" -msgid "OrcaSlicer configuration file may be corrupted and is not abled to be parsed.Please delete the file and try again." +msgid "" +"OrcaSlicer configuration file may be corrupted and is not abled to be parsed." +"Please delete the file and try again." msgstr "" -"Le fichier de configuration de Orca Slicer est peut-être corrompu et ne peut pas être analysé. Veuillez supprimer le " -"fichier et réessayer." +"Le fichier de configuration de Orca Slicer est peut-être corrompu et ne peut " +"pas être analysé. Veuillez supprimer le fichier et réessayer." #, c-format, boost-format msgid "" @@ -675,24 +667,30 @@ msgstr "Choisissez un fichier (gcode/3mf):" msgid "Some presets are modified." msgstr "Certains préréglages sont modifiés." -msgid "You can keep the modifield presets to the new project, discard or save changes as new presets." +msgid "" +"You can keep the modifield presets to the new project, discard or save " +"changes as new presets." msgstr "" -"Vous pouvez conserver les préréglages modifiés dans le nouveau projet, annuler ou enregistrer les modifications en tant " -"que nouveaux préréglages." +"Vous pouvez conserver les préréglages modifiés dans le nouveau projet, " +"annuler ou enregistrer les modifications en tant que nouveaux préréglages." msgid "User logged out" msgstr "Utilisateur déconnecté" msgid "new or open project file is not allowed during the slicing process!" -msgstr "un nouveau projet ou l’ouverture d’un projet existant n'est pas autorisé pendant le processus de découpage !" +msgstr "" +"un nouveau projet ou l’ouverture d’un projet existant n'est pas autorisé " +"pendant le processus de découpage !" msgid "Open Project" msgstr "Ouvrir un projet" -msgid "The version of Bambu studio is too low and needs to be updated to the latest version before it can be used normally" +msgid "" +"The version of Bambu studio is too low and needs to be updated to the latest " +"version before it can be used normally" msgstr "" -"La version de Bambu Studio est trop ancienne et doit être mise à jour vers la dernière version afin qu’il puisse être " -"utilisé normalement" +"La version de Bambu Studio est trop ancienne et doit être mise à jour vers " +"la dernière version afin qu’il puisse être utilisé normalement" msgid "Login information expired. Please login again." msgstr "Les informations de connexion ont expiré. Veuillez vous reconnecter." @@ -1018,7 +1016,8 @@ msgid "Auto orientation" msgstr "Orientation automatique" msgid "Auto orient the object to improve print quality." -msgstr "Orienter automatiquement l'objet pour améliorer la qualité d'impression." +msgstr "" +"Orienter automatiquement l'objet pour améliorer la qualité d'impression." msgid "Split the selected object into mutiple objects" msgstr "Diviser l'objet sélectionné en plusieurs objets" @@ -1120,16 +1119,21 @@ msgstr[0] "%1$d arête non multiple" msgstr[1] "%1$d arêtes non multiple" msgid "Right click the icon to fix model object" -msgstr "Cliquez sur l’icône avec le bouton droit de la souris pour corriger le modèle" +msgstr "" +"Cliquez sur l’icône avec le bouton droit de la souris pour corriger le modèle" msgid "Right button click the icon to drop the object settings" -msgstr "Cliquez sur l’icône avec le bouton droit de la souris pour supprimer les paramètres de l'objet" +msgstr "" +"Cliquez sur l’icône avec le bouton droit de la souris pour supprimer les " +"paramètres de l'objet" msgid "Click the icon to reset all settings of the object" msgstr "Cliquez sur l'icône pour réinitialiser tous les paramètres de l'objet" msgid "Right button click the icon to drop the object printable property" -msgstr "Cliquez sur l’icône avec le bouton droit de la souris pour déposer la propriété imprimable de l'objet" +msgstr "" +"Cliquez sur l’icône avec le bouton droit de la souris pour déposer la " +"propriété imprimable de l'objet" msgid "Click the icon to toggle printable property of the object" msgstr "Cliquez sur l'icône pour basculer la propriété imprimable de l'objet" @@ -1156,10 +1160,16 @@ msgid "Add Modifier" msgstr "Ajouter un modificateur" msgid "Switch to per-object setting mode to edit modifier settings." -msgstr "Basculer en mode de réglage par objet pour modifier les paramètres du modificateur." +msgstr "" +"Basculer en mode de réglage par objet pour modifier les paramètres du " +"modificateur." -msgid "Switch to per-object setting mode to edit process settings of selected objects." -msgstr "Basculer en mode de réglage par objet pour modifier les paramètres de processus des objets sélectionnés." +msgid "" +"Switch to per-object setting mode to edit process settings of selected " +"objects." +msgstr "" +"Basculer en mode de réglage par objet pour modifier les paramètres de " +"processus des objets sélectionnés." msgid "Delete connector from object which is a part of cut" msgstr "Supprimer le connecteur de l’objet qui fait partie de la coupe" @@ -1170,19 +1180,25 @@ msgstr "Supprimer la partie solide de l’objet qui fait partie de la coupe" msgid "Delete negative volume from object which is a part of cut" msgstr "Supprimer le volume négatif de l’objet qui fait partie de la coupe" -msgid "To save cut correspondence you can delete all connectors from all related objects." -msgstr "Pour enregistrer la correspondance coupée, vous pouvez supprimer tous les connecteurs de tous les objets associés." +msgid "" +"To save cut correspondence you can delete all connectors from all related " +"objects." +msgstr "" +"Pour enregistrer la correspondance coupée, vous pouvez supprimer tous les " +"connecteurs de tous les objets associés." msgid "" "This action will break a cut correspondence.\n" "After that model consistency can't be guaranteed .\n" "\n" -"To manipulate with solid parts or negative volumes you have to invalidate cut infornation first." +"To manipulate with solid parts or negative volumes you have to invalidate " +"cut infornation first." msgstr "" "Cette action rompra une correspondance coupée.\n" "Après cela, la cohérence du modèle ne peut plus être garantie.\n" "\n" -"Pour manipuler des pièces solides ou des volumes négatifs, vous devez d’abord invalider les informations de coupe." +"Pour manipuler des pièces solides ou des volumes négatifs, vous devez " +"d’abord invalider les informations de coupe." msgid "Delete all connectors" msgstr "Supprimer tous les connecteurs" @@ -1191,7 +1207,8 @@ msgid "Deleting the last solid part is not allowed." msgstr "La suppression de la dernière partie solide n'est pas autorisée." msgid "The target object contains only one part and can not be splited." -msgstr "L'objet cible ne contient qu'une seule partie et ne peut pas être divisé." +msgstr "" +"L'objet cible ne contient qu'une seule partie et ne peut pas être divisé." msgid "Assembly" msgstr "Assemblé" @@ -1238,14 +1255,22 @@ msgstr "Couche" msgid "Selection conflicts" msgstr "Conflits de sélection" -msgid "If first selected item is an object, the second one should also be object." -msgstr "Si le premier élément sélectionné est un objet, le second doit également être un objet." +msgid "" +"If first selected item is an object, the second one should also be object." +msgstr "" +"Si le premier élément sélectionné est un objet, le second doit également " +"être un objet." -msgid "If first selected item is a part, the second one should be part in the same object." -msgstr "Si le premier élément sélectionné est une partie, le second doit faire partie du même objet." +msgid "" +"If first selected item is a part, the second one should be part in the same " +"object." +msgstr "" +"Si le premier élément sélectionné est une partie, le second doit faire " +"partie du même objet." msgid "The type of the last solid object part is not to be changed." -msgstr "Le type de la dernière partie de l'objet solide ne doit pas être modifié." +msgstr "" +"Le type de la dernière partie de l'objet solide ne doit pas être modifié." msgid "Negative Part" msgstr "Partie négative" @@ -1306,7 +1331,9 @@ msgid "Invalid numeric." msgstr "Chiffre non valide." msgid "one cell can only be copied to one or multiple cells in the same column" -msgstr "une cellule ne peut être copiée que dans une ou plusieurs cellules de la même colonne" +msgstr "" +"une cellule ne peut être copiée que dans une ou plusieurs cellules de la " +"même colonne" msgid "multiple cells copy is not supported" msgstr "la copie de plusieurs cellules n'est pas prise en charge" @@ -1384,7 +1411,8 @@ msgid "Custom G-code" msgstr "G-code personnalisé" msgid "Enter Custom G-code used on current layer:" -msgstr "Saisissez les commandes personnalisées à utiliser sur la couche actuelle :" +msgstr "" +"Saisissez les commandes personnalisées à utiliser sur la couche actuelle :" msgid "OK" msgstr "OK" @@ -1486,7 +1514,9 @@ msgid "Calibrating AMS..." msgstr "Calibration de l'AMS..." msgid "A problem occured during calibration. Click to view the solution." -msgstr "Un problème est survenu lors de la calibration. Cliquez pour voir la solution." +msgstr "" +"Un problème est survenu lors de la calibration. Cliquez pour voir la " +"solution." msgid "Calibrate again" msgstr "Calibrer à nouveau" @@ -1515,10 +1545,12 @@ msgstr "Insertion du nouveau filament dans l'extrudeur" msgid "Confirm whether the filament has been extruded" msgstr "Confirmer que le filament a été extrudé" -msgid "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically load or unload filiament." +msgid "" +"Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " +"load or unload filiament." msgstr "" -"Choisissez un emplacement de l’AMS puis appuyez sur le bouton \"Charger\" ou \"Décharger\" pour charger ou décharger " -"automatiquement le filament." +"Choisissez un emplacement de l’AMS puis appuyez sur le bouton \"Charger\" ou " +"\"Décharger\" pour charger ou décharger automatiquement le filament." msgid "Edit" msgstr "Éditer" @@ -1543,8 +1575,11 @@ msgstr "" msgid "Arranging..." msgstr "Organisation…" -msgid "Arrange failed. Found some exceptions when processing object geometries." -msgstr "Échec de l’organisation. Quelques exceptions ont été trouvées lors du traitement des géométries d'objets." +msgid "" +"Arrange failed. Found some exceptions when processing object geometries." +msgstr "" +"Échec de l’organisation. Quelques exceptions ont été trouvées lors du " +"traitement des géométries d'objets." msgid "Arranging" msgstr "Organiser" @@ -1552,18 +1587,23 @@ msgstr "Organiser" msgid "Arranging canceled." msgstr "Organisation annulée." -msgid "Arranging is done but there are unpacked items. Reduce spacing and try again." -msgstr "L’organisation est faite mais il y a des éléments non réorganisés. Réduisez l'espacement et réessayez." +msgid "" +"Arranging is done but there are unpacked items. Reduce spacing and try again." +msgstr "" +"L’organisation est faite mais il y a des éléments non réorganisés. Réduisez " +"l'espacement et réessayez." msgid "Arranging done." msgstr "Organisation terminée." #, c-format, boost-format msgid "" -"Arrangement ignored the following objects which can't fit into a single bed:\n" +"Arrangement ignored the following objects which can't fit into a single " +"bed:\n" "%s" msgstr "" -"L’organisation a ignoré les objets suivants qui ne peuvent pas tenir sur un seul plateau :\n" +"L’organisation a ignoré les objets suivants qui ne peuvent pas tenir sur un " +"seul plateau :\n" "%s" msgid "" @@ -1620,13 +1660,15 @@ msgid "Please check the printer network connection." msgstr "Veuillez vérifier la connexion réseau de l'imprimante." msgid "Abnormal print file data. Please slice again" -msgstr "Données de fichier d'impression anormales. Veuillez redécouper le fichier" +msgstr "" +"Données de fichier d'impression anormales. Veuillez redécouper le fichier" msgid "Task canceled" msgstr "Tâche annulée" msgid "Upload task timed out. Please check the network problem and try again" -msgstr "La tâche de téléchargement a expiré. Veuillez vérifier le réseau et réessayer" +msgstr "" +"La tâche de téléchargement a expiré. Veuillez vérifier le réseau et réessayer" msgid "Cloud service connection failed. Please try again." msgstr "La connexion au service cloud a échoué. Veuillez réessayer." @@ -1634,10 +1676,12 @@ msgstr "La connexion au service cloud a échoué. Veuillez réessayer." msgid "Print file not found, please slice again" msgstr "Fichier d'impression introuvable, veuillez redécouper" -msgid "The print file exceeds the maximum allowable size (1GB). Please simplify the model and slice again" +msgid "" +"The print file exceeds the maximum allowable size (1GB). Please simplify the " +"model and slice again" msgstr "" -"Le fichier d'impression dépasse la taille maximale autorisée (1 Go). Veuillez simplifier le modèle et le découper à " -"nouveau" +"Le fichier d'impression dépasse la taille maximale autorisée (1 Go). " +"Veuillez simplifier le modèle et le découper à nouveau" msgid "Failed uploading print file" msgstr "Échec du téléchargement du fichier d'impression" @@ -1662,7 +1706,8 @@ msgstr "Envoi de la configuration d'impression" #, c-format, boost-format msgid "Successfully sent. Will automatically jump to the device page in %ss" -msgstr "Envoyée avec succès. Bascule automatique sur la page de l’imprimante dans %ss" +msgstr "" +"Envoyée avec succès. Bascule automatique sur la page de l’imprimante dans %ss" msgid "An SD card needs to be inserted before printing via LAN." msgstr "Une carte SD doit être insérée avant l'impression via le réseau local." @@ -1723,11 +1768,11 @@ msgid "Importing SLA archive" msgstr "Importation de l’archive SLA" msgid "" -"The SLA archive doesn't contain any presets. Please activate some SLA printer preset first before importing that SLA " -"archive." +"The SLA archive doesn't contain any presets. Please activate some SLA " +"printer preset first before importing that SLA archive." msgstr "" -"L’archive SLA ne contient aucun préréglage. Veuillez d’abord activer un préréglage d’imprimante SLA avant d’importer " -"cette archive SLA." +"L’archive SLA ne contient aucun préréglage. Veuillez d’abord activer un " +"préréglage d’imprimante SLA avant d’importer cette archive SLA." msgid "Importing canceled." msgstr "Importation annulée." @@ -1735,13 +1780,17 @@ msgstr "Importation annulée." msgid "Importing done." msgstr "Importation terminée." -msgid "The imported SLA archive did not contain any presets. The current SLA presets were used as fallback." +msgid "" +"The imported SLA archive did not contain any presets. The current SLA " +"presets were used as fallback." msgstr "" -"L’archive SLA importée ne contenait aucun préréglage. Les préréglages SLA actuels ont été utilisés comme solution de " -"secours." +"L’archive SLA importée ne contenait aucun préréglage. Les préréglages SLA " +"actuels ont été utilisés comme solution de secours." msgid "You cannot load SLA project with a multi-part object on the bed" -msgstr "Vous ne pouvez pas charger un projet SLA avec un objet en plusieurs parties sur le plateau" +msgstr "" +"Vous ne pouvez pas charger un projet SLA avec un objet en plusieurs parties " +"sur le plateau" msgid "Please check your object list before preset changing." msgstr "Veuillez vérifier votre liste d’objets avant de changer de préréglage." @@ -1783,20 +1832,23 @@ msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, version 3" msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer by Prusa Research. PrusaSlicer is from " -"Slic3r by Alessandro Ranellucci and the RepRap community" +"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " +"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " +"the RepRap community" msgstr "" -"Orca Slicer est basé sur Bambu Studio de Bambulab qui a été développé sur la base de PrusaSlicer de Prusa Research, qui " -"est lui même développé sur la base de Slic3r par Alessandro Ranelucci et la communauté RepRap" +"Orca Slicer est basé sur Bambu Studio de Bambulab qui a été développé sur la " +"base de PrusaSlicer de Prusa Research, qui est lui même développé sur la " +"base de Slic3r par Alessandro Ranelucci et la communauté RepRap" msgid "Libraries" msgstr "Bibliothèques" msgid "" -"This software uses open source components whose copyright and other proprietary rights belong to their respective owners" +"This software uses open source components whose copyright and other " +"proprietary rights belong to their respective owners" msgstr "" -"Ce logiciel utilise des composants open source dont les droits d'auteur et autres droits de propriété appartiennent à " -"leurs propriétaires respectifs" +"Ce logiciel utilise des composants open source dont les droits d'auteur et " +"autres droits de propriété appartiennent à leurs propriétaires respectifs" #, c-format, boost-format msgid "About %s" @@ -1814,8 +1866,12 @@ msgstr "Bambu Studio est basé sur PrusaSlicer de PrusaResearch." msgid "PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci." msgstr "PrusaSlicer est à l'origine basé sur Slic3r d'Alessandro Ranellucci." -msgid "Slic3r was created by Alessandro Ranellucci with the help of many other contributors." -msgstr "Slic3r a été créé par Alessandro Ranellucci avec l'aide de nombreux autres contributeurs." +msgid "" +"Slic3r was created by Alessandro Ranellucci with the help of many other " +"contributors." +msgstr "" +"Slic3r a été créé par Alessandro Ranellucci avec l'aide de nombreux autres " +"contributeurs." msgid "Version" msgstr "Version" @@ -1851,7 +1907,9 @@ msgid "SN" msgstr "Numéro de série" msgid "Setting AMS slot information while printing is not supported" -msgstr "La configuration des informations sur l'emplacement dans l'AMS lors de l'impression ne sont pas prises en charge" +msgstr "" +"La configuration des informations sur l'emplacement dans l'AMS lors de " +"l'impression ne sont pas prises en charge" msgid "Factors of dynamic flow cali" msgstr "Facteurs de calibration dynamique du débit" @@ -1863,7 +1921,9 @@ msgid "Factor N" msgstr "Facteur N" msgid "Setting Virtual slot information while printing is not supported" -msgstr "La configuration des informations d’emplacement virtuel pendant l’impression n’est pas prise en charge" +msgstr "" +"La configuration des informations d’emplacement virtuel pendant l’impression " +"n’est pas prise en charge" msgid "Are you sure you want to clear the filament information?" msgstr "Voulez-vous vraiment effacer les informations sur le filament ?" @@ -1872,24 +1932,31 @@ msgid "Please input a valid value (K in 0~0.5)" msgstr "Veuillez entrer une valeur valide (K dans la plage 0~0.5)" msgid "Please input a valid value (K in 0~0.5, N in 0.6~2.0)" -msgstr "Veuillez entrer une valeur valide (K dans la plage 0~0.5, N dans la plage 0.6~2.0)" +msgstr "" +"Veuillez entrer une valeur valide (K dans la plage 0~0.5, N dans la plage " +"0.6~2.0)" msgid "You need to select the material type and color first." msgstr "Vous devez d’abord sélectionner le type de matériau et la couleur." -msgid "Other color" -msgstr "Autres couleurs" +msgid "Other Color" +msgstr "" + +msgid "Custom Color" +msgstr "" msgid "Dynamic flow calibration" msgstr "Calibration dynamique du débit" msgid "" -"The nozzle temp and max volumetric speed will affect the calibration results. Please fill in the same values as the " -"actual printing. They can be auto-filled by selecting a filament preset." +"The nozzle temp and max volumetric speed will affect the calibration " +"results. Please fill in the same values as the actual printing. They can be " +"auto-filled by selecting a filament preset." msgstr "" -"La température de la buse et la vitesse volumétrique maximale affecteront les résultats de la calibration. Veuillez " -"remplir les mêmes valeurs qu’en impression réelle. Elles peuvent être remplis automatiquement en sélectionnant un " -"préréglage de filament." +"La température de la buse et la vitesse volumétrique maximale affecteront " +"les résultats de la calibration. Veuillez remplir les mêmes valeurs qu’en " +"impression réelle. Elles peuvent être remplis automatiquement en " +"sélectionnant un préréglage de filament." msgid "Nozzle Diameter" msgstr "Diamètre de la buse" @@ -1922,11 +1989,13 @@ msgid "Next" msgstr "Suivant" msgid "" -"Calibration completed. Please find the most uniform extrusion line on your hot bed like the picture below, and fill the " -"value on its left side into the factor K input box." +"Calibration completed. Please find the most uniform extrusion line on your " +"hot bed like the picture below, and fill the value on its left side into the " +"factor K input box." msgstr "" -"Calibration terminée. Veuillez trouver la ligne d’extrusion la plus uniforme sur votre plateau comme l’image ci-dessous, " -"et remplissez la valeur sur son côté gauche dans la zone de saisie du facteur K." +"Calibration terminée. Veuillez trouver la ligne d’extrusion la plus uniforme " +"sur votre plateau comme l’image ci-dessous, et remplissez la valeur sur son " +"côté gauche dans la zone de saisie du facteur K." msgid "Save" msgstr "Sauvegarder" @@ -1957,8 +2026,11 @@ msgstr "Étape" msgid "AMS Slots" msgstr "Emplacements AMS" -msgid "Note: Only the AMS slots loaded with the same material type can be selected." -msgstr "Remarque : Seuls les emplacements dans l’AMS chargés avec le même type de filament peuvent être sélectionnés." +msgid "" +"Note: Only the AMS slots loaded with the same material type can be selected." +msgstr "" +"Remarque : Seuls les emplacements dans l’AMS chargés avec le même type de " +"filament peuvent être sélectionnés." msgid "Enable AMS" msgstr "Activer l'AMS" @@ -1980,32 +2052,39 @@ msgid "Cabin humidity" msgstr "Humidité dans l’AMS" msgid "" -"Green means that AMS humidity is normal, orange represent humidity is high, red represent humidity is too high." -"(Hygrometer: lower the better.)" +"Green means that AMS humidity is normal, orange represent humidity is high, " +"red represent humidity is too high.(Hygrometer: lower the better.)" msgstr "" -"Vert signifie que l’humidité dans l’AMS est normale, orange représente une humidité élevée, rouge représente une " -"humidité trop élevée. (Hygromètre : un niveau bas est meilleur, les barres : un niveau haut est meilleur)" +"Vert signifie que l’humidité dans l’AMS est normale, orange représente une " +"humidité élevée, rouge représente une humidité trop élevée. (Hygromètre : un " +"niveau bas est meilleur, les barres : un niveau haut est meilleur)" msgid "Desiccant status" msgstr "Statut des déshydrateurs" msgid "" -"A desiccant status lower than two bars indicates that desiccant may be inactive. Please change the desiccant.(The bars: " -"higher the better.)" +"A desiccant status lower than two bars indicates that desiccant may be " +"inactive. Please change the desiccant.(The bars: higher the better.)" msgstr "" -"Un état du déshydrateur inférieur à deux barres indique qu’il est peut-être inactif. Veuillez le remplacer. (Plus le " -"niveau haut, mieux c’est)" +"Un état du déshydrateur inférieur à deux barres indique qu’il est peut-être " +"inactif. Veuillez le remplacer. (Plus le niveau haut, mieux c’est)" msgid "" -"Note: When the lid is open or the desiccant pack is changed, it can take hours or a night to absorb the moisture. Low " -"temperatures also slow down the process. During this time, the indicator may not represent the chamber accurately." +"Note: When the lid is open or the desiccant pack is changed, it can take " +"hours or a night to absorb the moisture. Low temperatures also slow down the " +"process. During this time, the indicator may not represent the chamber " +"accurately." msgstr "" -"Remarque : Lorsque le couvercle est ouvert ou que le sachet déshydrateur est remplacé, cela peut prendre plusieurs " -"heures ou une nuit pour absorber l’humidité. Les basses températures ralentissent également le processus. Pendant ce " -"temps, l’indicateur peut ne pas représenter l’état avec précision." +"Remarque : Lorsque le couvercle est ouvert ou que le sachet déshydrateur est " +"remplacé, cela peut prendre plusieurs heures ou une nuit pour absorber " +"l’humidité. Les basses températures ralentissent également le processus. " +"Pendant ce temps, l’indicateur peut ne pas représenter l’état avec précision." -msgid "Config which AMS slot should be used for a filament used in the print job" -msgstr "Configurer le ou les emplacements utilisés dans l’AMS pour un ou des filaments utilisés pour cette impression" +msgid "" +"Config which AMS slot should be used for a filament used in the print job" +msgstr "" +"Configurer le ou les emplacements utilisés dans l’AMS pour un ou des " +"filaments utilisés pour cette impression" msgid "Filament used in this print job" msgstr "Filament utilisé dans cette tâche d'impression" @@ -2041,61 +2120,70 @@ msgid "Insertion update" msgstr "Mise à jour à l’insertion" msgid "" -"The AMS will automatically read the filament information when inserting a new Bambu Lab filament. This takes about 20 " -"seconds." +"The AMS will automatically read the filament information when inserting a " +"new Bambu Lab filament. This takes about 20 seconds." msgstr "" -"L'AMS lira automatiquement les informations relatives au filament lors de l'insertion d'une nouvelle bobine de filament " -"Bambu Lab. Cela prend environ 20 secondes." +"L'AMS lira automatiquement les informations relatives au filament lors de " +"l'insertion d'une nouvelle bobine de filament Bambu Lab. Cela prend environ " +"20 secondes." msgid "" -"Note: if new filament is inserted during printing, the AMS will not automatically read any information until printing " -"is completed." +"Note: if new filament is inserted during printing, the AMS will not " +"automatically read any information until printing is completed." msgstr "" -"Remarque : si un nouveau filament est inséré pendant l'impression, l'AMS ne lira les informations qu'à la fin de " -"l'impression." +"Remarque : si un nouveau filament est inséré pendant l'impression, l'AMS ne " +"lira les informations qu'à la fin de l'impression." msgid "" -"When inserting a new filament, the AMS will not automatically read its information, leaving it blank for you to enter " -"manually." +"When inserting a new filament, the AMS will not automatically read its " +"information, leaving it blank for you to enter manually." msgstr "" -"Lors de l'insertion d'un nouveau filament, l'AMS ne lira pas automatiquement ses informations, les laissant vides pour " -"que vous les saisissiez manuellement." +"Lors de l'insertion d'un nouveau filament, l'AMS ne lira pas automatiquement " +"ses informations, les laissant vides pour que vous les saisissiez " +"manuellement." msgid "Power on update" msgstr "Mise à jour au démarrage" msgid "" -"The AMS will automatically read the information of inserted filament on start-up. It will take about 1 minute.The " -"reading process will roll filament spools." +"The AMS will automatically read the information of inserted filament on " +"start-up. It will take about 1 minute.The reading process will roll filament " +"spools." msgstr "" -"Au démarrage, l'AMS lira automatiquement les informations relatives aux filaments insérés. Cela prend environ 1 minute " -"et ce processus fait tourner les bobines de filament." +"Au démarrage, l'AMS lira automatiquement les informations relatives aux " +"filaments insérés. Cela prend environ 1 minute et ce processus fait tourner " +"les bobines de filament." msgid "" -"The AMS will not automatically read information from inserted filament during startup and will continue to use the " -"information recorded before the last shutdown." +"The AMS will not automatically read information from inserted filament " +"during startup and will continue to use the information recorded before the " +"last shutdown." msgstr "" -"L'AMS ne lira pas automatiquement les informations des filaments insérés lors du démarrage et continuera à utiliser les " -"informations enregistrées avant le dernier arrêt." +"L'AMS ne lira pas automatiquement les informations des filaments insérés " +"lors du démarrage et continuera à utiliser les informations enregistrées " +"avant le dernier arrêt." msgid "Update remaining capacity" msgstr "Mise à jour de la capacité restante" msgid "" -"The AMS will estimate Bambu filament's remaining capacity after the filament info is updated. During printing, remaining " -"capacity will be updated automatically." +"The AMS will estimate Bambu filament's remaining capacity after the filament " +"info is updated. During printing, remaining capacity will be updated " +"automatically." msgstr "" -"L'AMS estimera la capacité restante du filament Bambu après la mise à jour des informations sur le filament. Pendant " -"l'impression, la capacité restante sera mise à jour automatiquement." +"L'AMS estimera la capacité restante du filament Bambu après la mise à jour " +"des informations sur le filament. Pendant l'impression, la capacité restante " +"sera mise à jour automatiquement." msgid "AMS filament backup" msgstr "Sauvegarde du filament dans l’AMS" msgid "" -"AMS will continue to another spool with the same properties of filament automatically when current filament runs out" +"AMS will continue to another spool with the same properties of filament " +"automatically when current filament runs out" msgstr "" -"L'AMS continuera automatiquement vers une autre bobine de filament avec les mêmes propriétés lorsque la bobine utilisée " -"est terminée" +"L'AMS continuera automatiquement vers une autre bobine de filament avec les " +"mêmes propriétés lorsque la bobine utilisée est terminée" msgid "File" msgstr "Fichier" @@ -2103,14 +2191,19 @@ msgstr "Fichier" msgid "Calibration" msgstr "Calibration" -msgid "Failed to download the plug-in. Please check your firewall settings and vpn software, check and retry." +msgid "" +"Failed to download the plug-in. Please check your firewall settings and vpn " +"software, check and retry." msgstr "" -"Échec du téléchargement du plug-in. Veuillez vérifier les paramètres de votre pare-feu et de votre logiciel VPN, puis " -"réessayez." +"Échec du téléchargement du plug-in. Veuillez vérifier les paramètres de " +"votre pare-feu et de votre logiciel VPN, puis réessayez." -msgid "Failed to install the plug-in. Please check whether it is blocked or deleted by anti-virus software." +msgid "" +"Failed to install the plug-in. Please check whether it is blocked or deleted " +"by anti-virus software." msgstr "" -"Échec de l'installation du plug-in. Veuillez vérifier s'il n'a pas été bloqué ou supprimé par un logiciel antivirus." +"Échec de l'installation du plug-in. Veuillez vérifier s'il n'a pas été " +"bloqué ou supprimé par un logiciel antivirus." msgid "click here to see more info" msgstr "cliquez ici pour voir plus d'informations" @@ -2119,19 +2212,22 @@ msgid "Please home all axes (click " msgstr "Veuillez mettre en Home tous les axes (cliquez sur " msgid "" -") to locate the toolhead's position. This prevents device moving beyond the printable boundary and causing equipment " -"wear." +") to locate the toolhead's position. This prevents device moving beyond the " +"printable boundary and causing equipment wear." msgstr "" -") pour localiser la position de la tête d'outil. Cela empêche l’imprimante de se déplacer au-delà de la limite " -"imprimable et d'entraîner l'usure de l'équipement." +") pour localiser la position de la tête d'outil. Cela empêche l’imprimante " +"de se déplacer au-delà de la limite imprimable et d'entraîner l'usure de " +"l'équipement." msgid "Go Home" msgstr "Home" -msgid "A error occurred. Maybe memory of system is not enough or it's a bug of the program" +msgid "" +"A error occurred. Maybe memory of system is not enough or it's a bug of the " +"program" msgstr "" -"Une erreur s'est produite. Il est possible que la mémoire du système ne soit pas suffisante ou que ce soit un bug du " -"programme" +"Une erreur s'est produite. Il est possible que la mémoire du système ne soit " +"pas suffisante ou que ce soit un bug du programme" msgid "Please save project and restart the program. " msgstr "Veuillez enregistrer le projet et redémarrer le programme. " @@ -2188,7 +2284,9 @@ msgstr "La copie du G-code temporaire vers le G-code de sortie a échoué" #, boost-format msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" -msgstr "Planification du téléchargement vers `%1%`. Voir Fenêtre -> Imprimer la file d'attente de téléchargement de l'hôte" +msgstr "" +"Planification du téléchargement vers `%1%`. Voir Fenêtre -> Imprimer la file " +"d'attente de téléchargement de l'hôte" msgid "Origin" msgstr "Origine" @@ -2199,11 +2297,19 @@ msgstr "Diamètre" msgid "Size in X and Y of the rectangular plate." msgstr "Taille en X et Y du plateau rectangulaire." -msgid "Distance of the 0,0 G-code coordinate from the front left corner of the rectangle." -msgstr "Distance de la coordonnée 0,0 du G-code à partir du coin avant gauche du rectangle." +msgid "" +"Distance of the 0,0 G-code coordinate from the front left corner of the " +"rectangle." +msgstr "" +"Distance de la coordonnée 0,0 du G-code à partir du coin avant gauche du " +"rectangle." -msgid "Diameter of the print bed. It is assumed that origin (0,0) is located in the center." -msgstr "Diamètre du plateau d'impression. Il est supposé que l'origine (0,0) est située au centre." +msgid "" +"Diameter of the print bed. It is assumed that origin (0,0) is located in the " +"center." +msgstr "" +"Diamètre du plateau d'impression. Il est supposé que l'origine (0,0) est " +"située au centre." msgid "Rectangular" msgstr "Rectangulaire" @@ -2244,8 +2350,11 @@ msgstr "Erreur ! Modèle invalide" msgid "The selected file contains no geometry." msgstr "Le fichier sélectionné ne contient aucune géométrie." -msgid "The selected file contains several disjoint areas. This is not supported." -msgstr "Le fichier sélectionné contient plusieurs zones disjointes. Ceci n'est pas pris en charge." +msgid "" +"The selected file contains several disjoint areas. This is not supported." +msgstr "" +"Le fichier sélectionné contient plusieurs zones disjointes. Ceci n'est pas " +"pris en charge." msgid "Choose a file to import bed texture from (PNG/SVG):" msgstr "Choisissez un fichier pour importer une texture de plateau (PNG/SVG) :" @@ -2261,32 +2370,40 @@ msgid "" "Please make sure whether to use the temperature to print.\n" "\n" msgstr "" -"La buse peut être bouchée lorsque la température est hors de la plage recommandée.\n" +"La buse peut être bouchée lorsque la température est hors de la plage " +"recommandée.\n" "Veuillez vous assurer d'utiliser la température adéquate pour imprimer.\n" #, c-format, boost-format -msgid "Recommended nozzle temperature of this filament type is [%d, %d] degree centigrade" -msgstr "La température de buse recommandée pour ce type de filament est de [%d, %d] degrés centigrades" +msgid "" +"Recommended nozzle temperature of this filament type is [%d, %d] degree " +"centigrade" +msgstr "" +"La température de buse recommandée pour ce type de filament est de [%d, %d] " +"degrés centigrades" #, c-format, boost-format msgid "" -"Bed temperature of other layer is lower than bed temperature of initial layer for more than %d degree centigrade.\n" +"Bed temperature of other layer is lower than bed temperature of initial " +"layer for more than %d degree centigrade.\n" "This may cause model broken free from build plate during printing" msgstr "" -"La température du plateau des autres couches est inférieure à la température du plateau de la couche initiale de plus de " -"%d degrés.\n" -"Cela peut entraîner le décollement du modèle sur le plateau pendant l'impression" +"La température du plateau des autres couches est inférieure à la température " +"du plateau de la couche initiale de plus de %d degrés.\n" +"Cela peut entraîner le décollement du modèle sur le plateau pendant " +"l'impression" msgid "" "Bed temperature is higher than vitrification temperature of this filament.\n" "This may cause nozzle blocked and printing failure\n" -"Please keep the printer open during the printing process to ensure air circulation or reduce the temperature of the hot " -"bed" +"Please keep the printer open during the printing process to ensure air " +"circulation or reduce the temperature of the hot bed" msgstr "" -"La température du plateau est supérieure à la température de vitrification de ce filament.\n" +"La température du plateau est supérieure à la température de vitrification " +"de ce filament.\n" "Cela peut entraîner le bouchage de la buse et l'échec de l'impression.\n" -"Veuillez garder l'imprimante ouverte pendant le processus d'impression pour assurer la circulation de l'air ou réduire " -"la température du plateau" +"Veuillez garder l'imprimante ouverte pendant le processus d'impression pour " +"assurer la circulation de l'air ou réduire la température du plateau" msgid "" "Too small max volumetric speed.\n" @@ -2319,15 +2436,19 @@ msgstr "" "La hauteur de la première couche sera réinitialisée à 0.2." msgid "" -"This setting is only used for model size tunning with small value in some cases.\n" +"This setting is only used for model size tunning with small value in some " +"cases.\n" "For example, when model size has small error and hard to be assembled.\n" "For large size tuning, please use model scale function.\n" "\n" "The value will be reset to 0." msgstr "" -"Ce paramètre n'est utilisé que pour le réglage de la taille du modèle avec une petite valeur dans certains cas.\n" -"Par exemple, lorsque la taille du modèle présente une petite erreur et est difficile à assembler.\n" -"Pour un réglage de grande taille, veuillez utiliser la fonction d'échelle de modèle.\n" +"Ce paramètre n'est utilisé que pour le réglage de la taille du modèle avec " +"une petite valeur dans certains cas.\n" +"Par exemple, lorsque la taille du modèle présente une petite erreur et est " +"difficile à assembler.\n" +"Pour un réglage de grande taille, veuillez utiliser la fonction d'échelle de " +"modèle.\n" "\n" "La valeur sera réinitialisée à 0." @@ -2339,17 +2460,19 @@ msgid "" "The value will be reset to 0." msgstr "" "Une trop grande compensation du pied d'éléphant est déraisonnable.\n" -"Si vous avez vraiment un effet de pied d'éléphant sérieux, veuillez vérifier d'autres paramètres.\n" +"Si vous avez vraiment un effet de pied d'éléphant sérieux, veuillez vérifier " +"d'autres paramètres.\n" "Par exemple, si la température du plateau est trop élevée.\n" "\n" "La valeur sera réinitialisée à 0." msgid "" -"Spiral mode only works when wall loops is 1, support is disabled, top shell layers is 0, sparse infill density is 0 and " -"timelapse type is traditional." +"Spiral mode only works when wall loops is 1, support is disabled, top shell " +"layers is 0, sparse infill density is 0 and timelapse type is traditional." msgstr "" -"Le mode vase ne fonctionne que lorsque le nombre de paroi est définie à 1, le nombre de couches supérieures à 0, la " -"densité de remplissage à 0% et le type de timelapse sur Traditionnel." +"Le mode vase ne fonctionne que lorsque le nombre de paroi est définie à 1, " +"le nombre de couches supérieures à 0, la densité de remplissage à 0% et le " +"type de timelapse sur Traditionnel." msgid "" "Change these settings automatically? \n" @@ -2361,16 +2484,18 @@ msgstr "" "Non - Abandonner l'utilisation du mode vase" msgid "" -"Prime tower does not work when Adaptive Layer Height or Independent Support Layer Height is on.\n" +"Prime tower does not work when Adaptive Layer Height or Independent Support " +"Layer Height is on.\n" "Which do you want to keep?\n" "YES - Keep Prime Tower\n" "NO - Keep Adaptive Layer Height and Independent Support Layer Height" msgstr "" -"La tour de purge ne fonctionne pas lorsque la hauteur de couche adaptative ou la hauteur de couche de support " -"indépendante est activée.\n" +"La tour de purge ne fonctionne pas lorsque la hauteur de couche adaptative " +"ou la hauteur de couche de support indépendante est activée.\n" "Voulez-vous conserver la tour de purge ?\n" "OUI - Conserver la tour de purge\n" -"NON - Conserver la hauteur de la couche adaptative et la hauteur de la couche de support indépendante" +"NON - Conserver la hauteur de la couche adaptative et la hauteur de la " +"couche de support indépendante" msgid "" "Prime tower does not work when Adaptive Layer Height is on.\n" @@ -2378,7 +2503,8 @@ msgid "" "YES - Keep Prime Tower\n" "NO - Keep Adaptive Layer Height" msgstr "" -"La tour de purge ne fonctionne pas lorsque la hauteur de couche adaptative est activée.\n" +"La tour de purge ne fonctionne pas lorsque la hauteur de couche adaptative " +"est activée.\n" "Voulez-vous conserver la tour de purge ?\n" "OUI - Conserver la tour de purge\n" "NON - Conserver la hauteur de la couche adaptative" @@ -2389,14 +2515,16 @@ msgid "" "YES - Keep Prime Tower\n" "NO - Keep Independent Support Layer Height" msgstr "" -"La tour de purge ne fonctionne pas lorsque la hauteur de la couche de support indépendante est activée.\n" +"La tour de purge ne fonctionne pas lorsque la hauteur de la couche de " +"support indépendante est activée.\n" "Voulez-vous conserver la tour de purge ?\n" "OUI - Conserver la tour de purge\n" "NON - Conserver la hauteur de la couche de support indépendante" #, boost-format msgid "%1% infill pattern doesn't support 100%% density." -msgstr "Le motif de remplissage %1% ne prend pas en charge une densité de 100%%." +msgstr "" +"Le motif de remplissage %1% ne prend pas en charge une densité de 100%%." msgid "" "Switch to rectilinear pattern?\n" @@ -2411,7 +2539,8 @@ msgid "" "While printing by Object, the extruder may collide skirt.\n" "Thus, reset the skirt layer to 1 to avoid that." msgstr "" -"Lors de l’impression par objet, la hotend peut entrer en collision avec la jupe.\n" +"Lors de l’impression par objet, la hotend peut entrer en collision avec la " +"jupe.\n" "Réinitialisez le nombre de couche de la jupe à 1 pour éviter cela." msgid "Auto bed leveling" @@ -2472,10 +2601,12 @@ msgid "Calibrating extrusion flow" msgstr "Calibration du débit d'extrusion" msgid "Paused due to nozzle temperature malfunction" -msgstr "Mise en pause en raison d'un dysfonctionnement de la température de la buse" +msgstr "" +"Mise en pause en raison d'un dysfonctionnement de la température de la buse" msgid "Paused due to heat bed temperature malfunction" -msgstr "Mise en pause en raison d'un dysfonctionnement de la température du plateau" +msgstr "" +"Mise en pause en raison d'un dysfonctionnement de la température du plateau" msgid "MC" msgstr "MC" @@ -2882,11 +3013,11 @@ msgstr "Taille :" #, c-format, boost-format msgid "" -"Conflicts of gcode paths have been found at layer %d, z = %.2lf mm. Please separate the conflicted objects farther (%s <-" -"> %s)." +"Conflicts of gcode paths have been found at layer %d, z = %.2lf mm. Please " +"separate the conflicted objects farther (%s <-> %s)." msgstr "" -"Des conflits de chemins G-code ont été trouvés au niveau de la couche %d, z = %.2lf mm. Veuillez séparer davantage les " -"objets en conflit (%s <-> %s)." +"Des conflits de chemins G-code ont été trouvés au niveau de la couche %d, z " +"= %.2lf mm. Veuillez séparer davantage les objets en conflit (%s <-> %s)." msgid "An object is layed over the boundary of plate." msgstr "Un objet est posé sur la limite du plateau." @@ -2899,12 +3030,13 @@ msgstr "Seul l'objet en cours d'édition est visible." msgid "" "An object is laid over the boundary of plate or exceeds the height limit.\n" -"Please solve the problem by moving it totally on or off the plate, and confirming that the height is within the build " -"volume." +"Please solve the problem by moving it totally on or off the plate, and " +"confirming that the height is within the build volume." msgstr "" "Un objet est posé sur la limite du plateau ou dépasse la limite de hauteur.\n" -"Veuillez résoudre le problème en le déplaçant totalement sur ou en dehors du plateau et en vous assurant que la hauteur " -"ne dépasse pas le volume d’impression." +"Veuillez résoudre le problème en le déplaçant totalement sur ou en dehors du " +"plateau et en vous assurant que la hauteur ne dépasse pas le volume " +"d’impression." msgid "Jump to" msgstr "Sélectionner" @@ -2928,11 +3060,13 @@ msgid "Calibration program" msgstr "Programme de calibration" msgid "" -"The calibration program detects the status of your device automatically to minimize deviation.\n" +"The calibration program detects the status of your device automatically to " +"minimize deviation.\n" "It keeps the device performing optimally." msgstr "" -"Le processus de calibration détecte automatiquement l'état de votre imprimante pour minimiser les écarts. Il permet à " -"l’imprimante de fonctionner de manière optimale." +"Le processus de calibration détecte automatiquement l'état de votre " +"imprimante pour minimiser les écarts. Il permet à l’imprimante de " +"fonctionner de manière optimale." msgid "Calibration Flow" msgstr "Calibration du débit" @@ -2990,7 +3124,8 @@ msgid "Application is closing" msgstr "Fermeture de l'application" msgid "Closing Application while some presets are modified." -msgstr "Fermeture de l'application pendant que certains préréglages sont modifiés." +msgstr "" +"Fermeture de l'application pendant que certains préréglages sont modifiés." msgid "Logging" msgstr "Enregistrement" @@ -3286,6 +3421,12 @@ msgstr "Débit" msgid "Pressure advance" msgstr "Pressure Advance" +msgid "Retraction test" +msgstr "Test de rétraction" + +msgid "Orca Tolerance Test" +msgstr "Test de tolérance Orca" + msgid "Max flowrate" msgstr "Débit maximal" @@ -3353,7 +3494,8 @@ msgstr "Un fichier existe avec le même nom : %s. Voulez-vous le remplacer ?" #, c-format, boost-format msgid "A config exists with the same name: %s, do you want to override it." -msgstr "Une configuration existe avec le même nom : %s. Voulez-vous la remplacer ?" +msgstr "" +"Une configuration existe avec le même nom : %s. Voulez-vous la remplacer ?" msgid "Overwrite file" msgstr "Écraser le fichier" @@ -3370,8 +3512,11 @@ msgstr "Choisir un dossier" #, c-format, boost-format msgid "There is %d config exported. (Only non-system configs)" msgid_plural "There are %d configs exported. (Only non-system configs)" -msgstr[0] "Il y a %d configuration exportée. (Uniquement les configurations non système)" -msgstr[1] "Il y a %d configurations exportées. (Uniquement les configurations non système)" +msgstr[0] "" +"Il y a %d configuration exportée. (Uniquement les configurations non système)" +msgstr[1] "" +"Il y a %d configurations exportées. (Uniquement les configurations non " +"système)" msgid "Export result" msgstr "Exporter le résultat" @@ -3381,9 +3526,14 @@ msgstr "Sélectionnez le profil à charger :" #, c-format, boost-format msgid "There is %d config imported. (Only non-system and compatible configs)" -msgid_plural "There are %d configs imported. (Only non-system and compatible configs)" -msgstr[0] "Il y a %d configuration importée. (Uniquement les configurations non système et compatibles)" -msgstr[1] "Il y a %d configurations importées. (Uniquement les configurations non système et compatibles)" +msgid_plural "" +"There are %d configs imported. (Only non-system and compatible configs)" +msgstr[0] "" +"Il y a %d configuration importée. (Uniquement les configurations non système " +"et compatibles)" +msgstr[1] "" +"Il y a %d configurations importées. (Uniquement les configurations non " +"système et compatibles)" msgid "Import result" msgstr "Importer le résultat" @@ -3426,13 +3576,16 @@ msgid "Loading..." msgstr "Chargement..." msgid "Initialize failed (Not supported with LAN-only mode)!" -msgstr "Échec de l'initialisation (non pris en charge avec le mode LAN uniquement) !" +msgstr "" +"Échec de l'initialisation (non pris en charge avec le mode LAN uniquement) !" msgid "Initialize failed (Not accessible in LAN-only mode)!" msgstr "Échec de l'initialisation (non accessible en mode LAN uniquement) !" msgid "Printer is busy downloading, Please wait for the downloading to finish." -msgstr "L’imprimante est en cours de téléchargement, veuillez attendre la fin du téléchargement." +msgstr "" +"L’imprimante est en cours de téléchargement, veuillez attendre la fin du " +"téléchargement." msgid "Initialize failed (Missing LAN ip of printer)!" msgstr "Échec de l'initialisation (IP LAN de l'imprimante manquante) !" @@ -3455,7 +3608,8 @@ msgid "Stopped." msgstr "Arrêté." msgid "LAN Connection Failed (Failed to start liveview)" -msgstr "Échec de la connexion LAN (échec du démarrage de la visualisation en direct)" +msgstr "" +"Échec de la connexion LAN (échec du démarrage de la visualisation en direct)" msgid "" "Virtual Camera Tools is required for this task!\n" @@ -3679,19 +3833,20 @@ msgstr "Voulez-vous vraiment annuler cette impression ?" #, c-format, boost-format msgid "" -"Disconnected from printer [%s] due to LAN mode disabled.Please reconnect the printer by logging in with your user " -"account." +"Disconnected from printer [%s] due to LAN mode disabled.Please reconnect the " +"printer by logging in with your user account." msgstr "" -"Déconnexion de l'imprimante [%s] car le mode LAN est désactivé. Veuillez reconnecter l'imprimante en vous connectant " -"avec votre compte d'utilisateur." +"Déconnexion de l'imprimante [%s] car le mode LAN est désactivé. Veuillez " +"reconnecter l'imprimante en vous connectant avec votre compte d'utilisateur." #, c-format, boost-format msgid "" -"Disconnected from printer [%s] due to LAN mode enabled.Please reconnect the printer by inputting Access Code which can " -"be gotten from printer screen." +"Disconnected from printer [%s] due to LAN mode enabled.Please reconnect the " +"printer by inputting Access Code which can be gotten from printer screen." msgstr "" -"Déconnexion de l'imprimante [%s] en raison de l'activation du mode LAN. Veuillez reconnecter l'imprimante en saisissant " -"le code d'accès qui peut être obtenu à partir de l'écran de l'imprimante." +"Déconnexion de l'imprimante [%s] en raison de l'activation du mode LAN. " +"Veuillez reconnecter l'imprimante en saisissant le code d'accès qui peut " +"être obtenu à partir de l'écran de l'imprimante." msgid "Downloading..." msgstr "Téléchargement…" @@ -3712,7 +3867,8 @@ msgid "Layer: %d/%d" msgstr "Couche: %d/%d" msgid "Please heat the nozzle to above 170 degree before loading filament." -msgstr "Veuillez chauffer la buse à plus de 170 degrés avant de charger le filament." +msgstr "" +"Veuillez chauffer la buse à plus de 170 degrés avant de charger le filament." msgid "Still unload" msgstr "Toujours en train de décharger" @@ -3721,12 +3877,16 @@ msgid "Still load" msgstr "Toujours en train de charger" msgid "Please select an AMS slot before calibration" -msgstr "Veuillez sélectionner un emplacement dans l’AMS avant de démarrer la calibration" - -msgid "Cannot read filament info: the filament is loaded to the tool head,please unload the filament and try again." msgstr "" -"Impossible de lire les informations du filament : le filament est chargé dans la tête de l'outil, veuillez décharger le " -"filament et réessayer." +"Veuillez sélectionner un emplacement dans l’AMS avant de démarrer la " +"calibration" + +msgid "" +"Cannot read filament info: the filament is loaded to the tool head,please " +"unload the filament and try again." +msgstr "" +"Impossible de lire les informations du filament : le filament est chargé " +"dans la tête de l'outil, veuillez décharger le filament et réessayer." msgid "This only takes effect during printing" msgstr "Cela ne prend effet que lors de l'impression" @@ -3908,8 +4068,12 @@ msgstr "Couches" msgid "Range" msgstr "Intervalle" -msgid "The application cannot run normally because OpenGL version is lower than 2.0.\n" -msgstr "L'application ne peut pas fonctionner normalement car la version d'OpenGL est inférieure à 2.0.\n" +msgid "" +"The application cannot run normally because OpenGL version is lower than " +"2.0.\n" +msgstr "" +"L'application ne peut pas fonctionner normalement car la version d'OpenGL " +"est inférieure à 2.0.\n" msgid "Please upgrade your graphics card driver." msgstr "Veuillez mettre à jour le pilote de votre carte graphique." @@ -3943,10 +4107,12 @@ msgstr "Le niveau de sensibilité de la pause est" msgid "Enable detection of build plate position" msgstr "Activer la détection de la position du plateau" -msgid "The localization tag of build plate is detected, and printing is paused if the tag is not in predefined range." +msgid "" +"The localization tag of build plate is detected, and printing is paused if " +"the tag is not in predefined range." msgstr "" -"Détection de l’étiquette de localisation du plateau. L’impression est mise en pause si l'étiquette n'est pas placée au " -"bon endroit." +"Détection de l’étiquette de localisation du plateau. L’impression est mise " +"en pause si l'étiquette n'est pas placée au bon endroit." msgid "First Layer Inspection" msgstr "Inspection de la première couche" @@ -4030,23 +4196,28 @@ msgstr "Synchroniser la liste des filaments de l'AMS" msgid "Set filaments to use" msgstr "Définir les filaments à utiliser" -msgid "No AMS filaments. Please select a printer in 'Device' page to load AMS info." +msgid "" +"No AMS filaments. Please select a printer in 'Device' page to load AMS info." msgstr "" -"Pas de filaments dans l'AMS. Veuillez sélectionner une imprimante sur la page ‘Imprimante’ pour charger les informations " -"de l'AMS." +"Pas de filaments dans l'AMS. Veuillez sélectionner une imprimante sur la " +"page ‘Imprimante’ pour charger les informations de l'AMS." msgid "Sync filaments with AMS" msgstr "Synchroniser les filaments avec l'AMS" -msgid "Sync filaments with AMS will drop all current selected filament presets and colors. Do you want to continue?" +msgid "" +"Sync filaments with AMS will drop all current selected filament presets and " +"colors. Do you want to continue?" msgstr "" -"La synchronisation des filaments avec l'AMS supprimera tous les préréglages et couleurs de filaments actuellement " -"sélectionnés. Voulez-vous continuer ?" +"La synchronisation des filaments avec l'AMS supprimera tous les préréglages " +"et couleurs de filaments actuellement sélectionnés. Voulez-vous continuer ?" -msgid "Already did a synchronization, do you want to sync only changes or resync all?" +msgid "" +"Already did a synchronization, do you want to sync only changes or resync " +"all?" msgstr "" -"Vous avez déjà effectué une synchronisation, souhaitez-vous synchroniser uniquement les modifications ou tout " -"resynchroniser ?" +"Vous avez déjà effectué une synchronisation, souhaitez-vous synchroniser " +"uniquement les modifications ou tout resynchroniser ?" msgid "Sync" msgstr "Synchroniser" @@ -4055,23 +4226,30 @@ msgid "Resync" msgstr "Resynchroniser" msgid "There are no compatible filaments, and sync is not performed." -msgstr "Il n'y a pas de filaments compatibles et la synchronisation n'a pas effectuée." +msgstr "" +"Il n'y a pas de filaments compatibles et la synchronisation n'a pas " +"effectuée." msgid "" -"There are some unknown filaments mapped to generic preset. Please update Orca Slicer or restart Orca Slicer to check if " -"there is an update to system presets." +"There are some unknown filaments mapped to generic preset. Please update " +"Orca Slicer or restart Orca Slicer to check if there is an update to system " +"presets." msgstr "" -"Il existe des filaments inconnus mappés sur un préréglage générique. Veuillez mettre à jour ou redémarrer Orca Slicer " -"pour vérifier s'il existe une mise à jour des préréglages système." +"Il existe des filaments inconnus mappés sur un préréglage générique. " +"Veuillez mettre à jour ou redémarrer Orca Slicer pour vérifier s'il existe " +"une mise à jour des préréglages système." #, boost-format msgid "Do you want to save changes to \"%1%\"?" msgstr "Voulez-vous enregistrer les modifications à \"%1%\" ?" #, c-format, boost-format -msgid "Successfully unmounted. The device %s(%s) can now be safely removed from the computer." +msgid "" +"Successfully unmounted. The device %s(%s) can now be safely removed from the " +"computer." msgstr "" -"Ejection réalisée avec succès. Le périphérique %s(%s) peut maintenant être retiré en toute sécurité de l'ordinateur." +"Ejection réalisée avec succès. Le périphérique %s(%s) peut maintenant être " +"retiré en toute sécurité de l'ordinateur." #, c-format, boost-format msgid "Ejecting of device %s(%s) has failed." @@ -4084,25 +4262,30 @@ msgid "Restore" msgstr "Restaurer" msgid "" -"The bed temperature exceeds filament's vitrification temperature. Please open the front door of printer before printing " -"to avoid nozzle clog." +"The bed temperature exceeds filament's vitrification temperature. Please " +"open the front door of printer before printing to avoid nozzle clog." msgstr "" -"La température du plateau dépasse la température de vitrification du filament. Veuillez ouvrir la porte avant de " -"l'imprimante avant d'imprimer pour éviter que la buse ne se bouche." +"La température du plateau dépasse la température de vitrification du " +"filament. Veuillez ouvrir la porte avant de l'imprimante avant d'imprimer " +"pour éviter que la buse ne se bouche." msgid "" -"The nozzle hardness required by the filament is higher than the default nozzle hardness of the printer. Please replace " -"the hardened nozzle or filament, otherwise, the nozzle will be attrited or damaged." +"The nozzle hardness required by the filament is higher than the default " +"nozzle hardness of the printer. Please replace the hardened nozzle or " +"filament, otherwise, the nozzle will be attrited or damaged." msgstr "" -"La dureté de la buse requise par le filament est supérieure à la dureté de la buse par défaut de l'imprimante. Veuillez " -"remplacer la buse ou le filament, sinon la buse sera usée ou endommagée." +"La dureté de la buse requise par le filament est supérieure à la dureté de " +"la buse par défaut de l'imprimante. Veuillez remplacer la buse ou le " +"filament, sinon la buse sera usée ou endommagée." #, c-format, boost-format msgid "Loading file: %s" msgstr "Chargement du fichier : %s" msgid "The 3mf is not from Bambu Lab, load geometry data only." -msgstr "Le fichier 3mf ne provient pas de Bambu Lab, chargement des données de géométrie uniquement." +msgstr "" +"Le fichier 3mf ne provient pas de Bambu Lab, chargement des données de " +"géométrie uniquement." msgid "Load 3mf" msgstr "Charger 3mf" @@ -4112,11 +4295,16 @@ msgstr "La configuration ne peut pas être chargée." msgid "The 3mf is generated by old Orca Slicer, load geometry data only." msgstr "" -"Le fichier 3mf a été généré par une ancienne version de Orca Slicer, chargement des données de géométrie uniquement." +"Le fichier 3mf a été généré par une ancienne version de Orca Slicer, " +"chargement des données de géométrie uniquement." #, c-format, boost-format -msgid "The 3mf's version %s is newer than %s's version %s, Found following keys unrecognized:" -msgstr "La version %s de 3mf est plus récente que la version %s de %s, clés suivantes non reconnues :" +msgid "" +"The 3mf's version %s is newer than %s's version %s, Found following keys " +"unrecognized:" +msgstr "" +"La version %s de 3mf est plus récente que la version %s de %s, clés " +"suivantes non reconnues :" msgid "You'd better upgrade your software.\n" msgstr "Il est préférable de mettre à jour votre logiciel.\n" @@ -4125,9 +4313,12 @@ msgid "Newer 3mf version" msgstr "Nouvelle version 3mf" #, c-format, boost-format -msgid "The 3mf's version %s is newer than %s's version %s, Suggest to upgrade your software." +msgid "" +"The 3mf's version %s is newer than %s's version %s, Suggest to upgrade your " +"software." msgstr "" -"La version %s de 3mf est plus récente que la version %s de %s, nous vous suggérons de mettre à jour votre logiciel." +"La version %s de 3mf est plus récente que la version %s de %s, nous vous " +"suggérons de mettre à jour votre logiciel." msgid "Invalid values found in the 3mf:" msgstr "Valeurs non valides trouvées dans le 3mf :" @@ -4136,20 +4327,25 @@ msgid "Please correct them in the param tabs" msgstr "Veuillez les corriger dans l’onglet paramètres" msgid "The 3mf is not compatible, load geometry data only!" -msgstr "Le 3mf n'est pas compatible, chargez uniquement les données de géométrie !" +msgstr "" +"Le 3mf n'est pas compatible, chargez uniquement les données de géométrie !" msgid "Incompatible 3mf" msgstr "Fichier 3mf incompatible" msgid "Name of components inside step file is not UTF8 format!" -msgstr "Le nom des composants à l'intérieur du fichier step n'est pas au format UTF-8 !" +msgstr "" +"Le nom des composants à l'intérieur du fichier step n'est pas au format " +"UTF-8 !" msgid "The name may show garbage characters!" msgstr "Le nom peut afficher des caractères inutiles !" #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." -msgstr "Échec du chargement du fichier \"%1%\". Une configuration invalide a été trouvée." +msgstr "" +"Échec du chargement du fichier \"%1%\". Une configuration invalide a été " +"trouvée." msgid "Objects with zero volume removed" msgstr "Objets avec zéro volume supprimé" @@ -4175,13 +4371,15 @@ msgid "" msgstr "" "Ce fichier contient plusieurs objets positionnés à plusieurs hauteurs.\n" "Au lieu de les considérer comme des objets multiples, faut-il\n" -"que le fichier soit chargé en tant qu'objet unique comportant plusieurs parties ?" +"que le fichier soit chargé en tant qu'objet unique comportant plusieurs " +"parties ?" msgid "Multi-part object detected" msgstr "Objet en plusieurs parties détecté" msgid "Load these files as a single object with multiple parts?\n" -msgstr "Charger ces fichiers en tant qu'objet unique avec plusieurs parties ?\n" +msgstr "" +"Charger ces fichiers en tant qu'objet unique avec plusieurs parties ?\n" msgid "Object with multiple parts was detected" msgstr "Un objet en plusieurs parties a été détecté" @@ -4189,10 +4387,12 @@ msgstr "Un objet en plusieurs parties a été détecté" msgid "The file does not contain any geometry data." msgstr "Le fichier ne contient pas de données géométriques." -msgid "Your object appears to be too large, Do you want to scale it down to fit the heat bed automatically?" +msgid "" +"Your object appears to be too large, Do you want to scale it down to fit the " +"heat bed automatically?" msgstr "" -"Votre objet semble être trop grand, voulez-vous le mettre à l’échelle pour qu'il s'adapte automatiquement au volume " -"d'impression ?" +"Votre objet semble être trop grand, voulez-vous le mettre à l’échelle pour " +"qu'il s'adapte automatiquement au volume d'impression ?" msgid "Object too large" msgstr "Objet trop large" @@ -4255,18 +4455,24 @@ msgstr "Découpe du plateau %d" msgid "Please resolve the slicing errors and publish again." msgstr "Veuillez résoudre les erreurs de découpage et republier." -msgid "Network Plug-in is not detected. Network related features are unavailable." -msgstr "Le plug-in réseau n'est pas détecté. Les fonctionnalités liées au réseau ne sont pas disponibles." +msgid "" +"Network Plug-in is not detected. Network related features are unavailable." +msgstr "" +"Le plug-in réseau n'est pas détecté. Les fonctionnalités liées au réseau ne " +"sont pas disponibles." msgid "" "Preview only mode:\n" "The loaded file contains gcode only, Can not enter the Prepare page" msgstr "" "Mode aperçu uniquement :\n" -"Le fichier chargé contient uniquement du gcode, impossible d'accéder à la page Préparer" +"Le fichier chargé contient uniquement du gcode, impossible d'accéder à la " +"page Préparer" msgid "You can keep the modified presets to the new project or discard them" -msgstr "Vous pouvez conserver les préréglages modifiés dans le nouveau projet ou les supprimer" +msgstr "" +"Vous pouvez conserver les préréglages modifiés dans le nouveau projet ou les " +"supprimer" msgid "Creating a new project" msgstr "Créer un nouveau projet" @@ -4276,10 +4482,12 @@ msgstr "Charger le projet" msgid "" "Failed to save the project.\n" -"Please check whether the folder exists online or if other programs open the project file." +"Please check whether the folder exists online or if other programs open the " +"project file." msgstr "" "Échec de l'enregistrement du projet.\n" -"Veuillez vérifier si le dossier existe en ligne ou si d'autres programmes utilisent actuellement ce fichier de projet." +"Veuillez vérifier si le dossier existe en ligne ou si d'autres programmes " +"utilisent actuellement ce fichier de projet." msgid "Save project" msgstr "Sauvegarder le projet" @@ -4337,7 +4545,9 @@ msgid "All objects will be removed, continue?" msgstr "Tous les objets seront supprimés, continuer ?" msgid "The current project has unsaved changes, save it before continue?" -msgstr "Le projet en cours comporte des modifications non enregistrées, voulez-vous les enregistrer avant de continuer ?" +msgstr "" +"Le projet en cours comporte des modifications non enregistrées, voulez-vous " +"les enregistrer avant de continuer ?" msgid "Remember my choice." msgstr "Se souvenir de mon choix" @@ -4355,15 +4565,20 @@ msgid "Save Sliced file as:" msgstr "Enregistrer le fichier découpé sous :" #, c-format, boost-format -msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." -msgstr "Le fichier %s a été envoyé sur l'espace de stockage de l'imprimante et peut être visualisé sur l'imprimante." +msgid "" +"The file %s has been sent to the printer's storage space and can be viewed " +"on the printer." +msgstr "" +"Le fichier %s a été envoyé sur l'espace de stockage de l'imprimante et peut " +"être visualisé sur l'imprimante." msgid "" "Print By Object: \n" "Suggest to use auto-arrange to avoid collisions when printing." msgstr "" "Impression par objet : \n" -"Nous vous suggérons d'utiliser la disposition automatique pour éviter les collisions lors de l'impression." +"Nous vous suggérons d'utiliser la disposition automatique pour éviter les " +"collisions lors de l'impression." msgid "Send G-code" msgstr "Envoyer le G-code" @@ -4372,7 +4587,9 @@ msgid "Send to printer" msgstr "Envoyer à l'imprimante" msgid "Custom supports and color painting were removed before repairing." -msgstr "Les supports personnalisés et la peinture ont été retirés avant la réparation." +msgstr "" +"Les supports personnalisés et la peinture ont été retirés avant la " +"réparation." msgid "Invalid number" msgstr "Numéro invalide" @@ -4412,18 +4629,22 @@ msgid "Tips:" msgstr "Astuces :" msgid "" -"\"Fix Model\" feature is currently only on Windows. Please repair the model on Orca Slicer(windows) or CAD softwares." +"\"Fix Model\" feature is currently only on Windows. Please repair the model " +"on Orca Slicer(windows) or CAD softwares." msgstr "" -"La fonctionnalité \"Réparer le modèle\" n'est actuellement disponible que sur Windows. Veuillez réparer le modèle sur " -"Orca Slicer (Windows) ou avec des logiciels de CAO." +"La fonctionnalité \"Réparer le modèle\" n'est actuellement disponible que " +"sur Windows. Veuillez réparer le modèle sur Orca Slicer (Windows) ou avec " +"des logiciels de CAO." #, c-format, boost-format msgid "" -"Plate% d: %s is not suggested to be used to print filament %s(%s). If you still want to do this printing, please set " -"this filament's bed temperature to non zero." +"Plate% d: %s is not suggested to be used to print filament %s(%s). If you " +"still want to do this printing, please set this filament's bed temperature " +"to non zero." msgstr "" -"Le plateau %d : %s n’est pas suggéré pour être utilisé avec le filament %s(%s). Si vous souhaitez toujours effectuer " -"cette impression, veuillez définir la température du plateau de ce filament sur une valeur non nulle." +"Le plateau %d : %s n’est pas suggéré pour être utilisé avec le filament " +"%s(%s). Si vous souhaitez toujours effectuer cette impression, veuillez " +"définir la température du plateau de ce filament sur une valeur non nulle." msgid "Switching the language requires application restart.\n" msgstr "Le changement de langue nécessite le redémarrage de l'application.\n" @@ -4435,7 +4656,9 @@ msgid "Language selection" msgstr "Sélection de la langue" msgid "Switching application language while some presets are modified." -msgstr "Changer la langue de l'application pendant que certains préréglages sont modifiés." +msgstr "" +"Changer la langue de l'application pendant que certains préréglages sont " +"modifiés." msgid "Changing application language" msgstr "Changer la langue de l'application" @@ -4488,10 +4711,12 @@ msgstr "Unités" msgid "Zoom to mouse position" msgstr "Zoom à la position de la souris" -msgid "Zoom in towards the mouse pointer's position in the 3D view, rather than the 2D window center." +msgid "" +"Zoom in towards the mouse pointer's position in the 3D view, rather than the " +"2D window center." msgstr "" -"Effectuer un zoom avant vers la position du pointeur de la souris dans la vue 3D, plutôt que vers le centre de la " -"fenêtre 2D." +"Effectuer un zoom avant vers la position du pointeur de la souris dans la " +"vue 3D, plutôt que vers le centre de la fenêtre 2D." msgid "Show \"Tip of the day\" notification after start" msgstr "Afficher la notification \"Astuce du jour\" au démarrage" @@ -4509,7 +4734,9 @@ msgid "Presets" msgstr "Préréglages" msgid "Auto sync user presets(Printer/Filament/Process)" -msgstr "Synchronisation automatique des préréglages utilisateur (Imprimante/Filament/Processus)" +msgstr "" +"Synchronisation automatique des préréglages utilisateur (Imprimante/Filament/" +"Processus)" msgid "User Sync" msgstr "Synchronisation utilisateur" @@ -4530,19 +4757,25 @@ msgid "Associate .3mf files to OrcaSlicer" msgstr "Associer les fichiers .3mf à Orca Slicer" msgid "If enabled, sets OrcaSlicer as default application to open .3mf files" -msgstr "Si activé, définit Orca Slicer comme application par défaut pour ouvrir les fichiers .3mf" +msgstr "" +"Si activé, définit Orca Slicer comme application par défaut pour ouvrir les " +"fichiers .3mf" msgid "Associate .stl files to OrcaSlicer" msgstr "Associer les fichiers .stl à Orca Slicer" msgid "If enabled, sets OrcaSlicer as default application to open .stl files" -msgstr "Si activé, définit Orca Slicer comme application par défaut pour ouvrir les fichiers .stl" +msgstr "" +"Si activé, définit Orca Slicer comme application par défaut pour ouvrir les " +"fichiers .stl" msgid "Associate .step/.stp files to OrcaSlicer" msgstr "Associer les fichiers .step/.stp à Orca Slicer" msgid "If enabled, sets OrcaSlicer as default application to open .step files" -msgstr "Si activé, définit Orca Slicer comme application par défaut pour ouvrir les fichiers .step/.stp" +msgstr "" +"Si activé, définit Orca Slicer comme application par défaut pour ouvrir les " +"fichiers .step/.stp" msgid "Maximum recent projects" msgstr "Projets récents maximum" @@ -4556,8 +4789,11 @@ msgstr "Effacer mon choix sur les projets non enregistrés." msgid "Auto-Backup" msgstr "Sauvegarde automatique" -msgid "Backup your project periodically for restoring from the occasional crash." -msgstr "Sauvegardez votre projet périodiquement pour restaurer en cas de plantage occasionnel." +msgid "" +"Backup your project periodically for restoring from the occasional crash." +msgstr "" +"Sauvegardez votre projet périodiquement pour restaurer en cas de plantage " +"occasionnel." msgid "every" msgstr "toutes les" @@ -4737,7 +4973,9 @@ msgid "Log Out" msgstr "Se déconnecter" msgid "Slice all plate to obtain time and filament estimation" -msgstr "Découper tous les plateaux pour obtenir une estimation de la durée et du filament" +msgstr "" +"Découper tous les plateaux pour obtenir une estimation de la durée et du " +"filament" msgid "Packing project data into 3mf file" msgstr "Compression des données du projet dans un fichier 3mf" @@ -4749,7 +4987,8 @@ msgid "Jump to model publish web page" msgstr "Accéder à la page Web de publication de modèles" msgid "Note: The preparation may takes several minutes. Please be patiant." -msgstr "Remarque : La préparation peut prendre plusieurs minutes. Veuillez patienter." +msgstr "" +"Remarque : La préparation peut prendre plusieurs minutes. Veuillez patienter." msgid "Publish" msgstr "Publier" @@ -4797,7 +5036,9 @@ msgstr "Le préréglage \"%1%\" existe déjà." #, boost-format msgid "Preset \"%1%\" already exists and is incompatible with current printer." -msgstr "Le préréglage \"%1%\" existe déjà et est incompatible avec l'imprimante actuelle." +msgstr "" +"Le préréglage \"%1%\" existe déjà et est incompatible avec l'imprimante " +"actuelle." msgid "Please note that saving action will replace this preset" msgstr "Veuillez noter que l'action d'enregistrement remplacera ce préréglage" @@ -4827,7 +5068,9 @@ msgstr "L'imprimante \"%1%\" est sélectionnée avec le préréglage \"%2%\"" #, boost-format msgid "Please choose an action with \"%1%\" preset after saving." -msgstr "Veuillez choisir une action avec le préréglage \"%1%\" après l'enregistrement." +msgstr "" +"Veuillez choisir une action avec le préréglage \"%1%\" après " +"l'enregistrement." #, boost-format msgid "For \"%1%\", change \"%2%\" to \"%3%\" " @@ -4893,7 +5136,8 @@ msgid "send completed" msgstr "envoi terminé" msgid "No login account, only printers in LAN mode are displayed" -msgstr "Aucun compte de connexion, seules les imprimantes en mode LAN sont affichées" +msgstr "" +"Aucun compte de connexion, seules les imprimantes en mode LAN sont affichées" msgid "Connecting to server" msgstr "Connexion au serveur" @@ -4902,55 +5146,78 @@ msgid "Synchronizing device information" msgstr "Synchronisation des informations de l’imprimante" msgid "Synchronizing device information time out" -msgstr "Expiration du délai de synchronisation des informations de l’imprimante" +msgstr "" +"Expiration du délai de synchronisation des informations de l’imprimante" msgid "Cannot send the print job when the printer is updating firmware" -msgstr "Impossible d'envoyer la tâche d'impression lorsque l'imprimante met à jour le firmware" +msgstr "" +"Impossible d'envoyer la tâche d'impression lorsque l'imprimante met à jour " +"le firmware" -msgid "The printer is executing instructions. Please restart printing after it ends" -msgstr "L'imprimante exécute des instructions. Veuillez recommencer l'impression après la fin de l'exécution" +msgid "" +"The printer is executing instructions. Please restart printing after it ends" +msgstr "" +"L'imprimante exécute des instructions. Veuillez recommencer l'impression " +"après la fin de l'exécution" msgid "The printer is busy on other print job" msgstr "L'imprimante est occupée par une autre tâche d'impression" #, c-format, boost-format -msgid "Filament %s exceeds the number of AMS slots. Please update the printer firmware to support AMS slot assignment." +msgid "" +"Filament %s exceeds the number of AMS slots. Please update the printer " +"firmware to support AMS slot assignment." msgstr "" -"Le filament %s dépasse le nombre d'emplacements de l'AMS. Veuillez mettre à jour le firmware de l'imprimante pour " -"prendre en charge l'affectation des emplacements dans l'AMS." - -msgid "Filament exceeds the number of AMS slots. Please update the printer firmware to support AMS slot assignment." -msgstr "" -"Le filament dépasse le nombre d'emplacements de l'AMS. Veuillez mettre à jour le firmware de l'imprimante pour prendre " -"en charge l'affectation des emplacements dans l'AMS." +"Le filament %s dépasse le nombre d'emplacements de l'AMS. Veuillez mettre à " +"jour le firmware de l'imprimante pour prendre en charge l'affectation des " +"emplacements dans l'AMS." msgid "" -"Filaments to AMS slots mappings have been established. You can click a filament above to change its mapping AMS slot" +"Filament exceeds the number of AMS slots. Please update the printer firmware " +"to support AMS slot assignment." msgstr "" -"L'affectation des filaments aux emplacements de l'AMS a été réalisée. Vous pouvez cliquer sur un filament ci-dessus pour " -"modifier son emplacement correspondant à celui dans l'AMS" +"Le filament dépasse le nombre d'emplacements de l'AMS. Veuillez mettre à " +"jour le firmware de l'imprimante pour prendre en charge l'affectation des " +"emplacements dans l'AMS." -msgid "Please click each filament above to specify its mapping AMS slot before sending the print job" +msgid "" +"Filaments to AMS slots mappings have been established. You can click a " +"filament above to change its mapping AMS slot" msgstr "" -"Veuillez cliquer sur chaque filament ci-dessus pour indiquer son emplacement dans l'AMS avant d'envoyer la tâche " -"d'impression" +"L'affectation des filaments aux emplacements de l'AMS a été réalisée. Vous " +"pouvez cliquer sur un filament ci-dessus pour modifier son emplacement " +"correspondant à celui dans l'AMS" + +msgid "" +"Please click each filament above to specify its mapping AMS slot before " +"sending the print job" +msgstr "" +"Veuillez cliquer sur chaque filament ci-dessus pour indiquer son emplacement " +"dans l'AMS avant d'envoyer la tâche d'impression" #, c-format, boost-format msgid "" -"Filament %s does not match the filament in AMS slot %s. Please update the printer firmware to support AMS slot " -"assignment." +"Filament %s does not match the filament in AMS slot %s. Please update the " +"printer firmware to support AMS slot assignment." msgstr "" -"Le filament %s ne correspond pas au filament dans l'emplacement %s de l'AMS . Veuillez mettre à jour le firmware de " -"l'imprimante pour prendre en charge l'affectation des emplacements dans l'AMS." +"Le filament %s ne correspond pas au filament dans l'emplacement %s de " +"l'AMS . Veuillez mettre à jour le firmware de l'imprimante pour prendre en " +"charge l'affectation des emplacements dans l'AMS." msgid "" -"Filament does not match the filament in AMS slot. Please update the printer firmware to support AMS slot assignment." +"Filament does not match the filament in AMS slot. Please update the printer " +"firmware to support AMS slot assignment." msgstr "" -"Le filament ne correspond pas au filament dans l'emplacement de l'AMS . Veuillez mettre à jour le firmware de " -"l'imprimante pour prendre en charge l'affectation des emplacements dans l'AMS." +"Le filament ne correspond pas au filament dans l'emplacement de l'AMS . " +"Veuillez mettre à jour le firmware de l'imprimante pour prendre en charge " +"l'affectation des emplacements dans l'AMS." -msgid "The printer firmware only supports sequential mapping of filament => AMS slot." -msgstr "Le firmware de l'imprimante ne prend en charge que l’affectation séquentielle du filament => emplacement AMS." +msgid "" +"The printer firmware only supports sequential mapping of filament => AMS " +"slot." +msgstr "" +"Le firmware de l'imprimante ne prend en charge que l’affectation " +"séquentielle du filament => emplacement AMS." msgid "An SD card needs to be inserted before printing." msgstr "Une carte SD doit être insérée avant l'impression." @@ -4958,14 +5225,19 @@ msgstr "Une carte SD doit être insérée avant l'impression." msgid "An SD card needs to be inserted to record timelapse." msgstr "Une carte SD doit être insérée pour enregistrer le Timelapse." -msgid "Cannot send the print job to a printer whose firmware is required to get updated." -msgstr "Impossible d'envoyer la tâche d'impression à une imprimante dont le firmware doit être mis à jour." +msgid "" +"Cannot send the print job to a printer whose firmware is required to get " +"updated." +msgstr "" +"Impossible d'envoyer la tâche d'impression à une imprimante dont le firmware " +"doit être mis à jour." msgid "Cannot send the print job for empty plate" msgstr "Impossible d'envoyer la tâche d'impression d'un plateau vide" msgid "This printer does not support printing all plates" -msgstr "Cette imprimante ne prend pas en charge l’impression de toutes les plateaux" +msgstr "" +"Cette imprimante ne prend pas en charge l’impression de toutes les plateaux" msgid "Errors" msgstr "Erreurs" @@ -4974,25 +5246,32 @@ msgid "Please check the following:" msgstr "Veuillez vérifier les points suivants :" msgid "" -"The printer type selected when generating G-Code is not consistent with the currently selected printer. It is " -"recommended that you use the same printer type for slicing." +"The printer type selected when generating G-Code is not consistent with the " +"currently selected printer. It is recommended that you use the same printer " +"type for slicing." msgstr "" -"Le type d'imprimante utilisé pour générer le G-code n'est pas le même que l'imprimante physique actuellement " -"sélectionnée. Il est recommandé d’utiliser le même type d’imprimante pour le découpage." +"Le type d'imprimante utilisé pour générer le G-code n'est pas le même que " +"l'imprimante physique actuellement sélectionnée. Il est recommandé " +"d’utiliser le même type d’imprimante pour le découpage." #, c-format, boost-format msgid "%s is not supported by AMS." msgstr "%s n’est pas pris en charge par l’AMS." msgid "" -"There are some unknown filaments in the AMS mappings. Please check whether they are the required filaments. If they are " -"okay, press \"Confirm\" to start printing." +"There are some unknown filaments in the AMS mappings. Please check whether " +"they are the required filaments. If they are okay, press \"Confirm\" to " +"start printing." msgstr "" -"Il y a des filaments inconnus dans les affectations de l'AMS. Veuillez vérifier s'il s'agit des filaments requis. S'ils " -"sont corrects, appuyez sur \"Confirmer\" pour lancer l'impression." +"Il y a des filaments inconnus dans les affectations de l'AMS. Veuillez " +"vérifier s'il s'agit des filaments requis. S'ils sont corrects, appuyez sur " +"\"Confirmer\" pour lancer l'impression." -msgid "Please click the confirm button if you still want to proceed with printing." -msgstr "Veuillez cliquer sur le bouton de confirmation si vous souhaitez continuer l’impression." +msgid "" +"Please click the confirm button if you still want to proceed with printing." +msgstr "" +"Veuillez cliquer sur le bouton de confirmation si vous souhaitez continuer " +"l’impression." msgid "Preparing print job" msgstr "Préparation de la tâche d'impression" @@ -5004,7 +5283,9 @@ msgid "Send to Printer SD card" msgstr "Envoi sur la carte SD de l'imprimante" msgid "Cannot send the print task when the upgrade is in progress" -msgstr "Impossible d'envoyer la tâche d'impression lorsque la mise à jour est en cours" +msgstr "" +"Impossible d'envoyer la tâche d'impression lorsque la mise à jour est en " +"cours" msgid "An SD card needs to be inserted before send to printer SD card." msgstr "Une carte SD doit être insérée avant l'envoi à l'imprimante." @@ -5013,13 +5294,15 @@ msgid "The printer is required to be in the same LAN as Orca Slicer." msgstr "L'imprimante doit être sur le même réseau local que Orca Slicer." msgid "The printer does not support sending to printer SD card." -msgstr "L'imprimante ne prend pas en charge l'envoi vers la carte SD de l'imprimante." +msgstr "" +"L'imprimante ne prend pas en charge l'envoi vers la carte SD de l'imprimante." msgid "Log in printer" msgstr "Connecter l'imprimante" msgid "Would you like to log in this printer with current account?" -msgstr "Souhaitez-vous vous connecter à cette imprimante avec le compte actuel ?" +msgstr "" +"Souhaitez-vous vous connecter à cette imprimante avec le compte actuel ?" msgid "Log in successful." msgstr "Connexion réussie." @@ -5034,7 +5317,9 @@ msgid "Please log in first." msgstr "Veuillez vous connecter d’abord." msgid "There was a problem connecting to the printer. Please try again." -msgstr "Un problème est survenu lors de la connexion à l'imprimante. Veuillez réessayer." +msgstr "" +"Un problème est survenu lors de la connexion à l'imprimante. Veuillez " +"réessayer." msgid "Failed to log out." msgstr "Échec de la déconnexion." @@ -5051,27 +5336,33 @@ msgid "Search in preset" msgstr "Rechercher dans les préréglages" msgid "Click to reset all settings to the last saved preset." -msgstr "Cliquez pour réinitialiser tous les paramètres au dernier préréglage enregistré." - -msgid "" -"Prime tower is required for smooth timeplase. There may be flaws on the model without prime tower. Are you sure you want " -"to disable prime tower?" msgstr "" -"La tour de purge est requise pour un Timelapse fluide. Sans celle-ci, il peut y avoir des défauts sur le modèle. Voulez-" -"vous vraiment désactiver la tour de purge ?" +"Cliquez pour réinitialiser tous les paramètres au dernier préréglage " +"enregistré." msgid "" -"Prime tower is required for smooth timelapse. There may be flaws on the model without prime tower. Do you want to enable " -"prime tower?" +"Prime tower is required for smooth timeplase. There may be flaws on the " +"model without prime tower. Are you sure you want to disable prime tower?" msgstr "" -"La tour de purge est requise pour un Timelapse fluide. Sans celle-ci, il peut y avoir des défauts sur le modèle. Voulez-" -"vous activer la tour de purge ?" +"La tour de purge est requise pour un Timelapse fluide. Sans celle-ci, il " +"peut y avoir des défauts sur le modèle. Voulez-vous vraiment désactiver la " +"tour de purge ?" msgid "" -"We have added an experimental style \"Tree Slim\" that features smaller support volume but weaker strength.\n" +"Prime tower is required for smooth timelapse. There may be flaws on the " +"model without prime tower. Do you want to enable prime tower?" +msgstr "" +"La tour de purge est requise pour un Timelapse fluide. Sans celle-ci, il " +"peut y avoir des défauts sur le modèle. Voulez-vous activer la tour de " +"purge ?" + +msgid "" +"We have added an experimental style \"Tree Slim\" that features smaller " +"support volume but weaker strength.\n" "We recommend using it with: 0 interface layers, 0 top distance, 2 walls." msgstr "" -"Nous avons ajouté un style expérimental \"Arborescents Fins\" qui présente un volume de supports\n" +"Nous avons ajouté un style expérimental \"Arborescents Fins\" qui présente " +"un volume de supports\n" "plus petit mais une résistance plus faible.\n" "\n" "Nous recommandons de l’utiliser avec :\n" @@ -5090,30 +5381,39 @@ msgstr "" "Non - Ne pas modifier ces paramètres" msgid "" -"For \"Tree Strong\" and \"Tree Hybrid\" styles, we recommend the following settings: at least 2 interface layers, at " -"least 0.1mm top z distance or using support materials on interface." +"For \"Tree Strong\" and \"Tree Hybrid\" styles, we recommend the following " +"settings: at least 2 interface layers, at least 0.1mm top z distance or " +"using support materials on interface." msgstr "" -"Pour les styles \"Arborescents Solides\" et \"Arborescents Hybrides\", nous recommandons les paramètres suivants :\n" +"Pour les styles \"Arborescents Solides\" et \"Arborescents Hybrides\", nous " +"recommandons les paramètres suivants :\n" "\n" "Couches des interfaces supérieures : 2\n" -"Distance Z supérieure d'au moins 0.1 mm ou l'utilisation de filament pour supports pour l'interface" +"Distance Z supérieure d'au moins 0.1 mm ou l'utilisation de filament pour " +"supports pour l'interface" msgid "" -"When using support material for the support interface, We recommend the following settings:\n" -"0 top z distance, 0 interface spacing, concentric pattern and disable independent support layer height" +"When using support material for the support interface, We recommend the " +"following settings:\n" +"0 top z distance, 0 interface spacing, concentric pattern and disable " +"independent support layer height" msgstr "" -"Lorsque vous utilisez du filament pour supports, nous vous recommandons les paramètres suivants :\n" -"Distance Z supérieure à 0, un espacement de l’interface supérieure à 0, un motif d’interface Concentrique et la " -"désactivation de la hauteur de couche indépendante des supports" +"Lorsque vous utilisez du filament pour supports, nous vous recommandons les " +"paramètres suivants :\n" +"Distance Z supérieure à 0, un espacement de l’interface supérieure à 0, un " +"motif d’interface Concentrique et la désactivation de la hauteur de couche " +"indépendante des supports" msgid "" -"When recording timelapse without toolhead, it is recommended to add a \"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive\"->\"Timelapse Wipe Tower\"." +"When recording timelapse without toolhead, it is recommended to add a " +"\"Timelapse Wipe Tower\" \n" +"by right-click the empty position of build plate and choose \"Add Primitive" +"\"->\"Timelapse Wipe Tower\"." msgstr "" -"Lors de l'enregistrement d'un Timelapse sans tête d'outil, il est recommandé d'ajouter une \"Tour d’essuyage " -"Timelapse\"\n" -"en cliquant avec le bouton droit sur une zone vide du plateau et en choisissant \"Ajouter une primitive\" -> \"Tour " -"d’essuyage Timelapse\"." +"Lors de l'enregistrement d'un Timelapse sans tête d'outil, il est recommandé " +"d'ajouter une \"Tour d’essuyage Timelapse\"\n" +"en cliquant avec le bouton droit sur une zone vide du plateau et en " +"choisissant \"Ajouter une primitive\" -> \"Tour d’essuyage Timelapse\"." msgid "Line width" msgstr "Largeur de ligne" @@ -5143,12 +5443,14 @@ msgid "Overhang speed" msgstr "Surplombs" msgid "" -"This is the speed for various overhang degrees. Overhang degrees are expressed as a percentage of line width. 0 speed " -"means no slowing down for the overhang degree range and wall speed is used" +"This is the speed for various overhang degrees. Overhang degrees are " +"expressed as a percentage of line width. 0 speed means no slowing down for " +"the overhang degree range and wall speed is used" msgstr "" -"Il s'agit de la vitesse pour différents degrés de surplombs. Les degrés de surplombs sont exprimés en pourcentage de la " -"largeur de la ligne. Une vitesse à 0 signifie qu'il n'y a pas de ralentissement pour la plage de degrés des surplombs et " -"que la vitesse des parois est utilisée" +"Il s'agit de la vitesse pour différents degrés de surplombs. Les degrés de " +"surplombs sont exprimés en pourcentage de la largeur de la ligne. Une " +"vitesse à 0 signifie qu'il n'y a pas de ralentissement pour la plage de " +"degrés des surplombs et que la vitesse des parois est utilisée" msgid "Travel speed" msgstr "Vitesse de déplacements" @@ -5177,25 +5479,26 @@ msgstr "G-code" msgid "Post-processing Scripts" msgstr "Scripts de post-traitement" -msgid "Post-processing scripts" -msgstr "Scripts de post-traitement" - msgid "Frequent" msgstr "Fréquent" #, c-format, boost-format msgid "" "Following line %s contains reserved keywords.\n" -"Please remove it, or will beat G-code visualization and printing time estimation." +"Please remove it, or will beat G-code visualization and printing time " +"estimation." msgid_plural "" "Following lines %s contain reserved keywords.\n" -"Please remove them, or will beat G-code visualization and printing time estimation." +"Please remove them, or will beat G-code visualization and printing time " +"estimation." msgstr[0] "" "La ligne suivante %s contient des mots clés réservés.\n" -"Veuillez les supprimer, ou cela gênera la visualisation du G-code et l'estimation de la durée d'impression." +"Veuillez les supprimer, ou cela gênera la visualisation du G-code et " +"l'estimation de la durée d'impression." msgstr[1] "" "Les lignes suivantes %s contiennent des mots clés réservés.\n" -"Veuillez les supprimer, ou cela gênera la visualisation du G-code et l'estimation de la durée d'impression." +"Veuillez les supprimer, ou cela gênera la visualisation du G-code et " +"l'estimation de la durée d'impression." msgid "Reserved keywords found" msgstr "Mots clés réservés trouvés" @@ -5213,7 +5516,9 @@ msgid "Recommended nozzle temperature" msgstr "Température de buse recommandée" msgid "Recommended nozzle temperature range of this filament. 0 means no set" -msgstr "Plage de température de buse recommandée pour ce filament. Une valeur à 0 signifie non définie" +msgstr "" +"Plage de température de buse recommandée pour ce filament. Une valeur à 0 " +"signifie non définie" msgid "Recommended temperature range" msgstr "Plage de température recommandée" @@ -5234,34 +5539,39 @@ msgid "Cool plate" msgstr "Bambu Cool Plate" msgid "" -"Bed temperature when cool plate is installed. Value 0 means the filament does not support to print on the Cool Plate" +"Bed temperature when cool plate is installed. Value 0 means the filament " +"does not support to print on the Cool Plate" msgstr "" -"Température du plateau lorsque le plateau Bambu Cool Plate est installé. Une valeur à 0 signifie que le filament ne " -"prend pas en charge l'impression sur le plateau Bambu Cool Plate" +"Température du plateau lorsque le plateau Bambu Cool Plate est installé. Une " +"valeur à 0 signifie que le filament ne prend pas en charge l'impression sur " +"le plateau Bambu Cool Plate" msgid "Engineering plate" msgstr "Bambu Engineering Plate" msgid "" -"Bed temperature when engineering plate is installed. Value 0 means the filament does not support to print on the " -"Engineering Plate" +"Bed temperature when engineering plate is installed. Value 0 means the " +"filament does not support to print on the Engineering Plate" msgstr "" -"Température du plateau lorsque le plateau Bambu Engineering Plate est installé. Une valeur à 0 signifie que le filament " -"ne prend pas en charge l'impression sur le plateau Bambu Engineering Plate" +"Température du plateau lorsque le plateau Bambu Engineering Plate est " +"installé. Une valeur à 0 signifie que le filament ne prend pas en charge " +"l'impression sur le plateau Bambu Engineering Plate" msgid "" -"Bed temperature when high temperature plate is installed. Value 0 means the filament does not support to print on the " -"High Temp Plate" +"Bed temperature when high temperature plate is installed. Value 0 means the " +"filament does not support to print on the High Temp Plate" msgstr "" -"Température du plateau lorsque le plateau Bambu High Temperature Plate est installé. Une valeur à 0 signifie que le " -"filament ne prend pas en charge l'impression sur le plateau Bambu High Temperature Plate" +"Température du plateau lorsque le plateau Bambu High Temperature Plate est " +"installé. Une valeur à 0 signifie que le filament ne prend pas en charge " +"l'impression sur le plateau Bambu High Temperature Plate" msgid "" -"Bed temperature when Textured PEI Plate is installed. Value 0 means the filament does not support to print on the " -"Textured PEI Plate" +"Bed temperature when Textured PEI Plate is installed. Value 0 means the " +"filament does not support to print on the Textured PEI Plate" msgstr "" -"Température du plateau lorsque le plateau Bambu Dual-Sided Textured PEI Plate est installé. Une valeur à 0 signifie que " -"le filament ne prend pas en charge l'impression sur le plateau Bambu Dual-Sided Textured PEI Plate" +"Température du plateau lorsque le plateau Bambu Dual-Sided Textured PEI " +"Plate est installé. Une valeur à 0 signifie que le filament ne prend pas en " +"charge l'impression sur le plateau Bambu Dual-Sided Textured PEI Plate" msgid "Volumetric speed limitation" msgstr "Limitation de vitesse volumétrique" @@ -5279,21 +5589,26 @@ msgid "Min fan speed threshold" msgstr "Seuil de vitesse minimale" msgid "" -"Part cooling fan speed will start to run at min speed when the estimated layer time is no longer than the layer time in " -"setting. When layer time is shorter than threshold, fan speed is interpolated between the minimum and maximum fan speed " -"according to layer printing time" +"Part cooling fan speed will start to run at min speed when the estimated " +"layer time is no longer than the layer time in setting. When layer time is " +"shorter than threshold, fan speed is interpolated between the minimum and " +"maximum fan speed according to layer printing time" msgstr "" -"Le ventilateur de refroidissement commencera à fonctionner à la vitesse minimale lorsque la durée de couche estimée " -"n'est pas supérieure à la valeur définie. Lorsque la durée de couche est inférieure au seuil, la vitesse du ventilateur " -"est interpolée entre la vitesse minimale et maximale du ventilateur en fonction de la durée d'impression de la couche" +"Le ventilateur de refroidissement commencera à fonctionner à la vitesse " +"minimale lorsque la durée de couche estimée n'est pas supérieure à la valeur " +"définie. Lorsque la durée de couche est inférieure au seuil, la vitesse du " +"ventilateur est interpolée entre la vitesse minimale et maximale du " +"ventilateur en fonction de la durée d'impression de la couche" msgid "Max fan speed threshold" msgstr "Seuil de vitesse maximale" -msgid "Part cooling fan speed will be max when the estimated layer time is shorter than the setting value" +msgid "" +"Part cooling fan speed will be max when the estimated layer time is shorter " +"than the setting value" msgstr "" -"La vitesse du ventilateur de refroidissement sera maximale lorsque la durée de couche estimée est plus courte que la " -"valeur définie" +"La vitesse du ventilateur de refroidissement sera maximale lorsque la durée " +"de couche estimée est plus courte que la valeur définie" msgid "Auxiliary part cooling fan" msgstr "Ventilateur de refroidissement auxiliaire" @@ -5307,6 +5622,12 @@ msgstr "G-code de fin du filament" msgid "Printable space" msgstr "Espace imprimable" +msgid "Cooling Fan" +msgstr "Ventilateur de refroidissement" + +msgid "Fan speed-up time" +msgstr "Durée d’accélération du ventilateur" + msgid "Extruder Clearance" msgstr "Tête d’impression" @@ -5363,7 +5684,8 @@ msgid "" "\n" "Shall I disable it in order to enable Firmware Retraction?" msgstr "" -"L’option Essuyage n’est pas disponible lors de l’utilisation du mode Rétraction Firmware.\n" +"L’option Essuyage n’est pas disponible lors de l’utilisation du mode " +"Rétraction Firmware.\n" "\n" "Voulez-vous désactiver cette option pour activer la Rétraction Firmware ?" @@ -5394,10 +5716,14 @@ msgid "Set" msgstr "Définir" msgid "Click to reset current value and attach to the global value." -msgstr "Cliquez pour réinitialiser la valeur actuelle et l'attacher à la valeur globale." +msgstr "" +"Cliquez pour réinitialiser la valeur actuelle et l'attacher à la valeur " +"globale." msgid "Click to drop current modify and reset to saved value." -msgstr "Cliquez pour supprimer la modification actuelle et réinitialiser la valeur enregistrée." +msgstr "" +"Cliquez pour supprimer la modification actuelle et réinitialiser la valeur " +"enregistrée." msgid "Process Settings" msgstr "Paramètres de processus" @@ -5427,7 +5753,8 @@ msgid "Discard" msgstr "Ignorer" msgid "Click the right mouse button to display the full text." -msgstr "Cliquez sur le bouton droit de la souris pour afficher le texte complet." +msgstr "" +"Cliquez sur le bouton droit de la souris pour afficher le texte complet." msgid "All changes will not be saved" msgstr "Toutes les modifications ne seront pas enregistrées" @@ -5442,7 +5769,9 @@ msgid "Keep the selected options." msgstr "Conserver les options sélectionnées." msgid "Transfer the selected options to the newly selected preset." -msgstr "Transférer les options sélectionnées vers le préréglage nouvellement sélectionné." +msgstr "" +"Transférer les options sélectionnées vers le préréglage nouvellement " +"sélectionné." #, boost-format msgid "" @@ -5457,29 +5786,36 @@ msgid "" "Transfer the selected options to the newly selected preset \n" "\"%1%\"." msgstr "" -"Transférer les options sélectionnées vers le préréglage nouvellement sélectionné\n" +"Transférer les options sélectionnées vers le préréglage nouvellement " +"sélectionné\n" "\"%1%\"." #, boost-format msgid "Preset \"%1%\" contains the following unsaved changes:" -msgstr "Le préréglage \"%1%\" contient les modifications non enregistrées suivantes :" +msgstr "" +"Le préréglage \"%1%\" contient les modifications non enregistrées suivantes :" #, boost-format -msgid "Preset \"%1%\" is not compatible with the new printer profile and it contains the following unsaved changes:" +msgid "" +"Preset \"%1%\" is not compatible with the new printer profile and it " +"contains the following unsaved changes:" msgstr "" -"Le préréglage \"%1%\" n'est pas compatible avec le nouveau profil d'imprimante et contient les modifications non " -"enregistrées suivantes :" +"Le préréglage \"%1%\" n'est pas compatible avec le nouveau profil " +"d'imprimante et contient les modifications non enregistrées suivantes :" #, boost-format -msgid "Preset \"%1%\" is not compatible with the new process profile and it contains the following unsaved changes:" +msgid "" +"Preset \"%1%\" is not compatible with the new process profile and it " +"contains the following unsaved changes:" msgstr "" -"Le préréglage \"%1%\" n'est pas compatible avec le nouveau profil de processus et contient les modifications non " -"enregistrées suivantes :" +"Le préréglage \"%1%\" n'est pas compatible avec le nouveau profil de " +"processus et contient les modifications non enregistrées suivantes :" #, boost-format msgid "" "You have changed some settings of preset \"%1%\". \n" -"Would you like to keep these changed settings (new value) after switching preset?" +"Would you like to keep these changed settings (new value) after switching " +"preset?" msgstr "" "Vous avez modifié certains paramètres du préréglage \"%1%\".\n" "Souhaitez-vous conserver ces paramètres modifiés (nouvelle valeur)\n" @@ -5487,7 +5823,8 @@ msgstr "" msgid "" "You have changed some preset settings. \n" -"Would you like to keep these changed settings (new value) after switching preset?" +"Would you like to keep these changed settings (new value) after switching " +"preset?" msgstr "" "Vous avez modifié certains paramètres prédéfinis.\n" "Souhaitez-vous conserver ces paramètres modifiés (nouvelle valeur)\n" @@ -5550,7 +5887,8 @@ msgid "Configuration update" msgstr "Mise à jour de la configuration" msgid "A new configuration package available, Do you want to install it?" -msgstr "Un nouveau package de configuration est disponible, Voulez-vous l'installer ?" +msgstr "" +"Un nouveau package de configuration est disponible, Voulez-vous l'installer ?" msgid "Description:" msgstr "Description :" @@ -5559,7 +5897,8 @@ msgid "Configuration incompatible" msgstr "Configuration incompatible" msgid "the configuration package is incompatible with current application." -msgstr "le package de configuration est incompatible avec l'application actuelle." +msgstr "" +"le package de configuration est incompatible avec l'application actuelle." #, c-format, boost-format msgid "" @@ -5574,7 +5913,8 @@ msgid "Exit %s" msgstr "Quitter %s" msgid "the Configuration package is incompatible with current APP." -msgstr "le package de configuration est incompatible avec l'application actuelle." +msgstr "" +"le package de configuration est incompatible avec l'application actuelle." msgid "Configuration updates" msgstr "Mises à jour de configuration" @@ -5624,7 +5964,9 @@ msgid "Login" msgstr "Connexion" msgid "The configuration package is changed in previous Config Guide" -msgstr "Le package de configuration est modifié dans le guide de configuration précédent" +msgstr "" +"Le package de configuration est modifié dans le guide de configuration " +"précédent" msgid "Configuration package changed" msgstr "Package de configuration modifié" @@ -5636,7 +5978,8 @@ msgid "Objects list" msgstr "Liste des objets" msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Importer des données de géométrie à partir de fichiers STL/STEP/3MF/OBJ/AMF." +msgstr "" +"Importer des données de géométrie à partir de fichiers STL/STEP/3MF/OBJ/AMF." msgid "⌘+Shift+G" msgstr "⌘ + Shift + G" @@ -5651,7 +5994,9 @@ msgid "Paste from clipboard" msgstr "Coller depuis le presse-papiers" msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "Afficher/Masquer la boîte de dialogue des paramètres des périphériques de connexion 3D" +msgstr "" +"Afficher/Masquer la boîte de dialogue des paramètres des périphériques de " +"connexion 3D" msgid "Show keyboard shortcuts list" msgstr "Afficher la liste des raccourcis clavier" @@ -5678,11 +6023,13 @@ msgid "Shift+R" msgstr "Shift + R" msgid "" -"Auto orientates selected objects or all objects.If there are selected objects, it just orientates the selected ones." -"Otherwise, it will orientates all objects in the current disk." +"Auto orientates selected objects or all objects.If there are selected " +"objects, it just orientates the selected ones.Otherwise, it will orientates " +"all objects in the current disk." msgstr "" -"Oriente automatiquement les objets sélectionnés ou tous les objets. S'il y a des objets sélectionnés, il oriente " -"uniquement ceux qui sont sélectionnés. Sinon, il oriente tous les objets du disque actuel." +"Oriente automatiquement les objets sélectionnés ou tous les objets. S'il y a " +"des objets sélectionnés, il oriente uniquement ceux qui sont sélectionnés. " +"Sinon, il oriente tous les objets du disque actuel." msgid "Shift+Tab" msgstr "Shift + Tab" @@ -5844,13 +6191,15 @@ msgid "Space" msgstr "Espace" msgid "Select the object/part and press space to change the name" -msgstr "Sélectionnez l'objet/la pièce et appuyez sur espace pour changer le nom" +msgstr "" +"Sélectionnez l'objet/la pièce et appuyez sur espace pour changer le nom" msgid "Mouse click" msgstr "Clic de souris" msgid "Select the object/part and mouse click to change the name" -msgstr "Sélectionnez l'objet/la pièce et cliquez avec la souris pour changer le nom" +msgstr "" +"Sélectionnez l'objet/la pièce et cliquez avec la souris pour changer le nom" msgid "Objects List" msgstr "Liste des objets" @@ -5889,12 +6238,16 @@ msgstr "informations de mise à jour de la version %s :" msgid "Network plug-in update" msgstr "Mise à jour du plug-in réseau" -msgid "Click OK to update the Network plug-in when Orca Slicer launches next time." -msgstr "Cliquez sur OK pour mettre à jour le plug-in réseau lors du prochain démarrage de Orca Slicer." +msgid "" +"Click OK to update the Network plug-in when Orca Slicer launches next time." +msgstr "" +"Cliquez sur OK pour mettre à jour le plug-in réseau lors du prochain " +"démarrage de Orca Slicer." #, c-format, boost-format msgid "A new Network plug-in(%s) available, Do you want to install it?" -msgstr "Un nouveau plug-in réseau (%s) est disponible, voulez-vous l'installer ?" +msgstr "" +"Un nouveau plug-in réseau (%s) est disponible, voulez-vous l'installer ?" msgid "New version of Orca Slicer" msgstr "Nouvelle version de Orca Slicer" @@ -5908,13 +6261,18 @@ msgstr "Terminé" msgid "LAN Connection Failed (Sending print file)" msgstr "Échec de la connexion LAN (envoi du fichier d’impression)" -msgid "Step 1, please confirm Orca Slicer and your printer are in the same LAN." -msgstr "Étape 1, veuillez confirmer que Orca Slicer et votre imprimante sont sur le même réseau local." - -msgid "Step 2, if the IP and Access Code below are different from the actual values on your printer, please correct them." +msgid "" +"Step 1, please confirm Orca Slicer and your printer are in the same LAN." msgstr "" -"Étape 2, si l’adresse IP et le code d’accès ci-dessous sont différents des valeurs réelles de votre imprimante, veuillez " -"les corriger." +"Étape 1, veuillez confirmer que Orca Slicer et votre imprimante sont sur le " +"même réseau local." + +msgid "" +"Step 2, if the IP and Access Code below are different from the actual values " +"on your printer, please correct them." +msgstr "" +"Étape 2, si l’adresse IP et le code d’accès ci-dessous sont différents des " +"valeurs réelles de votre imprimante, veuillez les corriger." msgid "IP" msgstr "IP" @@ -5959,26 +6317,31 @@ msgid "Updating successful" msgstr "Mise à jour réussie" msgid "" -"Are you sure you want to update? This will take about 10 minutes. Do not turn off the power while the printer is " -"updating." +"Are you sure you want to update? This will take about 10 minutes. Do not " +"turn off the power while the printer is updating." msgstr "" -"Êtes-vous sûr de vouloir mettre à jour ? Cela prendra environ 10 minutes. Ne coupez pas l'alimentation pendant la mise à " -"jour de l'imprimante." +"Êtes-vous sûr de vouloir mettre à jour ? Cela prendra environ 10 minutes. Ne " +"coupez pas l'alimentation pendant la mise à jour de l'imprimante." msgid "" -"An important update was detected and needs to be run before printing can continue. Do you want to update now? You can " -"also update later from 'Upgrade firmware'." +"An important update was detected and needs to be run before printing can " +"continue. Do you want to update now? You can also update later from 'Upgrade " +"firmware'." msgstr "" -"Une mise à jour importante a été détectée et doit être exécutée avant que l'impression puisse continuer. Voulez-vous " -"mettre à jour maintenant ? Vous pouvez également mettre à jour plus tard via le bouton ‘Mettre à jour le firmware'." +"Une mise à jour importante a été détectée et doit être exécutée avant que " +"l'impression puisse continuer. Voulez-vous mettre à jour maintenant ? Vous " +"pouvez également mettre à jour plus tard via le bouton ‘Mettre à jour le " +"firmware'." msgid "" -"The firmware version is abnormal. Repairing and updating are required before printing. Do you want to update now? You " -"can also update later on printer or update next time starting the studio." +"The firmware version is abnormal. Repairing and updating are required before " +"printing. Do you want to update now? You can also update later on printer or " +"update next time starting the studio." msgstr "" -"La version du firmware est anormale. Une réparation et une mise à jour sont nécessaires avant l'impression. Voulez-vous " -"mettre à jour maintenant ? Vous pouvez également mettre à jour plus tard via l'imprimante ou au prochain démarrage de " -"Bambu Studio." +"La version du firmware est anormale. Une réparation et une mise à jour sont " +"nécessaires avant l'impression. Voulez-vous mettre à jour maintenant ? Vous " +"pouvez également mettre à jour plus tard via l'imprimante ou au prochain " +"démarrage de Bambu Studio." msgid "Extension Board" msgstr "Carte d'extension" @@ -6036,7 +6399,9 @@ msgid "Copying of file %1% to %2% failed: %3%" msgstr "Échec de la copie du fichier %1% vers %2% : %3%" msgid "Need to check the unsaved changes before configuration updates." -msgstr "Il est nécessaire de vérifier les modifications non enregistrées avant les mises à jour de configuration." +msgstr "" +"Il est nécessaire de vérifier les modifications non enregistrées avant les " +"mises à jour de configuration." msgid "Configuration package updated to " msgstr "Package de configuration mis à jour pour " @@ -6044,23 +6409,32 @@ msgstr "Package de configuration mis à jour pour " msgid "Open G-code file:" msgstr "Ouvrir un fichier G-code :" -msgid "One object has empty initial layer and can't be printed. Please Cut the bottom or enable supports." -msgstr "Un objet a une couche initiale vide et ne peut pas être imprimé. Veuillez couper le bas ou activer les supports." +msgid "" +"One object has empty initial layer and can't be printed. Please Cut the " +"bottom or enable supports." +msgstr "" +"Un objet a une couche initiale vide et ne peut pas être imprimé. Veuillez " +"couper le bas ou activer les supports." #, boost-format msgid "Object can't be printed for empty layer between %1% and %2%." -msgstr "L'objet ne peut pas être imprimé pour une couche vide entre %1% et %2%." +msgstr "" +"L'objet ne peut pas être imprimé pour une couche vide entre %1% et %2%." #, boost-format msgid "Object: %1%" msgstr "Objet : %1%" -msgid "Maybe parts of the object at these height are too thin, or the object has faulty mesh" +msgid "" +"Maybe parts of the object at these height are too thin, or the object has " +"faulty mesh" msgstr "" -"Il est possible que certaines parties de l'objet à cette hauteur sont trop fines ou que l'objet a un maillage défectueux" +"Il est possible que certaines parties de l'objet à cette hauteur sont trop " +"fines ou que l'objet a un maillage défectueux" msgid "No object can be printed. Maybe too small" -msgstr "Aucun objet ne peut être imprimé. Il est possible qu’il soit trop petit" +msgstr "" +"Aucun objet ne peut être imprimé. Il est possible qu’il soit trop petit" msgid "" "Failed to generate gcode for invalid custom G-code.\n" @@ -6070,7 +6444,9 @@ msgstr "" "\n" msgid "Please check the custom G-code or use the default custom G-code." -msgstr "Veuillez vérifier le G-code personnalisé ou utiliser le G-code personnalisé par défaut." +msgstr "" +"Veuillez vérifier le G-code personnalisé ou utiliser le G-code personnalisé " +"par défaut." #, boost-format msgid "Generating G-code: layer %1%" @@ -6114,7 +6490,9 @@ msgstr "Multiple" #, boost-format msgid "Failed to calculate line width of %1%. Can not get value of \"%2%\" " -msgstr "Échec du calcul de la largeur de ligne de %1%. Impossible d'obtenir la valeur de \"%2%\" " +msgstr "" +"Échec du calcul de la largeur de ligne de %1%. Impossible d'obtenir la " +"valeur de \"%2%\" " msgid "undefined error" msgstr "erreur indéfinie" @@ -6210,75 +6588,121 @@ msgid "write callback failed" msgstr "échec du rappel d'écriture" #, boost-format -msgid "%1% is too close to exclusion area, there may be collisions when printing." -msgstr "%1% est trop proche de la zone d'exclusion, cela pourrait provoquer des collisions lors de l'impression." +msgid "" +"%1% is too close to exclusion area, there may be collisions when printing." +msgstr "" +"%1% est trop proche de la zone d'exclusion, cela pourrait provoquer des " +"collisions lors de l'impression." #, boost-format msgid "%1% is too close to others, and collisions may be caused." -msgstr "%1% est trop proche des autres objets, cela pourrait provoquer des collisions." +msgstr "" +"%1% est trop proche des autres objets, cela pourrait provoquer des " +"collisions." #, boost-format msgid "%1% is too tall, and collisions will be caused." msgstr "%1% est trop grand, cela pourrait provoquer des collisions." msgid " is too close to others, there may be collisions when printing." -msgstr " est trop proche des autres objets, cela pourrait provoquer des collisions lors de l’impression." +msgstr "" +" est trop proche des autres objets, cela pourrait provoquer des collisions " +"lors de l’impression." msgid " is too close to exclusion area, there may be collisions when printing." -msgstr " est trop proche de la zone d'exclusion, cela pourrait provoquer des collisions lors de l'impression." +msgstr "" +" est trop proche de la zone d'exclusion, cela pourrait provoquer des " +"collisions lors de l'impression." msgid "Prime Tower" msgstr "Tour de purge" msgid " is too close to others, and collisions may be caused.\n" -msgstr " est trop proche des autres objets. Cela pourrait provoquer des collisions.\n" +msgstr "" +" est trop proche des autres objets. Cela pourrait provoquer des collisions.\n" msgid " is too close to exclusion area, and collisions will be caused.\n" -msgstr " est trop proche de la zone d'exclusion. Cela va entraîner des collisions.\n" +msgstr "" +" est trop proche de la zone d'exclusion. Cela va entraîner des collisions.\n" msgid "" -"Can not print multiple filaments which have large difference of temperature together. Otherwise, the extruder and nozzle " -"may be blocked or damaged during printing" +"Can not print multiple filaments which have large difference of temperature " +"together. Otherwise, the extruder and nozzle may be blocked or damaged " +"during printing" msgstr "" -"Impossible d'imprimer plusieurs filaments qui ont une grande différence de température ensemble. Cela pourrait entraîner " -"un blocage de l'extrudeur ou de la buse pendant l'impression voir même être endommagés" +"Impossible d'imprimer plusieurs filaments qui ont une grande différence de " +"température ensemble. Cela pourrait entraîner un blocage de l'extrudeur ou " +"de la buse pendant l'impression voir même être endommagés" msgid "No extrusions under current settings." msgstr "Aucune extrusion dans les paramètres actuels." -msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." -msgstr "Le mode lisse du Timelapse n'est pas pris en charge lorsque la séquence d’impression \"Par objet\" est activée." - -msgid "Please select \"By object\" print sequence to print multiple objects in spiral vase mode." -msgstr "Veuillez sélectionner la séquence d'impression \"Par objet\" pour imprimer plusieurs objets en mode vase." - -msgid "The spiral vase mode does not work when an object contains more than one materials." -msgstr "Le mode vase ne fonctionne pas lorsqu'un objet contient plusieurs matériaux." - -msgid "The prime tower is not supported in \"By object\" print." -msgstr "La tour de purge n'est pas prise en charge avec la séquence d’impression \"Par objet\"." +msgid "Bed temperatures for the used filaments differ significantly." +msgstr "" msgid "" -"The prime tower is not supported when adaptive layer height is on. It requires that all objects have the same layer " -"height." +"Smooth mode of timelapse is not supported when \"by object\" sequence is " +"enabled." msgstr "" -"La tour de purge n'est pas prise en charge lorsque la hauteur de couche adaptative est activée. Cela nécessite que tous " -"les objets aient la même hauteur de couche." +"Le mode lisse du Timelapse n'est pas pris en charge lorsque la séquence " +"d’impression \"Par objet\" est activée." + +msgid "" +"Please select \"By object\" print sequence to print multiple objects in " +"spiral vase mode." +msgstr "" +"Veuillez sélectionner la séquence d'impression \"Par objet\" pour imprimer " +"plusieurs objets en mode vase." + +msgid "" +"The spiral vase mode does not work when an object contains more than one " +"materials." +msgstr "" +"Le mode vase ne fonctionne pas lorsqu'un objet contient plusieurs matériaux." + +msgid "The prime tower is not supported in \"By object\" print." +msgstr "" +"La tour de purge n'est pas prise en charge avec la séquence d’impression " +"\"Par objet\"." + +msgid "" +"The prime tower is not supported when adaptive layer height is on. It " +"requires that all objects have the same layer height." +msgstr "" +"La tour de purge n'est pas prise en charge lorsque la hauteur de couche " +"adaptative est activée. Cela nécessite que tous les objets aient la même " +"hauteur de couche." msgid "The prime tower requires \"support gap\" to be multiple of layer height" -msgstr "La tour de purge nécessite que \"l’espace de support\" soit un multiple de la hauteur de la couche" +msgstr "" +"La tour de purge nécessite que \"l’espace de support\" soit un multiple de " +"la hauteur de la couche" msgid "The prime tower requires that all objects have the same layer heights" -msgstr "La tour de purge nécessite que tous les objets aient les mêmes hauteurs de couche" +msgstr "" +"La tour de purge nécessite que tous les objets aient les mêmes hauteurs de " +"couche" -msgid "The prime tower requires that all objects are printed over the same number of raft layers" -msgstr "La tour de purge nécessite que tous les objets soient imprimés avec le même nombre de couches de radeau" +msgid "" +"The prime tower requires that all objects are printed over the same number " +"of raft layers" +msgstr "" +"La tour de purge nécessite que tous les objets soient imprimés avec le même " +"nombre de couches de radeau" -msgid "The prime tower requires that all objects are sliced with the same layer heights." -msgstr "La tour de purge nécessite que tous les objets soient découpés avec les mêmes hauteurs de couche." +msgid "" +"The prime tower requires that all objects are sliced with the same layer " +"heights." +msgstr "" +"La tour de purge nécessite que tous les objets soient découpés avec les " +"mêmes hauteurs de couche." -msgid "The prime tower is only supported if all objects have the same variable layer height" -msgstr "La tour de purge n'est prise en charge que si tous les objets ont la même hauteur de couche variable" +msgid "" +"The prime tower is only supported if all objects have the same variable " +"layer height" +msgstr "" +"La tour de purge n'est prise en charge que si tous les objets ont la même " +"hauteur de couche variable" msgid "Too small line width" msgstr "Largeur de ligne trop petite" @@ -6286,11 +6710,17 @@ msgstr "Largeur de ligne trop petite" msgid "Too large line width" msgstr "Largeur de ligne trop grande" -msgid "The prime tower requires that support has the same layer height with object." -msgstr "La tour de purge nécessite que le support ait la même hauteur de couche que l'objet." +msgid "" +"The prime tower requires that support has the same layer height with object." +msgstr "" +"La tour de purge nécessite que le support ait la même hauteur de couche que " +"l'objet." -msgid "Support enforcers are used but support is not enabled. Please enable support." -msgstr "Les supports forcés sont utilisés mais les supports ne sont pas activés. Veuillez les activer." +msgid "" +"Support enforcers are used but support is not enabled. Please enable support." +msgstr "" +"Les supports forcés sont utilisés mais les supports ne sont pas activés. " +"Veuillez les activer." msgid "Layer height cannot exceed nozzle diameter" msgstr "La hauteur de la couche ne peut pas dépasser le diamètre de la buse" @@ -6318,12 +6748,14 @@ msgid "Bed exclude area" msgstr "Zone d'exclusion du plateau" msgid "" -"Unprintable area in XY plane. For example, X1 Series printers use the front left corner to cut filament during filament " -"change. The area is expressed as polygon by points in following format: \"XxY, XxY, ...\"" +"Unprintable area in XY plane. For example, X1 Series printers use the front " +"left corner to cut filament during filament change. The area is expressed as " +"polygon by points in following format: \"XxY, XxY, ...\"" msgstr "" -"Zone non imprimable dans le plan X-Y. Par exemple, les imprimantes de la série X1 utilisent le coin avant gauche pour " -"couper le filament lors du changement de filament. La surface est exprimée sous forme de polygone par points au format " -"suivant : \"XxY, XxY, …\"" +"Zone non imprimable dans le plan X-Y. Par exemple, les imprimantes de la " +"série X1 utilisent le coin avant gauche pour couper le filament lors du " +"changement de filament. La surface est exprimée sous forme de polygone par " +"points au format suivant : \"XxY, XxY, …\"" msgid "Bed custom texture" msgstr "Texture personnalisée du plateau" @@ -6334,13 +6766,19 @@ msgstr "Modèle de plateau personnalisé" msgid "Elephant foot compensation" msgstr "Compensation du pied d'éléphant" -msgid "Shrink the initial layer on build plate to compensate for elephant foot effect" -msgstr "Rétrécis la couche initiale sur le plateau pour compenser l'effet de pied d'éléphant" - -msgid "Slicing height for each layer. Smaller layer height means more accurate and more printing time" +msgid "" +"Shrink the initial layer on build plate to compensate for elephant foot " +"effect" msgstr "" -"Hauteur de chaque couche. Une hauteur de couche plus petite signifie plus de précision et une plus longue durée " -"d'impression" +"Rétrécis la couche initiale sur le plateau pour compenser l'effet de pied " +"d'éléphant" + +msgid "" +"Slicing height for each layer. Smaller layer height means more accurate and " +"more printing time" +msgstr "" +"Hauteur de chaque couche. Une hauteur de couche plus petite signifie plus de " +"précision et une plus longue durée d'impression" msgid "Printable height" msgstr "Hauteur imprimable" @@ -6355,30 +6793,37 @@ msgid "Hostname, IP or URL" msgstr "Nom d'hôte, IP ou URL" msgid "" -"Slic3r can upload G-code files to a printer host. This field should contain the hostname, IP address or URL of the " -"printer host instance. Print host behind HAProxy with basic auth enabled can be accessed by putting the user name and " -"password into the URL in the following format: https://username:password@your-octopi-address/" +"Slic3r can upload G-code files to a printer host. This field should contain " +"the hostname, IP address or URL of the printer host instance. Print host " +"behind HAProxy with basic auth enabled can be accessed by putting the user " +"name and password into the URL in the following format: https://username:" +"password@your-octopi-address/" msgstr "" -"Slic3r peut télécharger des fichiers G-code sur une imprimante hôte. Ce champ doit contenir le nom d'hôte, l'adresse IP " -"ou l'URL de l'instance de l'imprimante hôte. L'hôte d'impression derrière HAProxy avec l'authentification de base " -"activée est accessible en saisissant le nom d'utilisateur et le mot de passe dans l'URL au format suivant : https://" +"Slic3r peut télécharger des fichiers G-code sur une imprimante hôte. Ce " +"champ doit contenir le nom d'hôte, l'adresse IP ou l'URL de l'instance de " +"l'imprimante hôte. L'hôte d'impression derrière HAProxy avec " +"l'authentification de base activée est accessible en saisissant le nom " +"d'utilisateur et le mot de passe dans l'URL au format suivant : https://" "nomutilisateur:motdepasse@votre-adresse-octopi/" msgid "Device UI" msgstr "Interface utilisateur de l’appareil" -msgid "Specify the URL of your device user interface if it's not same as print_host" -msgstr "Spécifiez l’URL de l’interface utilisateur de votre appareil si elle n’est pas identique à print_host" +msgid "" +"Specify the URL of your device user interface if it's not same as print_host" +msgstr "" +"Spécifiez l’URL de l’interface utilisateur de votre appareil si elle n’est " +"pas identique à print_host" msgid "API Key / Password" msgstr "Clé API / Mot de passe" msgid "" -"Slic3r can upload G-code files to a printer host. This field should contain the API Key or the password required for " -"authentication." +"Slic3r can upload G-code files to a printer host. This field should contain " +"the API Key or the password required for authentication." msgstr "" -"Slic3r peut télécharger des fichiers G-code sur l'imprimante hôte. Ce champ doit contenir la clé API ou le mot de passe " -"requis pour l'authentification." +"Slic3r peut télécharger des fichiers G-code sur l'imprimante hôte. Ce champ " +"doit contenir la clé API ou le mot de passe requis pour l'authentification." msgid "Name of the printer" msgstr "Nom de l'imprimante" @@ -6387,11 +6832,13 @@ msgid "HTTPS CA File" msgstr "Fichier CA HTTPS" msgid "" -"Custom CA certificate file can be specified for HTTPS OctoPrint connections, in crt/pem format. If left blank, the " -"default OS CA certificate repository is used." +"Custom CA certificate file can be specified for HTTPS OctoPrint connections, " +"in crt/pem format. If left blank, the default OS CA certificate repository " +"is used." msgstr "" -"Un fichier de certificat CA personnalisé peut être spécifié pour les connexions HTTPS OctoPrint, au format crt/pem. S'il " -"n'est pas renseigné, le référentiel de certificats OS CA par défaut est utilisé." +"Un fichier de certificat CA personnalisé peut être spécifié pour les " +"connexions HTTPS OctoPrint, au format crt/pem. S'il n'est pas renseigné, le " +"référentiel de certificats OS CA par défaut est utilisé." msgid "User" msgstr "Utilisateur" @@ -6403,11 +6850,13 @@ msgid "Ignore HTTPS certificate revocation checks" msgstr "Ignorer les vérifications de révocation de certificat HTTPS" msgid "" -"Ignore HTTPS certificate revocation checks in case of missing or offline distribution points. One may want to enable " -"this option for self signed certificates if connection fails." +"Ignore HTTPS certificate revocation checks in case of missing or offline " +"distribution points. One may want to enable this option for self signed " +"certificates if connection fails." msgstr "" -"Ignore les vérifications de révocation de certificat HTTPS en cas de points de distribution manquants ou hors ligne. On " -"peut vouloir activer cette option pour les certificats auto-signés si la connexion échoue." +"Ignore les vérifications de révocation de certificat HTTPS en cas de points " +"de distribution manquants ou hors ligne. On peut vouloir activer cette " +"option pour les certificats auto-signés si la connexion échoue." msgid "Names of presets related to the physical printer" msgstr "Noms des préréglages liés à l'imprimante physique" @@ -6425,19 +6874,23 @@ msgid "Avoid crossing wall" msgstr "Éviter de traverser les parois" msgid "Detour and avoid to travel across wall which may cause blob on surface" -msgstr "Faire un détour et éviter de traverser les parois ce qui pourrait causer des taches sur la surface" +msgstr "" +"Faire un détour et éviter de traverser les parois ce qui pourrait causer des " +"taches sur la surface" msgid "Avoid crossing wall - Max detour length" msgstr "Éviter de traverser les parois - Longueur maximale du détour" msgid "" -"Maximum detour distance for avoiding crossing wall. Don't detour if the detour distance is large than this value. Detour " -"length could be specified either as an absolute value or as percentage (for example 50%) of a direct travel path. Zero " -"to disable" +"Maximum detour distance for avoiding crossing wall. Don't detour if the " +"detour distance is large than this value. Detour length could be specified " +"either as an absolute value or as percentage (for example 50%) of a direct " +"travel path. Zero to disable" msgstr "" -"Distance de détour maximale pour éviter de traverser les parois. Ne pas faire de détour si la distance de détour est " -"supérieure à la valeur définie. La longueur du détour peut être spécifiée soit en valeur absolue, soit en pourcentage " -"(par exemple 50 %) d'un trajet direct. Valeur à 0 pour désactiver" +"Distance de détour maximale pour éviter de traverser les parois. Ne pas " +"faire de détour si la distance de détour est supérieure à la valeur définie. " +"La longueur du détour peut être spécifiée soit en valeur absolue, soit en " +"pourcentage (par exemple 50 %) d'un trajet direct. Valeur à 0 pour désactiver" msgid "mm or %" msgstr "mm ou %" @@ -6446,34 +6899,39 @@ msgid "Other layers" msgstr "Autres couches" msgid "" -"Bed temperature for layers except the initial one. Value 0 means the filament does not support to print on the Cool Plate" +"Bed temperature for layers except the initial one. Value 0 means the " +"filament does not support to print on the Cool Plate" msgstr "" -"Température du plateau de toutes les couches à l'exception de la première. La valeur 0 signifie que le filament ne prend " -"pas en charge l'impression sur le plateau Bambu Cool Plate" +"Température du plateau de toutes les couches à l'exception de la première. " +"La valeur 0 signifie que le filament ne prend pas en charge l'impression sur " +"le plateau Bambu Cool Plate" msgid "°C" msgstr "°C" msgid "" -"Bed temperature for layers except the initial one. Value 0 means the filament does not support to print on the " -"Engineering Plate" +"Bed temperature for layers except the initial one. Value 0 means the " +"filament does not support to print on the Engineering Plate" msgstr "" -"Température du plateau de toutes les couches à l'exception de la première. La valeur 0 signifie que le filament ne prend " -"pas en charge l'impression sur le plateau Bambu Engineering Plate" +"Température du plateau de toutes les couches à l'exception de la première. " +"La valeur 0 signifie que le filament ne prend pas en charge l'impression sur " +"le plateau Bambu Engineering Plate" msgid "" -"Bed temperature for layers except the initial one. Value 0 means the filament does not support to print on the High Temp " -"Plate" +"Bed temperature for layers except the initial one. Value 0 means the " +"filament does not support to print on the High Temp Plate" msgstr "" -"Température du plateau de toutes les couches à l'exception de la première. La valeur 0 signifie que le filament ne prend " -"pas en charge l'impression sur le plateau Bambu High Temperature Plate" +"Température du plateau de toutes les couches à l'exception de la première. " +"La valeur 0 signifie que le filament ne prend pas en charge l'impression sur " +"le plateau Bambu High Temperature Plate" msgid "" -"Bed temperature for layers except the initial one. Value 0 means the filament does not support to print on the Textured " -"PEI Plate" +"Bed temperature for layers except the initial one. Value 0 means the " +"filament does not support to print on the Textured PEI Plate" msgstr "" -"Température du plateau de toutes les couches à l’exception de la première. La valeur 0 signifie que le filament ne prend " -"pas en charge l'impression sur le plateau Bambu Dual-Sided Textured PEI Plate" +"Température du plateau de toutes les couches à l’exception de la première. " +"La valeur 0 signifie que le filament ne prend pas en charge l'impression sur " +"le plateau Bambu Dual-Sided Textured PEI Plate" msgid "Initial layer" msgstr "Couche initiale" @@ -6481,26 +6939,37 @@ msgstr "Couche initiale" msgid "Initial layer bed temperature" msgstr "Température du plateau lors de la couche initiale" -msgid "Bed temperature of the initial layer. Value 0 means the filament does not support to print on the Cool Plate" +msgid "" +"Bed temperature of the initial layer. Value 0 means the filament does not " +"support to print on the Cool Plate" msgstr "" -"Température du plateau lors de la couche initiale. La valeur 0 signifie que le filament ne prend pas en charge " -"l'impression sur le plateau Bambu Cool Plate" - -msgid "Bed temperature of the initial layer. Value 0 means the filament does not support to print on the Engineering Plate" -msgstr "" -"Température du plateau lors de la couche initiale. La valeur 0 signifie que le filament ne prend pas en charge " -"l'impression sur le plateau Bambu Engineering Plate" - -msgid "Bed temperature of the initial layer. Value 0 means the filament does not support to print on the High Temp Plate" -msgstr "" -"Température du plateau lors de la couche initiale. La valeur 0 signifie que le filament ne prend pas en charge " -"l'impression sur le plateau Bambu High Temperature Plate" +"Température du plateau lors de la couche initiale. La valeur 0 signifie que " +"le filament ne prend pas en charge l'impression sur le plateau Bambu Cool " +"Plate" msgid "" -"Bed temperature of the initial layer. Value 0 means the filament does not support to print on the Textured PEI Plate" +"Bed temperature of the initial layer. Value 0 means the filament does not " +"support to print on the Engineering Plate" msgstr "" -"Température du plateau lors de la couche initiale. La valeur 0 signifie que le filament ne prend pas en charge " -"l'impression sur le plateau Bambu Dual-Sided Textured PEI Plate" +"Température du plateau lors de la couche initiale. La valeur 0 signifie que " +"le filament ne prend pas en charge l'impression sur le plateau Bambu " +"Engineering Plate" + +msgid "" +"Bed temperature of the initial layer. Value 0 means the filament does not " +"support to print on the High Temp Plate" +msgstr "" +"Température du plateau lors de la couche initiale. La valeur 0 signifie que " +"le filament ne prend pas en charge l'impression sur le plateau Bambu High " +"Temperature Plate" + +msgid "" +"Bed temperature of the initial layer. Value 0 means the filament does not " +"support to print on the Textured PEI Plate" +msgstr "" +"Température du plateau lors de la couche initiale. La valeur 0 signifie que " +"le filament ne prend pas en charge l'impression sur le plateau Bambu Dual-" +"Sided Textured PEI Plate" msgid "Bed types supported by the printer" msgstr "Types de plateaux pris en charge par l'imprimante" @@ -6512,116 +6981,148 @@ msgid "Bottom shell layers" msgstr "Nombre de couches des coques inférieures" msgid "" -"This is the number of solid layers of bottom shell, including the bottom surface layer. When the thickness calculated by " -"this value is thinner than bottom shell thickness, the bottom shell layers will be increased" +"This is the number of solid layers of bottom shell, including the bottom " +"surface layer. When the thickness calculated by this value is thinner than " +"bottom shell thickness, the bottom shell layers will be increased" msgstr "" -"Il s'agit du nombre de couches solides des coques inférieures, y compris la couche de surface inférieure. Lorsque " -"l'épaisseur calculée par cette valeur est plus fine que l'épaisseur de la coque inférieure, les couches de la coque " -"inférieure sont augmentées" +"Il s'agit du nombre de couches solides des coques inférieures, y compris la " +"couche de surface inférieure. Lorsque l'épaisseur calculée par cette valeur " +"est plus fine que l'épaisseur de la coque inférieure, les couches de la " +"coque inférieure sont augmentées" msgid "Bottom shell thickness" msgstr "Épaisseur des coques inférieures" msgid "" -"The number of bottom solid layers is increased when slicing if the thickness calculated by bottom shell layers is " -"thinner than this value. This can avoid having too thin shell when layer height is small. 0 means that this setting is " -"disabled and thickness of bottom shell is absolutely determained by bottom shell layers" +"The number of bottom solid layers is increased when slicing if the thickness " +"calculated by bottom shell layers is thinner than this value. This can avoid " +"having too thin shell when layer height is small. 0 means that this setting " +"is disabled and thickness of bottom shell is absolutely determained by " +"bottom shell layers" msgstr "" -"Le nombre de couches solides inférieures est augmenté lors du découpage si l'épaisseur calculée par les couches de coque " -"inférieures est inférieure à la valeur définie. Cela peut éviter d'avoir une coque trop fine lorsque la hauteur de " -"couche est faible. Une valeur à 0 signifie que ce paramètre est désactivé et que l'épaisseur de la coque inférieure est " -"uniquement déterminée par les couches de la coque inférieure" +"Le nombre de couches solides inférieures est augmenté lors du découpage si " +"l'épaisseur calculée par les couches de coque inférieures est inférieure à " +"la valeur définie. Cela peut éviter d'avoir une coque trop fine lorsque la " +"hauteur de couche est faible. Une valeur à 0 signifie que ce paramètre est " +"désactivé et que l'épaisseur de la coque inférieure est uniquement " +"déterminée par les couches de la coque inférieure" msgid "Force cooling for overhang and bridge" msgstr "Forcer la ventilation des surplombs et ponts" -msgid "Enable this option to optimize part cooling fan speed for overhang and bridge to get better cooling" +msgid "" +"Enable this option to optimize part cooling fan speed for overhang and " +"bridge to get better cooling" msgstr "" -"Cette option permet d’optimiser la vitesse du ventilateur de refroidissement pour les surplombs et les ponts afin " -"d'obtenir un meilleur refroidissement" +"Cette option permet d’optimiser la vitesse du ventilateur de refroidissement " +"pour les surplombs et les ponts afin d'obtenir un meilleur refroidissement" msgid "Fan speed for overhang" msgstr "Vitesse du ventilateur pour les surplombs et ponts" msgid "" -"Force part cooling fan to be this speed when printing bridge or overhang wall which has large overhang degree. Forcing " -"cooling for overhang and bridge can get better quality for these part" +"Force part cooling fan to be this speed when printing bridge or overhang " +"wall which has large overhang degree. Forcing cooling for overhang and " +"bridge can get better quality for these part" msgstr "" -"Forcer le ventilateur de refroidissement à être à cette vitesse lors de l'impression d'un pont ou d'une paroi qui a un " -"degré de surplomb important. Cela permet d’obtenir une meilleure qualité" +"Forcer le ventilateur de refroidissement à être à cette vitesse lors de " +"l'impression d'un pont ou d'une paroi qui a un degré de surplomb important. " +"Cela permet d’obtenir une meilleure qualité" msgid "Cooling overhang threshold" msgstr "Seuil de surplomb" +#, fuzzy, c-format msgid "" -"Force cooling fan to be specific speed when overhang degree of printed part exceeds this value. Expressed as percentage " -"which indicides how much width of the line without support from lower layer. 0% means forcing cooling for all outer wall " -"no matter how much overhang degree" +"Force cooling fan to be specific speed when overhang degree of printed part " +"exceeds this value. Expressed as percentage which indicides how much width " +"of the line without support from lower layer. 0% means forcing cooling for " +"all outer wall no matter how much overhang degree" msgstr "" -"Forcer le ventilateur de refroidissement à une vitesse spécifique lorsque le degré de surplomb de la pièce imprimée " -"dépasse la valeur définie. Exprimée en pourcentage qui indique la largeur de la ligne sans support de la couche " -"inférieure. Une valeur à 0% force le refroidissement pour toutes les parois extérieures, quel que soit le degré de " -"surplomb" +"Forcer le ventilateur de refroidissement à une vitesse spécifique lorsque le " +"degré de surplomb de la pièce imprimée dépasse la valeur définie. Exprimée " +"en pourcentage qui indique la largeur de la ligne sans support de la couche " +"inférieure. Une valeur à 0% force le refroidissement pour toutes les parois " +"extérieures, quel que soit le degré de surplomb" -msgid "Bridge direction" -msgstr "Direction des ponts" +msgid "Bridge infill direction" +msgstr "Direction du remplissage des ponts" msgid "" -"Bridging angle override. If left to zero, the bridging angle will be calculated automatically. Otherwise the provided " -"angle will be used for external bridges. Use 180°for zero angle." +"Bridging angle override. If left to zero, the bridging angle will be " +"calculated automatically. Otherwise the provided angle will be used for " +"external bridges. Use 180°for zero angle." msgstr "" -"Outrepasser l'angle de pontage. S'il est laissé à 0°, l'angle de pontage sera calculé automatiquement. Sinon, l'angle " -"fourni sera utilisé pour les ponts externes. Utilisez 180° pour un angle nul." +"Outrepasser l'angle de pontage. S'il est laissé à 0°, l'angle de pontage " +"sera calculé automatiquement. Sinon, l'angle fourni sera utilisé pour les " +"ponts externes. Utilisez 180° pour un angle nul." msgid "Bridge density" msgstr "Densité des ponts" msgid "Density of external bridges. 100% means solid bridge. Default is 100%." -msgstr "Densité des ponts externes, Une valeur à 100%% signifie un pont solide. La valeur par défaut est 100%." +msgstr "" +"Densité des ponts externes, Une valeur à 100%% signifie un pont solide. La " +"valeur par défaut est 100%." msgid "Bridge flow" msgstr "Débit des ponts" -msgid "Decrease this value slightly(for example 0.9) to reduce the amount of material for bridge, to improve sag" +msgid "" +"Decrease this value slightly(for example 0.9) to reduce the amount of " +"material for bridge, to improve sag" msgstr "" -"Diminuez légèrement cette valeur (par exemple 0.9) pour réduire la quantité de matériaux pour le pont, pour améliorer " -"l'affaissement" +"Diminuez légèrement cette valeur (par exemple 0.9) pour réduire la quantité " +"de matériaux pour le pont, pour améliorer l'affaissement" msgid "Top surface flow ratio" msgstr "Débit des surfaces supérieures" msgid "" -"This factor affects the amount of material for top solid infill. You can decrease it slightly to have smooth surface " -"finish" +"This factor affects the amount of material for top solid infill. You can " +"decrease it slightly to have smooth surface finish" msgstr "" -"Ce facteur affecte la quantité de matériau pour le remplissage solide supérieur. Vous pouvez le diminuer légèrement pour " -"avoir une finition de surface lisse" +"Ce facteur affecte la quantité de matériau pour le remplissage solide " +"supérieur. Vous pouvez le diminuer légèrement pour avoir une finition de " +"surface lisse" msgid "Bottom surface flow ratio" msgstr "Débit des surfaces inférieures" msgid "This factor affects the amount of material for bottom solid infill" -msgstr "Ce facteur affecte la quantité de matériau pour le remplissage solide inférieur" +msgstr "" +"Ce facteur affecte la quantité de matériau pour le remplissage solide " +"inférieur" msgid "Precise wall(experimental)" msgstr "Parois précises (expérimental)" -msgid "Improve shell precision by adjusting outer wall spacing. This also improves layer consistency." +msgid "" +"Improve shell precision by adjusting outer wall spacing. This also improves " +"layer consistency." msgstr "" -"Améliorer la précision de la coque en ajustant l’espacement des murs extérieurs. Cela améliore également la consistance " -"des couches." +"Améliorer la précision de la coque en ajustant l’espacement des murs " +"extérieurs. Cela améliore également la consistance des couches." msgid "Only one wall on top surfaces" msgstr "Une seule paroi sur les surfaces supérieures" -msgid "Use only one wall on flat top surface, to give more space to the top infill pattern" -msgstr "Utiliser qu'une seule paroi sur une surface plane pour donner plus d'espace au motif de remplissage supérieur" +msgid "" +"Use only one wall on flat top surface, to give more space to the top infill " +"pattern" +msgstr "" +"Utiliser qu'une seule paroi sur une surface plane pour donner plus d'espace " +"au motif de remplissage supérieur" msgid "Only one wall on first layer" msgstr "Une seule paroi sur la première couche" -msgid "Use only one wall on first layer, to give more space to the bottom infill pattern" -msgstr "Utiliser qu’une seule paroi sur la première couche, pour donner plus d’espace au motif de remplissage inférieur" +msgid "" +"Use only one wall on first layer, to give more space to the bottom infill " +"pattern" +msgstr "" +"Utiliser qu’une seule paroi sur la première couche, pour donner plus " +"d’espace au motif de remplissage inférieur" msgid "Classic mode" msgstr "Classique" @@ -6651,11 +7152,12 @@ msgid "Brim type" msgstr "Type de bordure" msgid "" -"This controls the generation of the brim at outer and/or inner side of models. Auto means the brim width is analysed and " -"calculated automatically." +"This controls the generation of the brim at outer and/or inner side of " +"models. Auto means the brim width is analysed and calculated automatically." msgstr "" -"Cela contrôle la génération de la bordure extérieure et/ou intérieure des modèles. Automatique signifie que la largeur " -"de la bordure est analysée et calculée automatiquement." +"Cela contrôle la génération de la bordure extérieure et/ou intérieure des " +"modèles. Automatique signifie que la largeur de la bordure est analysée et " +"calculée automatiquement." msgid "outer_only" msgstr "Bordure extérieure uniquement" @@ -6669,8 +7171,12 @@ msgstr "Bordure extérieure et intérieure" msgid "Brim-object gap" msgstr "Distance entre la bordure et l'objet" -msgid "A gap between innermost brim line and object can make brim be removed more easily" -msgstr "Espace entre la ligne la plus interne de la bordure et l'objet. Cela peut faciliter le retrait de la bordure" +msgid "" +"A gap between innermost brim line and object can make brim be removed more " +"easily" +msgstr "" +"Espace entre la ligne la plus interne de la bordure et l'objet. Cela peut " +"faciliter le retrait de la bordure" msgid "Compatible machine" msgstr "Imprimantes compatibles" @@ -6700,19 +7206,26 @@ msgid "Slow printing down for better layer cooling" msgstr "Ralentir l’impression pour un meilleur refroidissement" msgid "" -"Enable this option to slow printing speed down to make the final layer time not shorter than the layer time threshold in " -"\"Max fan speed threshold\", so that layer can be cooled for longer time. This can improve the cooling quality for " -"needle and small details" +"Enable this option to slow printing speed down to make the final layer time " +"not shorter than the layer time threshold in \"Max fan speed threshold\", so " +"that layer can be cooled for longer time. This can improve the cooling " +"quality for needle and small details" msgstr "" -"Cette option permet de ralentir la vitesse d'impression afin que la durée de couche finale ne soit pas plus courte que " -"le seuil de la durée de couche dans \"Seuil de vitesse maximale\", afin que cette couche puisse être refroidie plus " -"longtemps. Cela peut améliorer la qualité de refroidissement pour les petits détails" +"Cette option permet de ralentir la vitesse d'impression afin que la durée de " +"couche finale ne soit pas plus courte que le seuil de la durée de couche " +"dans \"Seuil de vitesse maximale\", afin que cette couche puisse être " +"refroidie plus longtemps. Cela peut améliorer la qualité de refroidissement " +"pour les petits détails" msgid "Normal printing" msgstr "Impression normale" -msgid "The default acceleration of both normal printing and travel except initial layer" -msgstr "L'accélération par défaut de l'impression normale et du déplacement à l'exception de la couche initiale" +msgid "" +"The default acceleration of both normal printing and travel except initial " +"layer" +msgstr "" +"L'accélération par défaut de l'impression normale et du déplacement à " +"l'exception de la couche initiale" msgid "mm/s²" msgstr "mm/s²" @@ -6727,17 +7240,19 @@ msgid "Default process profile" msgstr "Profil de processus par défaut" msgid "Default process profile when switch to this machine profile" -msgstr "Profil de processus par défaut lors du passage à ce profil d’imprimante" +msgstr "" +"Profil de processus par défaut lors du passage à ce profil d’imprimante" msgid "No cooling for the first" msgstr "Pas de ventilation pour la/les première(s)" msgid "" -"Close all cooling fan for the first certain layers. Cooling fan of the first layer used to be closed to get better build " -"plate adhesion" +"Close all cooling fan for the first certain layers. Cooling fan of the first " +"layer used to be closed to get better build plate adhesion" msgstr "" -"Arrêter tous les ventilateurs de refroidissement pour certaines premières couches. Un arrêt des ventilateurs permet " -"d’obtenir une meilleure adhérence de la première couche sur le plateau" +"Arrêter tous les ventilateurs de refroidissement pour certaines premières " +"couches. Un arrêt des ventilateurs permet d’obtenir une meilleure adhérence " +"de la première couche sur le plateau" msgid "layers" msgstr "couches" @@ -6746,32 +7261,37 @@ msgid "Don't support bridges" msgstr "Ne pas supporter les ponts" msgid "" -"Don't support the whole bridge area which make support very large. Bridge usually can be printing directly without " -"support if not very long" +"Don't support the whole bridge area which make support very large. Bridge " +"usually can be printing directly without support if not very long" msgstr "" -"Ne pas supporter toute la zone du pont, ce qui rend le support plus large. Les ponts peuvent généralement s'imprimer " -"directement sans support s'ils ne sont pas très longs" +"Ne pas supporter toute la zone du pont, ce qui rend le support plus large. " +"Les ponts peuvent généralement s'imprimer directement sans support s'ils ne " +"sont pas très longs" msgid "Thick bridges" msgstr "Ponts épais" msgid "" -"If enabled, bridges are more reliable, can bridge longer distances, but may look worse. If disabled, bridges look better " -"but are reliable just for shorter bridged distances." +"If enabled, bridges are more reliable, can bridge longer distances, but may " +"look worse. If disabled, bridges look better but are reliable just for " +"shorter bridged distances." msgstr "" -"S'ils sont activés, les ponts sont plus fiables, peuvent couvrir de plus longues distances, mais peuvent sembler moins " -"bons. S'ils sont désactivés, les ponts ont une meilleure apparence mais ne sont fiables que pour des distances plus " -"courtes." +"S'ils sont activés, les ponts sont plus fiables, peuvent couvrir de plus " +"longues distances, mais peuvent sembler moins bons. S'ils sont désactivés, " +"les ponts ont une meilleure apparence mais ne sont fiables que pour des " +"distances plus courtes." msgid "Max bridge length" msgstr "Longueur maximale des ponts" msgid "" -"Max length of bridges that don't need support. Set it to 0 if you want all bridges to be supported, and set it to a very " -"large value if you don't want any bridges to be supported." +"Max length of bridges that don't need support. Set it to 0 if you want all " +"bridges to be supported, and set it to a very large value if you don't want " +"any bridges to be supported." msgstr "" -"Il s'agit de la longueur maximale des ponts qui n'ont pas besoin de support. Une valeur à 0 permet que tous les ponts " -"soient pris en charge, une valeur très élevée permet qu'aucun pont ne soit pris en charge." +"Il s'agit de la longueur maximale des ponts qui n'ont pas besoin de support. " +"Une valeur à 0 permet que tous les ponts soient pris en charge, une valeur " +"très élevée permet qu'aucun pont ne soit pris en charge." msgid "End G-code" msgstr "G-code de fin" @@ -6785,23 +7305,23 @@ msgstr "G-code lorsque l'impression de ce filament est terminée" msgid "Ensure vertical shell thickness" msgstr "Veiller à l'épaisseur verticale de la coque" -msgid "Add solid infill near sloping surfaces to guarantee the vertical shell thickness (top+bottom solid layers)" +msgid "" +"Add solid infill near sloping surfaces to guarantee the vertical shell " +"thickness (top+bottom solid layers)" msgstr "" -"Ajouter un remplissage solide près des surfaces en pente pour garantir l'épaisseur verticale de la coque (couches " -"solides supérieures + inférieures)" +"Ajouter un remplissage solide près des surfaces en pente pour garantir " +"l'épaisseur verticale de la coque (couches solides supérieures + inférieures)" msgid "Internal bridge support thickness" msgstr "Épaisseur des supports de ponts internes" msgid "" -"If enabled, Studio will generate support loops under the contours of internal bridges.These support loops could prevent " -"internal bridges from extruding over the air and improve the top surface quality, especially when the sparse infill " -"density is low.This value determines the thickness of the support loops. 0 means disable this feature" +"If enabled, support loops will be generated under the contours of internal " +"bridges.These support loops could prevent internal bridges from extruding " +"over the air and improve the top surface quality, especially when the sparse " +"infill density is low.This value determines the thickness of the support " +"loops. 0 means disable this feature" msgstr "" -"Si cette option est activée, Bambu Studio génère des boucles de support sous les contours des ponts internes. Ces " -"boucles de support peuvent empêcher les ponts internes de s'extruder dans le vide et améliorer la qualité de la surface " -"supérieure, en particulier lorsque la densité de remplissage est faible. Cette valeur détermine l'épaisseur de boucles " -"de soutien. Une valeur à 0 signifie que cette fonctionnalité est désactivée" msgid "Top surface pattern" msgstr "Motif des surfaces supérieures" @@ -6837,28 +7357,34 @@ msgid "Bottom surface pattern" msgstr "Motif des surfaces inférieures" msgid "Line pattern of bottom surface infill, not bridge infill" -msgstr "Motif de ligne du remplissage de la surface inférieure, et non pas du remplissage du pont" +msgstr "" +"Motif de ligne du remplissage de la surface inférieure, et non pas du " +"remplissage du pont" msgid "Line width of outer wall" msgstr "Largeur de ligne de la paroi extérieure" msgid "" -"Speed of outer wall which is outermost and visible. It's used to be slower than inner wall speed to get better quality." +"Speed of outer wall which is outermost and visible. It's used to be slower " +"than inner wall speed to get better quality." msgstr "" -"Vitesse de la paroi qui est la plus à l'extérieur et visible. Elle est utilisée pour être plus lente que la vitesse de " -"la paroi interne pour obtenir une meilleure qualité." +"Vitesse de la paroi qui est la plus à l'extérieur et visible. Elle est " +"utilisée pour être plus lente que la vitesse de la paroi interne pour " +"obtenir une meilleure qualité." msgid "Small perimeters" msgstr "Petits périmètres" msgid "" -"This separate setting will affect the speed of perimeters having radius <= small_perimeter_threshold (usually holes). If " -"expressed as percentage (for example: 80%) it will be calculated on the outer wall speed setting above. Set to zero for " -"auto." +"This separate setting will affect the speed of perimeters having radius <= " +"small_perimeter_threshold (usually holes). If expressed as percentage (for " +"example: 80%) it will be calculated on the outer wall speed setting above. " +"Set to zero for auto." msgstr "" -"Ce paramètre séparé affectera la vitesse des périmètres ayant un rayon <= petite longueur de périmètre (généralement des " -"trous). S’il est exprimé en pourcentage (par exemple : 80%), il sera calculé sur la vitesse du mur extérieur ci-dessus. " -"Mettre à zéro pour automatique." +"Ce paramètre séparé affectera la vitesse des périmètres ayant un rayon <= " +"petite longueur de périmètre (généralement des trous). S’il est exprimé en " +"pourcentage (par exemple : 80%), il sera calculé sur la vitesse du mur " +"extérieur ci-dessus. Mettre à zéro pour automatique." msgid "mm/s or %" msgstr "mm/s ou %" @@ -6866,14 +7392,18 @@ msgstr "mm/s ou %" msgid "Small perimeters threshold" msgstr "Seuil des petits périmètres" -msgid "This sets the threshold for small perimeter length. Default threshold is 0mm" -msgstr "Cela définit le seuil pour une petite longueur de périmètre. Le seuil par défaut est de 0 mm" +msgid "" +"This sets the threshold for small perimeter length. Default threshold is 0mm" +msgstr "" +"Cela définit le seuil pour une petite longueur de périmètre. Le seuil par " +"défaut est de 0 mm" msgid "Order of inner wall/outer wall/infil" msgstr "Ordre des parois" msgid "Print sequence of inner wall, outer wall and infill. " -msgstr "Séquence d'impression de la paroi intérieure, extérieure et du remplissage. " +msgstr "" +"Séquence d'impression de la paroi intérieure, extérieure et du remplissage. " msgid "inner/outer/infill" msgstr "Intérieure / Extérieure / Remplissage" @@ -6893,18 +7423,29 @@ msgstr "Intérieure / Extérieure / Intérieure / Remplissage" msgid "Height to rod" msgstr "Hauteur à la tige" -msgid "Distance of the nozzle tip to the lower rod. Used for collision avoidance in by-object printing." +msgid "" +"Distance of the nozzle tip to the lower rod. Used for collision avoidance in " +"by-object printing." msgstr "" -"Distance de la pointe de la buse à la tige inférieure. Utilisée pour éviter les collisions dans l'impression par objet." +"Distance de la pointe de la buse à la tige inférieure. Utilisée pour éviter " +"les collisions dans l'impression par objet." msgid "Height to lid" msgstr "Hauteur au couvercle" -msgid "Distance of the nozzle tip to the lid. Used for collision avoidance in by-object printing." -msgstr "Distance de la pointe de la buse au couvercle. Utilisée pour éviter les collisions dans l'impression par objet." +msgid "" +"Distance of the nozzle tip to the lid. Used for collision avoidance in by-" +"object printing." +msgstr "" +"Distance de la pointe de la buse au couvercle. Utilisée pour éviter les " +"collisions dans l'impression par objet." -msgid "Clearance radius around extruder. Used for collision avoidance in by-object printing." -msgstr "Rayon autour de la tête d’impression. Utilisé pour éviter les collisions dans l'impression par objet." +msgid "" +"Clearance radius around extruder. Used for collision avoidance in by-object " +"printing." +msgstr "" +"Rayon autour de la tête d’impression. Utilisé pour éviter les collisions " +"dans l'impression par objet." msgid "Extruder Color" msgstr "Couleur de l'extrudeur" @@ -6919,20 +7460,28 @@ msgid "Flow ratio" msgstr "Ratio du débit" msgid "" -"The material may have volumetric change after switching between molten state and crystalline state. This setting changes " -"all extrusion flow of this filament in gcode proportionally. Recommended value range is between 0.95 and 1.05. Maybe you " -"can tune this value to get nice flat surface when there has slight overflow or underflow" +"The material may have volumetric change after switching between molten state " +"and crystalline state. This setting changes all extrusion flow of this " +"filament in gcode proportionally. Recommended value range is between 0.95 " +"and 1.05. Maybe you can tune this value to get nice flat surface when there " +"has slight overflow or underflow" msgstr "" -"Le matériau peut avoir un changement volumétrique après avoir basculé de l'état fondu à l'état cristallin. Ce paramètre " -"modifie proportionnellement tout le flux d'extrusion de ce filament dans le gcode. La plage de valeurs recommandée est " -"comprise entre 0.95 et 1.05. Vous devrez peut-être ajuster cette valeur pour obtenir une belle surface plane en cas de " -"légère sur-extrusion ou sous-extrusion" +"Le matériau peut avoir un changement volumétrique après avoir basculé de " +"l'état fondu à l'état cristallin. Ce paramètre modifie proportionnellement " +"tout le flux d'extrusion de ce filament dans le gcode. La plage de valeurs " +"recommandée est comprise entre 0.95 et 1.05. Vous devrez peut-être ajuster " +"cette valeur pour obtenir une belle surface plane en cas de légère sur-" +"extrusion ou sous-extrusion" msgid "Enable pressure advance" msgstr "Activer le Pressure Advance" -msgid "Enable pressure advance, auto calibration result will be overwriten once enabled." -msgstr "Activer le Pressure Advance, le résultat de l’auto calibration sera écrasé une fois activé." +msgid "" +"Enable pressure advance, auto calibration result will be overwriten once " +"enabled." +msgstr "" +"Activer le Pressure Advance, le résultat de l’auto calibration sera écrasé " +"une fois activé." msgid "Pressure advance(Klipper) AKA Linear advance factor(Marlin)" msgstr "Pressure Advance (Klipper) AKA Linear Advance (Marlin)" @@ -6944,22 +7493,25 @@ msgid "Keep fan always on" msgstr "Ventilateur toujours actif" msgid "" -"If enable this setting, part cooling fan will never be stoped and will run at least at minimum speed to reduce the " -"frequency of starting and stoping" +"If enable this setting, part cooling fan will never be stoped and will run " +"at least at minimum speed to reduce the frequency of starting and stoping" msgstr "" -"Si ce paramètre est activé, le ventilateur de refroidissement ne sera jamais arrêté et fonctionnera au minimum à la " -"vitesse minimale pour réduire la fréquence de démarrage et d'arrêt" +"Si ce paramètre est activé, le ventilateur de refroidissement ne sera jamais " +"arrêté et fonctionnera au minimum à la vitesse minimale pour réduire la " +"fréquence de démarrage et d'arrêt" msgid "Layer time" msgstr "Durée de couche" msgid "" -"Part cooling fan will be enabled for layers of which estimated time is shorter than this value. Fan speed is " -"interpolated between the minimum and maximum fan speeds according to layer printing time" +"Part cooling fan will be enabled for layers of which estimated time is " +"shorter than this value. Fan speed is interpolated between the minimum and " +"maximum fan speeds according to layer printing time" msgstr "" -"Le ventilateur de refroidissement sera activé pour les couches dont la durée estimée est inférieure à la valeur définie. " -"La vitesse du ventilateur est interpolée entre les vitesses minimales et maximales du ventilateur en fonction de la " -"durée d'impression de la couche" +"Le ventilateur de refroidissement sera activé pour les couches dont la durée " +"estimée est inférieure à la valeur définie. La vitesse du ventilateur est " +"interpolée entre les vitesses minimales et maximales du ventilateur en " +"fonction de la durée d'impression de la couche" msgid "s" msgstr "s" @@ -6976,18 +7528,22 @@ msgstr "Couleur" msgid "Required nozzle HRC" msgstr "HRC de la buse nécessaire" -msgid "Minimum HRC of nozzle required to print the filament. Zero means no checking of nozzle's HRC." +msgid "" +"Minimum HRC of nozzle required to print the filament. Zero means no checking " +"of nozzle's HRC." msgstr "" -"HRC minimum de la buse nécessaire pour imprimer le filament. Une valeur à 0 signifie aucune vérification du HRC de la " -"buse." +"HRC minimum de la buse nécessaire pour imprimer le filament. Une valeur à 0 " +"signifie aucune vérification du HRC de la buse." msgid "" -"This setting stands for how much volume of filament can be melted and extruded per second. Printing speed is limited by " -"max volumetric speed, in case of too high and unreasonable speed setting. Can't be zero" +"This setting stands for how much volume of filament can be melted and " +"extruded per second. Printing speed is limited by max volumetric speed, in " +"case of too high and unreasonable speed setting. Can't be zero" msgstr "" -"Ce paramètre représente le volume de filament pouvant être fondu et extrudé par seconde. La vitesse d'impression est " -"limitée par la vitesse volumétrique maximale, en cas de réglage d’une vitesse trop élevée et déraisonnable. Cette valeur " -"ne peut pas être à 0" +"Ce paramètre représente le volume de filament pouvant être fondu et extrudé " +"par seconde. La vitesse d'impression est limitée par la vitesse volumétrique " +"maximale, en cas de réglage d’une vitesse trop élevée et déraisonnable. " +"Cette valeur ne peut pas être à 0" msgid "mm³/s" msgstr "mm³/s" @@ -6996,46 +7552,59 @@ msgid "Minimal purge on wipe tower" msgstr "Purge minimale sur la tour d’essuyage" msgid "" -"After a tool change, the exact position of the newly loaded filament inside the nozzle may not be known, and the " -"filament pressure is likely not yet stable. Before purging the print head into an infill or a sacrificial object, Slic3r " -"will always prime this amount of material into the wipe tower to produce successive infill or sacrificial object " -"extrusions reliably." +"After a tool change, the exact position of the newly loaded filament inside " +"the nozzle may not be known, and the filament pressure is likely not yet " +"stable. Before purging the print head into an infill or a sacrificial " +"object, Slic3r will always prime this amount of material into the wipe tower " +"to produce successive infill or sacrificial object extrusions reliably." msgstr "" -"Après un changement d’outil, la position exacte du filament nouvellement chargé à l’intérieur de la buse peut ne pas " -"être connue et la pression du filament n’est probablement pas encore stable. Avant de purger la tête d’impression dans " -"un remplissage ou un objet, Slic3r amorcera toujours cette quantité de matériau dans la tour d’essuyage pour purger dans " -"les remplissages ou objets de manière fiable." +"Après un changement d’outil, la position exacte du filament nouvellement " +"chargé à l’intérieur de la buse peut ne pas être connue et la pression du " +"filament n’est probablement pas encore stable. Avant de purger la tête " +"d’impression dans un remplissage ou un objet, Slic3r amorcera toujours cette " +"quantité de matériau dans la tour d’essuyage pour purger dans les " +"remplissages ou objets de manière fiable." msgid "Filament load time" msgstr "Durée de chargement du filament" msgid "Time to load new filament when switch filament. For statistics only" -msgstr "Durée pour charger un nouveau filament lors du changement de filament. Pour les statistiques uniquement" +msgstr "" +"Durée pour charger un nouveau filament lors du changement de filament. Pour " +"les statistiques uniquement" msgid "Filament unload time" msgstr "Durée de déchargement du filament" msgid "Time to unload old filament when switch filament. For statistics only" -msgstr "Durée pour décharger l'ancien filament lors du changement de filament. Pour les statistiques uniquement" - -msgid "Filament diameter is used to calculate extrusion in gcode, so it's important and should be accurate" msgstr "" -"Le diamètre du filament est utilisé pour calculer les variables d'extrusion dans le G-code, il est donc important qu'il " -"soit exact et précis" +"Durée pour décharger l'ancien filament lors du changement de filament. Pour " +"les statistiques uniquement" + +msgid "" +"Filament diameter is used to calculate extrusion in gcode, so it's important " +"and should be accurate" +msgstr "" +"Le diamètre du filament est utilisé pour calculer les variables d'extrusion " +"dans le G-code, il est donc important qu'il soit exact et précis" msgid "Shrinkage" msgstr "Rétrécissement" +#, fuzzy, c-format, boost-format msgid "" -"Enter the shrinkage percentage that the filament will get after cooling (94% if you measure 94mm instead of 100mm). The " -"part will be scaled in xy to compensate. Only the filament used for the perimeter is taken into account.\n" -"Be sure to allow enough space between objects, as this compensation is done after the checks." +"Enter the shrinkage percentage that the filament will get after cooling " +"(94% if you measure 94mm instead of 100mm). The part will be scaled in xy to " +"compensate. Only the filament used for the perimeter is taken into account.\n" +"Be sure to allow enough space between objects, as this compensation is done " +"after the checks." msgstr "" -"Entrez le pourcentage de retrait que le filament obtiendra après refroidissement (94% si vous mesurez 94mm au lieu de " -"100mm). La pièce sera mise à l’échelle en X-Y pour compenser. Seul le filament utilisé pour le périmètre est pris en " -"compte.\n" -"Assurez-vous de laisser suffisamment d’espace entre les objets, car cette compensation est effectuée après les " -"vérifications." +"Entrez le pourcentage de retrait que le filament obtiendra après " +"refroidissement (94% si vous mesurez 94mm au lieu de 100mm). La pièce sera " +"mise à l’échelle en X-Y pour compenser. Seul le filament utilisé pour le " +"périmètre est pris en compte.\n" +"Assurez-vous de laisser suffisamment d’espace entre les objets, car cette " +"compensation est effectuée après les vérifications." msgid "Density" msgstr "Densité" @@ -7052,20 +7621,30 @@ msgstr "Type de matériau du filament" msgid "Soluble material" msgstr "Matériau soluble" -msgid "Soluble material is commonly used to print support and support interface" -msgstr "Le matériau soluble est couramment utilisé pour imprimer les supports et les interfaces de support" +msgid "" +"Soluble material is commonly used to print support and support interface" +msgstr "" +"Le matériau soluble est couramment utilisé pour imprimer les supports et les " +"interfaces de support" msgid "Support material" msgstr "Matériau de supports" -msgid "Support material is commonly used to print support and support interface" -msgstr "Le matériau de supports est généralement utilisé pour imprimer les supports et les interfaces de support" +msgid "" +"Support material is commonly used to print support and support interface" +msgstr "" +"Le matériau de supports est généralement utilisé pour imprimer les supports " +"et les interfaces de support" msgid "Temperature of vitrificaiton" msgstr "Température de vitrification" -msgid "Material becomes soft at this temperature. Thus the heatbed cannot be hotter than this tempature" -msgstr "Température lorsque le matériau devient mou. Ainsi, le plateau ne peut pas être plus chaud que cette température" +msgid "" +"Material becomes soft at this temperature. Thus the heatbed cannot be hotter " +"than this tempature" +msgstr "" +"Température lorsque le matériau devient mou. Ainsi, le plateau ne peut pas " +"être plus chaud que cette température" msgid "Price" msgstr "Coût" @@ -7082,21 +7661,20 @@ msgstr "(Non défini)" msgid "Infill direction" msgstr "Direction du remplissage" -msgid "Angle for sparse infill pattern, which controls the start or main direction of line" -msgstr "Angle pour le motif de remplissage, qui contrôle le début ou la direction principale de la ligne" - -msgid "Bridge infill direction" -msgstr "Direction du remplissage des ponts" - -msgid "Angle for bridge infill pattern, which controls the start or main direction of line" -msgstr "Angle pour le motif de remplissage des ponts, qui contrôle le début ou la direction principale de la ligne" +msgid "" +"Angle for sparse infill pattern, which controls the start or main direction " +"of line" +msgstr "" +"Angle pour le motif de remplissage, qui contrôle le début ou la direction " +"principale de la ligne" msgid "Sparse infill density" msgstr "Densité de remplissage" #, c-format msgid "Density of internal sparse infill, 100% means solid throughout" -msgstr "Densité du remplissage interne, Une valeur à 100%% signifie solide partout" +msgstr "" +"Densité du remplissage interne, Une valeur à 100%% signifie solide partout" msgid "Sparse infill pattern" msgstr "Motif de remplissage" @@ -7134,6 +7712,64 @@ msgstr "Support cubique" msgid "Lightning" msgstr "Éclair" +msgid "Sparse infill anchor length" +msgstr "Longueur de l’ancrage de remplissage interne" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than infill_anchor_max is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to this parameter, but no longer than anchor_length_max. \n" +"Set this parameter to zero to disable anchoring perimeters connected to a " +"single infill line." +msgstr "" +"Connecter une ligne de remplissage à un périmètre interne avec un court " +"segment de périmètre supplémentaire. S’il est exprimé en pourcentage " +"(exemple : 15%), il est calculé sur la largeur de l’extrusion de " +"remplissage. Si aucun segment de périmètre plus court que infill_anchor_max " +"n’est trouvé, la ligne de remplissage est connectée à un segment de " +"périmètre d’un seul côté et la longueur du segment de périmètre pris est " +"limitée à ce paramètre, mais pas plus long que anchor_length_max.\n" +"Une valeur à 0 désactive les périmètres d’ancrage connectés à une seule " +"ligne de remplissage." + +msgid "0 (no open anchors)" +msgstr "0 (pas d’ancres ouvertes)" + +msgid "1000 (unlimited)" +msgstr "1000 (illimité)" + +msgid "Maximum length of the infill anchor" +msgstr "Longueur maximale de l’ancrage de remplissage" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than this parameter is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to infill_anchor, but no longer than this parameter. \n" +"If set to 0, the old algorithm for infill connection will be used, it should " +"create the same result as with 1000 & 0." +msgstr "" +"Connecter une ligne de remplissage à un périmètre interne avec un court " +"segment de périmètre supplémentaire. S’il est exprimé en pourcentage " +"(exemple : 15 %), il est calculé sur la largeur de l’extrusion de " +"remplissage. Slic3r essaie de connecter deux lignes de remplissage proches à " +"un court segment de périmètre. Si aucun segment de périmètre plus court que " +"ce paramètre n’est trouvé, la ligne de remplissage est connectée à un " +"segment de périmètre sur un seul côté et la longueur du segment de périmètre " +"pris est limitée à infill_anchor, mais pas plus longue que ce paramètre.\n" +"S’il est défini sur 0, l’ancien algorithme de connexion de remplissage sera " +"utilisé, il devrait créer le même résultat qu’avec 1000 et 0." + +msgid "0 (Simple connect)" +msgstr "0 (connexions simples)" + msgid "Acceleration of outer walls" msgstr "Accélération des parois extérieures" @@ -7143,41 +7779,52 @@ msgstr "Accélération des parois intérieures" msgid "Acceleration of travel moves" msgstr "Accélération des déplacements" -msgid "Acceleration of top surface infill. Using a lower value may improve top surface quality" +msgid "" +"Acceleration of top surface infill. Using a lower value may improve top " +"surface quality" msgstr "" -"Accélération du remplissage de la surface supérieure. L’utilisation d’une valeur plus basse peut améliorer la qualité de " -"la surface supérieure" +"Accélération du remplissage de la surface supérieure. L’utilisation d’une " +"valeur plus basse peut améliorer la qualité de la surface supérieure" msgid "Acceleration of outer wall. Using a lower value can improve quality" -msgstr "Accélération de la paroi extérieure. L'utilisation d'une valeur inférieure peut améliorer la qualité" +msgstr "" +"Accélération de la paroi extérieure. L'utilisation d'une valeur inférieure " +"peut améliorer la qualité" msgid "" -"Acceleration of bridges. If the value is expressed as a percentage (e.g. 50%), it will be calculated based on the outer " -"wall acceleration." +"Acceleration of bridges. If the value is expressed as a percentage (e.g. " +"50%), it will be calculated based on the outer wall acceleration." msgstr "" -"Accélération des ponts. Si la valeur est exprimée en pourcentage (par exemple 50%), elle sera calculée en fonction de " -"l’accélération de la paroi extérieure." +"Accélération des ponts. Si la valeur est exprimée en pourcentage (par " +"exemple 50%), elle sera calculée en fonction de l’accélération de la paroi " +"extérieure." msgid "mm/s² or %" msgstr "mm/s² or %" msgid "" -"Acceleration of sparse infill. If the value is expressed as a percentage (e.g. 100%), it will be calculated based on the " -"default acceleration." +"Acceleration of sparse infill. If the value is expressed as a percentage (e." +"g. 100%), it will be calculated based on the default acceleration." msgstr "" -"Accélération du remplissage interne. Si la valeur est exprimée en pourcentage (par exemple 100%), elle sera calculée en " -"fonction de l’accélération par défaut." +"Accélération du remplissage interne. Si la valeur est exprimée en " +"pourcentage (par exemple 100%), elle sera calculée en fonction de " +"l’accélération par défaut." msgid "" -"Acceleration of internal solid infill. If the value is expressed as a percentage (e.g. 100%), it will be calculated " -"based on the default acceleration." +"Acceleration of internal solid infill. If the value is expressed as a " +"percentage (e.g. 100%), it will be calculated based on the default " +"acceleration." msgstr "" -"Accélération du remplissage solide interne. Si la valeur est exprimée en pourcentage (par exemple 100%), elle sera " -"calculée en fonction de l’accélération par défaut." +"Accélération du remplissage solide interne. Si la valeur est exprimée en " +"pourcentage (par exemple 100%), elle sera calculée en fonction de " +"l’accélération par défaut." -msgid "Acceleration of initial layer. Using a lower value can improve build plate adhensive" +msgid "" +"Acceleration of initial layer. Using a lower value can improve build plate " +"adhensive" msgstr "" -"Accélération de la couche initiale. L'utilisation d'une valeur plus basse peut améliorer l'adhérence sur le plateau" +"Accélération de la couche initiale. L'utilisation d'une valeur plus basse " +"peut améliorer l'adhérence sur le plateau" msgid "Enable accel_to_decel" msgstr "Activer l’accélération à la décélération" @@ -7188,8 +7835,11 @@ msgstr "Le paramètre max_accel_to_decel de Klipper sera ajusté automatiquement msgid "accel_to_decel" msgstr "Ajuster l’accélération à la décélération" +#, fuzzy, c-format, boost-format msgid "Klipper's max_accel_to_decel will be adjusted to this % of acceleration" -msgstr "Le paramètre max_accel_to_decel de Klipper sera ajusté à ce pourcentage d’accélération" +msgstr "" +"Le paramètre max_accel_to_decel de Klipper sera ajusté à ce pourcentage " +"d’accélération" msgid "Jerk of outer walls" msgstr "Jerk des parois extérieures" @@ -7215,11 +7865,16 @@ msgstr "Largeur de ligne de la couche initiale" msgid "Initial layer height" msgstr "Hauteur de couche initiale" -msgid "Height of initial layer. Making initial layer height to be thick slightly can improve build plate adhension" -msgstr "Hauteur de la couche initiale. Une couche initiale légèrement épaisse peut améliorer l'adhérence sur le plateau" +msgid "" +"Height of initial layer. Making initial layer height to be thick slightly " +"can improve build plate adhension" +msgstr "" +"Hauteur de la couche initiale. Une couche initiale légèrement épaisse peut " +"améliorer l'adhérence sur le plateau" msgid "Speed of initial layer except the solid infill part" -msgstr "Vitesse de la couche initiale à l'exception des parties de remplissage solide" +msgstr "" +"Vitesse de la couche initiale à l'exception des parties de remplissage solide" msgid "Initial layer infill" msgstr "Remplissage solide" @@ -7233,20 +7888,63 @@ msgstr "Déplacements" msgid "Travel speed of initial layer" msgstr "Vitesse de déplacement de la couche initiale" +msgid "Number of slow layers" +msgstr "Nombre de couches lentes" + +msgid "" +"The first few layers are printed slower than normal. The speed is gradually " +"increased in a linear fashion over the specified number of layers." +msgstr "" +"Les premières couches sont imprimées plus lentement que la normale. La " +"vitesse augmente progressivement de manière linéaire sur le nombre de " +"couches spécifié." + msgid "Initial layer nozzle temperature" msgstr "Température de la buse de la couche initiale" msgid "Nozzle temperature to print initial layer when using this filament" -msgstr "Température de la buse pour imprimer la couche initiale lors de l'utilisation de ce filament" +msgstr "" +"Température de la buse pour imprimer la couche initiale lors de " +"l'utilisation de ce filament" msgid "Full fan speed at layer" msgstr "Vitesse maximale du ventilateur à la couche" msgid "" -"Randomly jitter while printing the wall, so that the surface has a rough look. This setting controls the fuzzy position" +"Fan speed will be ramped up linearly from zero at layer " +"\"close_fan_the_first_x_layers\" to maximum at layer \"full_fan_speed_layer" +"\". \"full_fan_speed_layer\" will be ignored if lower than " +"\"close_fan_the_first_x_layers\", in which case the fan will be running at " +"maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1." msgstr "" -"Gigue aléatoire lors de l'impression de la paroi, de sorte que la surface ait un aspect rugueux. Ce réglage contrôle la " -"position floue" +"La vitesse du ventilateur augmentera de manière linéaire à partir de zéro à " +"la couche \"close_fan_the_first_x_layers\" jusqu’au maximum à la couche " +"\"full_fan_speed_layer\". \"full_fan_speed_layer\" sera ignoré s’il est " +"inférieur à \"close_fan_the_first_x_layers\", auquel cas le ventilateur " +"fonctionnera à la vitesse maximale autorisée à la couche " +"\"close_fan_the_first_x_layers\" + 1." + +msgid "Support interface fan speed" +msgstr "Vitesse du ventilateur" + +msgid "" +"This fan speed is enforced during all support interfaces, to be able to " +"weaken their bonding with a high fan speed.\n" +"Set to -1 to disable this override.\n" +"Can only be overriden by disable_fan_first_layers." +msgstr "" +"Cette vitesse de ventilateur est appliquée pendant toutes les interfaces de " +"support, pour pouvoir affaiblir leur liaison avec une vitesse de ventilateur " +"élevée.\n" +"Réglez sur -1 pour désactiver ce remplacement.\n" +"Ne peut être remplacé que par disable_fan_first_layers." + +msgid "" +"Randomly jitter while printing the wall, so that the surface has a rough " +"look. This setting controls the fuzzy position" +msgstr "" +"Gigue aléatoire lors de l'impression de la paroi, de sorte que la surface " +"ait un aspect rugueux. Ce réglage contrôle la position floue" msgid "None" msgstr "Aucun" @@ -7263,15 +7961,22 @@ msgstr "Toutes les parois" msgid "Fuzzy skin thickness" msgstr "Épaisseur de surface floue" -msgid "The width within which to jitter. It's adversed to be below outer wall line width" +msgid "" +"The width within which to jitter. It's adversed to be below outer wall line " +"width" msgstr "" -"Largeur à l'intérieur de la gigue. Il est conseillé d'être en dessous de la largeur de ligne de la paroi extérieure." +"Largeur à l'intérieur de la gigue. Il est conseillé d'être en dessous de la " +"largeur de ligne de la paroi extérieure." msgid "Fuzzy skin point distance" msgstr "Distance du point de fuite" -msgid "The average diatance between the random points introducded on each line segment" -msgstr "Distance moyenne entre les points aléatoires introduits sur chaque segment de ligne" +msgid "" +"The average diatance between the random points introducded on each line " +"segment" +msgstr "" +"Distance moyenne entre les points aléatoires introduits sur chaque segment " +"de ligne" msgid "Filter out tiny gaps" msgstr "Filtrer les petits espaces" @@ -7279,43 +7984,57 @@ msgstr "Filtrer les petits espaces" msgid "Layers and Perimeters" msgstr "Couches et Périmètres" -msgid "Filter out gaps smaller than the threshold specified. This setting won't affact top/bottom layers" -msgstr "Filtrer les petits espaces au seuil spécifié. Ce paramètre n’affectera pas les couches supérieures/inférieures" - -msgid "Speed of gap infill. Gap usually has irregular line width and should be printed more slowly" +msgid "" +"Filter out gaps smaller than the threshold specified. This setting won't " +"affact top/bottom layers" msgstr "" -"Vitesse de remplissage des espaces. Ils ont généralement une largeur de ligne irrégulière et doivent être imprimés plus " -"lentement" +"Filtrer les petits espaces au seuil spécifié. Ce paramètre n’affectera pas " +"les couches supérieures/inférieures" + +msgid "" +"Speed of gap infill. Gap usually has irregular line width and should be " +"printed more slowly" +msgstr "" +"Vitesse de remplissage des espaces. Ils ont généralement une largeur de " +"ligne irrégulière et doivent être imprimés plus lentement" msgid "Arc fitting" msgstr "Fonction Arc" -msgid "Enable this to get a G-code file which has G2 and G3 moves. And the fitting tolerance is same with resolution" +msgid "" +"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " +"tolerance is same with resolution" msgstr "" -"Cette option permet d’obtenir un fichier G-code contenant des mouvements G2 et G3. Et la tolérance d'ajustement est la " -"même avec la résolution" +"Cette option permet d’obtenir un fichier G-code contenant des mouvements G2 " +"et G3. Et la tolérance d'ajustement est la même avec la résolution" msgid "Add line number" msgstr "Ajouter un numéro de ligne" msgid "Enable this to add line number(Nx) at the beginning of each G-Code line" -msgstr "Activer cette option pour ajouter un numéro de ligne (Nx) au début de chaque ligne G-Code" +msgstr "" +"Activer cette option pour ajouter un numéro de ligne (Nx) au début de chaque " +"ligne G-Code" msgid "Scan first layer" msgstr "Analyser la première couche" -msgid "Enable this to enable the camera on printer to check the quality of first layer" -msgstr "Cette option pour permettre à caméra de l'imprimante de vérifier la qualité de la première couche" +msgid "" +"Enable this to enable the camera on printer to check the quality of first " +"layer" +msgstr "" +"Cette option pour permettre à caméra de l'imprimante de vérifier la qualité " +"de la première couche" msgid "Nozzle type" msgstr "Type de buse" msgid "" -"The metallic material of nozzle. This determines the abrasive resistance of nozzle, and what kind of filament can be " -"printed" +"The metallic material of nozzle. This determines the abrasive resistance of " +"nozzle, and what kind of filament can be printed" msgstr "" -"Matériau métallique de la buse. Cela détermine la résistance à l'abrasion de la buse et le type de filament pouvant être " -"imprimé" +"Matériau métallique de la buse. Cela détermine la résistance à l'abrasion de " +"la buse et le type de filament pouvant être imprimé" msgid "Undefine" msgstr "Non défini" @@ -7332,15 +8051,66 @@ msgstr "Laiton" msgid "Nozzle HRC" msgstr "HRC Buse" -msgid "The nozzle's hardness. Zero means no checking for nozzle's hardness during slicing." +msgid "" +"The nozzle's hardness. Zero means no checking for nozzle's hardness during " +"slicing." msgstr "" -"Dureté de la buse. Une valeur à 0 signifie qu'il n'y a pas de vérification de la dureté de la buse pendant le découpage." +"Dureté de la buse. Une valeur à 0 signifie qu'il n'y a pas de vérification " +"de la dureté de la buse pendant le découpage." msgid "HRC" msgstr "HRC" msgid "Enable this option if machine has auxiliary part cooling fan" -msgstr "Activer cette option si l’imprimante est équipée d'un ventilateur de refroidissement auxiliaire" +msgstr "" +"Activer cette option si l’imprimante est équipée d'un ventilateur de " +"refroidissement auxiliaire" + +msgid "" +"Start the fan this number of seconds earlier than its target start time (you " +"can use fractional seconds). It assumes infinite acceleration for this time " +"estimation, and will only take into account G1 and G0 moves (arc fitting is " +"unsupported).\n" +"It won't move fan comands from custom gcodes (they act as a sort of " +"'barrier').\n" +"It won't move fan comands into the start gcode if the 'only custom start " +"gcode' is activated.\n" +"Use 0 to deactivate." +msgstr "" +"Démarrer le ventilateur plus tôt de ce nombre de secondes par rapport au " +"démarrage cible (vous pouvez utiliser des fractions de secondes). Cela " +"suppose une accélération infinie pour cette estimation de durée et ne prend " +"en compte que les mouvements G1 et G0 (l’ajustement arc n’est pas pris en " +"charge).\n" +"Cela ne déplacera pas les commandes de ventilateur des G-codes personnalisés " +"(ils agissent comme une sorte de \"barrière\").\n" +"Cela ne déplacera pas les commandes de ventilateur dans le G-code de " +"démarrage si seul le ‘G-code de démarrage personnalisé’ est activé.\n" +"Utiliser 0 pour désactiver." + +msgid "Only overhangs" +msgstr "Sur les surplombs uniquement" + +msgid "Will only take into account the delay for the cooling of overhangs." +msgstr "Ne prend en compte que le délai de refroidissement des surplombs." + +msgid "Fan kick-start time" +msgstr "Durée de démarrage du ventilateur" + +msgid "" +"Emit a max fan speed command for this amount of seconds before reducing to " +"target speed to kick-start the cooling fan.\n" +"This is useful for fans where a low PWM/power may be insufficient to get the " +"fan started spinning from a stop, or to get the fan up to speed faster.\n" +"Set to 0 to deactivate." +msgstr "" +"Émettre une commande de vitesse maximale du ventilateur pendant ce nombre de " +"secondes avant de réduire à la vitesse cible pour démarrer le ventilateur de " +"refroidissement.\n" +"Ceci est utile pour les ventilateurs où un faible PWM/puissance peut être " +"insuffisant pour redémarrer le ventilateur après un arrêt, ou pour faire " +"démarrer le ventilateur plus rapidement.\n" +"Mettre à 0 pour désactiver." msgid "G-code flavor" msgstr "Version de G-code" @@ -7355,39 +8125,46 @@ msgid "Label objects" msgstr "Label Objects" msgid "" -"Enable this to add comments into the G-Code labeling print moves with what object they belong to, which is useful for " -"the Octoprint CancelObject plugin. This settings is NOT compatible with Single Extruder Multi Material setup and Wipe " -"into Object / Wipe into Infill." +"Enable this to add comments into the G-Code labeling print moves with what " +"object they belong to, which is useful for the Octoprint CancelObject " +"plugin. This settings is NOT compatible with Single Extruder Multi Material " +"setup and Wipe into Object / Wipe into Infill." msgstr "" -"Permet d’ajouter des commentaires dans le G-code sur les mouvements d’impression de l’objet auquel ils appartiennent, ce " -"qui est utile pour le plug-in Octoprint CancelObject. Ce paramètre n’est PAS compatible avec la configuration multi-" -"matériaux avec un seul extrudeur et Purger dans l’objet / Purger dans le remplissage." +"Permet d’ajouter des commentaires dans le G-code sur les mouvements " +"d’impression de l’objet auquel ils appartiennent, ce qui est utile pour le " +"plug-in Octoprint CancelObject. Ce paramètre n’est PAS compatible avec la " +"configuration multi-matériaux avec un seul extrudeur et Purger dans " +"l’objet / Purger dans le remplissage." msgid "Exclude objects" msgstr "Exclure des objets" msgid "Enable this option to add EXCLUDE OBJECT command in g-code" -msgstr "Activer cette option pour ajouter la commande EXCLUDE OBJECT dans le G-code" +msgstr "" +"Activer cette option pour ajouter la commande EXCLUDE OBJECT dans le G-code" msgid "Verbose G-code" msgstr "G-code commenté" msgid "" -"Enable this to get a commented G-code file, with each line explained by a descriptive text. If you print from SD card, " -"the additional weight of the file could make your firmware slow down." +"Enable this to get a commented G-code file, with each line explained by a " +"descriptive text. If you print from SD card, the additional weight of the " +"file could make your firmware slow down." msgstr "" -"Activez cette option pour obtenir un fichier G-code commenté, chaque ligne étant expliquée par un texte descriptif. Si " -"vous imprimez à partir d’une carte SD, le poids supplémentaire du fichier pourrait ralentir le firmware." +"Activez cette option pour obtenir un fichier G-code commenté, chaque ligne " +"étant expliquée par un texte descriptif. Si vous imprimez à partir d’une " +"carte SD, le poids supplémentaire du fichier pourrait ralentir le firmware." msgid "Infill combination" msgstr "Combinaison de remplissage" msgid "" -"Automatically Combine sparse infill of several layers to print together to reduce time. Wall is still printed with " -"original layer height." +"Automatically Combine sparse infill of several layers to print together to " +"reduce time. Wall is still printed with original layer height." msgstr "" -"Combiner automatiquement plusieurs couches de remplissage à imprimer ensemble afin de réduire la durée. La paroi est " -"toujours imprimée avec la hauteur de couche d'origine." +"Combiner automatiquement plusieurs couches de remplissage à imprimer " +"ensemble afin de réduire la durée. La paroi est toujours imprimée avec la " +"hauteur de couche d'origine." msgid "Filament to print internal sparse infill." msgstr "Filament pour imprimer le remplissage interne." @@ -7399,11 +8176,12 @@ msgid "Infill/Wall overlap" msgstr "Chevauchement du remplissage et de la paroi" msgid "" -"Infill area is enlarged slightly to overlap with wall for better bonding. The percentage value is relative to line width " -"of sparse infill" +"Infill area is enlarged slightly to overlap with wall for better bonding. " +"The percentage value is relative to line width of sparse infill" msgstr "" -"La zone de remplissage est légèrement agrandie pour chevaucher le mur pour une meilleure adhérence. La valeur en " -"pourcentage est relative à la largeur de ligne du remplissage" +"La zone de remplissage est légèrement agrandie pour chevaucher le mur pour " +"une meilleure adhérence. La valeur en pourcentage est relative à la largeur " +"de ligne du remplissage" msgid "Speed of internal sparse infill" msgstr "Vitesse de remplissage interne" @@ -7412,21 +8190,24 @@ msgid "Interface shells" msgstr "Coque des interfaces" msgid "" -"Force the generation of solid shells between adjacent materials/volumes. Useful for multi-extruder prints with " -"translucent materials or manual soluble support material" +"Force the generation of solid shells between adjacent materials/volumes. " +"Useful for multi-extruder prints with translucent materials or manual " +"soluble support material" msgstr "" -"Forcer la génération de coques solides entre matériaux/volumes adjacents. Utile pour les impressions multi-extrudeuses " -"avec des matériaux translucides ou un matériau de support soluble" +"Forcer la génération de coques solides entre matériaux/volumes adjacents. " +"Utile pour les impressions multi-extrudeuses avec des matériaux translucides " +"ou un matériau de support soluble" msgid "Ironing Type" msgstr "Type de lissage" msgid "" -"Ironing is using small flow to print on same height of surface again to make flat surface more smooth. This setting " -"controls which layer being ironed" +"Ironing is using small flow to print on same height of surface again to make " +"flat surface more smooth. This setting controls which layer being ironed" msgstr "" -"Le lissage utilise un petit débit pour imprimer à nouveau sur la même hauteur de surface pour rendre la surface plane " -"plus lisse. Ce paramètre contrôle quelle couche doit être lissée" +"Le lissage utilise un petit débit pour imprimer à nouveau sur la même " +"hauteur de surface pour rendre la surface plane plus lisse. Ce paramètre " +"contrôle quelle couche doit être lissée" msgid "No ironing" msgstr "Pas de lissage" @@ -7444,11 +8225,12 @@ msgid "Ironing flow" msgstr "Débit de lissage" msgid "" -"The amount of material to extrude during ironing. Relative to flow of normal layer height. Too high value results in " -"overextrusion on the surface" +"The amount of material to extrude during ironing. Relative to flow of normal " +"layer height. Too high value results in overextrusion on the surface" msgstr "" -"Quantité de matière à extruder lors du lissage. Relatif au débit de la hauteur de couche normale. Une valeur trop élevée " -"entraîne une sur-extrusion en surface" +"Quantité de matière à extruder lors du lissage. Relatif au débit de la " +"hauteur de couche normale. Une valeur trop élevée entraîne une sur-extrusion " +"en surface" msgid "Ironing line spacing" msgstr "Espacement des lignes de lissage" @@ -7463,18 +8245,26 @@ msgid "Print speed of ironing lines" msgstr "Vitesse d'impression des lignes de lissage" msgid "This gcode part is inserted at every layer change after lift z" -msgstr "Cette partie gcode est insérée à chaque changement de couche après une levée en Z" +msgstr "" +"Cette partie gcode est insérée à chaque changement de couche après une levée " +"en Z" msgid "Supports silent mode" msgstr "Prise en charge du mode silencieux" -msgid "Whether the machine supports silent mode in which machine use lower acceleration to print" -msgstr "Prise en charge du mode silencieux dans lequel l’imprimante utilise une accélération plus faible pour imprimer" - -msgid "This G-code will be used as a code for the pause print. User can insert pause G-code in gcode viewer" +msgid "" +"Whether the machine supports silent mode in which machine use lower " +"acceleration to print" msgstr "" -"Ce G-code sera utilisé comme code pour la pause d'impression. L'utilisateur peut insérer un G-code de pause dans la " -"visionneuse G-code" +"Prise en charge du mode silencieux dans lequel l’imprimante utilise une " +"accélération plus faible pour imprimer" + +msgid "" +"This G-code will be used as a code for the pause print. User can insert " +"pause G-code in gcode viewer" +msgstr "" +"Ce G-code sera utilisé comme code pour la pause d'impression. L'utilisateur " +"peut insérer un G-code de pause dans la visionneuse G-code" msgid "This G-code will be used as a custom code" msgstr "Ce G-code sera utilisé comme code personnalisé" @@ -7588,39 +8378,46 @@ msgid "Fan speed" msgstr "Vitesse du ventilateur" msgid "" -"Part cooling fan speed may be increased when auto cooling is enabled. This is the maximum speed limitation of part " -"cooling fan" +"Part cooling fan speed may be increased when auto cooling is enabled. This " +"is the maximum speed limitation of part cooling fan" msgstr "" -"La vitesse du ventilateur de refroidissement peut être augmentée lorsque le refroidissement automatique est activé. Il " -"s'agit de la limitation de vitesse maximale du ventilateur de refroidissement" +"La vitesse du ventilateur de refroidissement peut être augmentée lorsque le " +"refroidissement automatique est activé. Il s'agit de la limitation de " +"vitesse maximale du ventilateur de refroidissement" msgid "Max" msgstr "Maximum" msgid "" -"The largest printable layer height for extruder. Used tp limits the maximum layer hight when enable adaptive layer height" +"The largest printable layer height for extruder. Used tp limits the maximum " +"layer hight when enable adaptive layer height" msgstr "" -"La plus grande hauteur de couche imprimable pour l'extrudeur. Utilisé pour limiter la hauteur de couche maximale lorsque " -"la hauteur de couche adaptative est activée" +"La plus grande hauteur de couche imprimable pour l'extrudeur. Utilisé pour " +"limiter la hauteur de couche maximale lorsque la hauteur de couche " +"adaptative est activée" msgid "Minimum speed for part cooling fan" msgstr "Vitesse minimale du ventilateur de refroidissement" msgid "" -"Speed of auxiliary part cooling fan. Auxiliary fan will run at this speed during printing except the first several " -"layers which is defined by no cooling layers" +"Speed of auxiliary part cooling fan. Auxiliary fan will run at this speed " +"during printing except the first several layers which is defined by no " +"cooling layers" msgstr "" -"Vitesse du ventilateur de refroidissement auxiliaire. Le ventilateur auxiliaire fonctionnera à cette vitesse pendant " -"l'impression, à l'exception des premières couches définies sans refroidissement" +"Vitesse du ventilateur de refroidissement auxiliaire. Le ventilateur " +"auxiliaire fonctionnera à cette vitesse pendant l'impression, à l'exception " +"des premières couches définies sans refroidissement" msgid "Min" msgstr "Minimum" msgid "" -"The lowest printable layer height for extruder. Used tp limits the minimum layer hight when enable adaptive layer height" +"The lowest printable layer height for extruder. Used tp limits the minimum " +"layer hight when enable adaptive layer height" msgstr "" -"La plus petite hauteur de couche imprimable pour l'extrudeur. Utilisé pour limiter la hauteur de couche minimale lorsque " -"la hauteur de couche adaptative est activée" +"La plus petite hauteur de couche imprimable pour l'extrudeur. Utilisé pour " +"limiter la hauteur de couche minimale lorsque la hauteur de couche " +"adaptative est activée" msgid "Min print speed" msgstr "Vitesse d'impression minimale" @@ -7637,30 +8434,39 @@ msgstr "Diamètre de la buse" msgid "Host Type" msgstr "Type d'hôte" -msgid "Slic3r can upload G-code files to a printer host. This field must contain the kind of the host." -msgstr "Slic3r peut télécharger des fichiers G-code sur une imprimante hôte. Ce champ doit contenir le genre de l'hôte." +msgid "" +"Slic3r can upload G-code files to a printer host. This field must contain " +"the kind of the host." +msgstr "" +"Slic3r peut télécharger des fichiers G-code sur une imprimante hôte. Ce " +"champ doit contenir le genre de l'hôte." msgid "Nozzle volume" msgstr "Volume de la buse" msgid "Volume of nozzle between the cutter and the end of nozzle" -msgstr "Volume de la buse entre le coupeur de filament et l'extrémité de la buse" +msgstr "" +"Volume de la buse entre le coupeur de filament et l'extrémité de la buse" msgid "Start end points" msgstr "Points de départ et d’arrivée" msgid "The start and end points which is from cutter area to garbage can." -msgstr "Points de départ et d’arrivée qui vont de la zone de coupe à la poubelle." +msgstr "" +"Points de départ et d’arrivée qui vont de la zone de coupe à la poubelle." msgid "Reduce infill retraction" msgstr "Réduire les rétractions lors du remplissage" msgid "" -"Don't retract when the travel is in infill area absolutely. That means the oozing can't been seen. This can reduce times " -"of retraction for complex model and save printing time, but make slicing and G-code generating slower" +"Don't retract when the travel is in infill area absolutely. That means the " +"oozing can't been seen. This can reduce times of retraction for complex " +"model and save printing time, but make slicing and G-code generating slower" msgstr "" -"Ne pas rétracter lorsque le déplacement se trouve dans la zone de remplissage. Cela peut réduire les temps de rétraction " -"pour les modèles complexes et réduire la durée d'impression, mais rend le découpage et la génération du G-code plus lent" +"Ne pas rétracter lorsque le déplacement se trouve dans la zone de " +"remplissage. Cela peut réduire les temps de rétraction pour les modèles " +"complexes et réduire la durée d'impression, mais rend le découpage et la " +"génération du G-code plus lent" msgid "Enable" msgstr "Activer" @@ -7669,18 +8475,21 @@ msgid "Filename format" msgstr "Format du nom de fichier" msgid "User can self-define the project file name when export" -msgstr "L'utilisateur peut définir lui-même le nom du fichier de projet lors de l'exportation" +msgstr "" +"L'utilisateur peut définir lui-même le nom du fichier de projet lors de " +"l'exportation" msgid "Detect overhang wall" msgstr "Détecter une paroi en surplomb" #, c-format, boost-format msgid "" -"Detect the overhang percentage relative to line width and use different speed to print. For 100%% overhang, bridge speed " -"is used." +"Detect the overhang percentage relative to line width and use different " +"speed to print. For 100%% overhang, bridge speed is used." msgstr "" -"Détecter le pourcentage de surplomb par rapport à la largeur de la ligne et utilisez une vitesse différente pour " -"imprimer. Pour un surplomb de 100%%, la vitesse du pont est utilisée." +"Détecter le pourcentage de surplomb par rapport à la largeur de la ligne et " +"utilisez une vitesse différente pour imprimer. Pour un surplomb de 100%%, la " +"vitesse du pont est utilisée." msgid "Line width of inner wall" msgstr "Largeur de ligne de la paroi intérieure" @@ -7692,19 +8501,25 @@ msgid "Number of walls of every layer" msgstr "Nombre de parois de chaque couche" msgid "" -"If you want to process the output G-code through custom scripts, just list their absolute paths here. Separate multiple " -"scripts with a semicolon. Scripts will be passed the absolute path to the G-code file as the first argument, and they " -"can access the Slic3r config settings by reading environment variables." +"If you want to process the output G-code through custom scripts, just list " +"their absolute paths here. Separate multiple scripts with a semicolon. " +"Scripts will be passed the absolute path to the G-code file as the first " +"argument, and they can access the Slic3r config settings by reading " +"environment variables." msgstr "" -"Si vous souhaitez traiter le code G de sortie via des scripts personnalisés, indiquez simplement leurs chemins absolus " -"ici. Séparez plusieurs scripts par un point-virgule. Les scripts recevront le chemin absolu vers le fichier G-code comme " -"premier argument, et ils peuvent accéder aux paramètres de configuration Slic3r en lisant les variables d’environnement." +"Si vous souhaitez traiter le code G de sortie via des scripts personnalisés, " +"indiquez simplement leurs chemins absolus ici. Séparez plusieurs scripts par " +"un point-virgule. Les scripts recevront le chemin absolu vers le fichier G-" +"code comme premier argument, et ils peuvent accéder aux paramètres de " +"configuration Slic3r en lisant les variables d’environnement." msgid "Raft contact Z distance" msgstr "Distance Z de contact du radeau" msgid "Z gap between object and raft. Ignored for soluble interface" -msgstr "Espace Z entre l'objet et le radeau. Ignoré pour les interfaces de support solubles" +msgstr "" +"Espace Z entre l'objet et le radeau. Ignoré pour les interfaces de support " +"solubles" msgid "Raft expansion" msgstr "Expansion du radeau" @@ -7722,32 +8537,48 @@ msgid "Initial layer expansion" msgstr "Expension de la couche initiale" msgid "Expand the first raft or support layer to improve bed plate adhesion" -msgstr "Expension de la première couche du radeau pour améliorer l'adhérence sur le plateau" +msgstr "" +"Expension de la première couche du radeau pour améliorer l'adhérence sur le " +"plateau" msgid "Raft layers" msgstr "Couches du radeau" -msgid "Object will be raised by this number of support layers. Use this function to avoid wrapping when print ABS" -msgstr "Nombre de couches du radeau. Utilisez cette fonction pour éviter la déformation lors de l'impression ABS" +msgid "" +"Object will be raised by this number of support layers. Use this function to " +"avoid wrapping when print ABS" +msgstr "" +"Nombre de couches du radeau. Utilisez cette fonction pour éviter la " +"déformation lors de l'impression ABS" msgid "" -"G-code path is genereated after simplifing the contour of model to avoid too much points and gcode lines in gcode file. " -"Smaller value means higher resolution and more time to slice" +"G-code path is genereated after simplifing the contour of model to avoid too " +"much points and gcode lines in gcode file. Smaller value means higher " +"resolution and more time to slice" msgstr "" -"Le chemin du G-code est généré après avoir simplifié le contour du modèle pour éviter trop de points et de lignes dans " -"le fichier gcode. Une valeur plus petite signifie une résolution plus élevée et plus de temps pour découper" +"Le chemin du G-code est généré après avoir simplifié le contour du modèle " +"pour éviter trop de points et de lignes dans le fichier gcode. Une valeur " +"plus petite signifie une résolution plus élevée et plus de temps pour " +"découper" msgid "Travel distance threshold" msgstr "Distance minimale" -msgid "Only trigger retraction when the travel distance is longer than this threshold" -msgstr "Ne déclencher la rétraction que lorsque la distance parcourue est supérieure à ce seuil" +msgid "" +"Only trigger retraction when the travel distance is longer than this " +"threshold" +msgstr "" +"Ne déclencher la rétraction que lorsque la distance parcourue est supérieure " +"à ce seuil" msgid "Retract amount before wipe" msgstr "Quantité de rétraction avant essuyage" -msgid "The length of fast retraction before wipe, relative to retraction length" -msgstr "Longueur de la rétraction rapide avant l’essuyage, par rapport à la longueur de la rétraction" +msgid "" +"The length of fast retraction before wipe, relative to retraction length" +msgstr "" +"Longueur de la rétraction rapide avant l’essuyage, par rapport à la longueur " +"de la rétraction" msgid "Retract when change layer" msgstr "Rétracter au changement de couche" @@ -7761,21 +8592,26 @@ msgstr "Longueur" msgid "Retraction Length" msgstr "Longueur de rétraction" -msgid "Some amount of material in extruder is pulled back to avoid ooze during long travel. Set zero to disable retraction" +msgid "" +"Some amount of material in extruder is pulled back to avoid ooze during long " +"travel. Set zero to disable retraction" msgstr "" -"Une certaine quantité de filament dans l'extrudeur est retirée pour éviter le suintement pendant les longs trajets. " -"Définir à 0 pour désactiver la rétraction" +"Une certaine quantité de filament dans l'extrudeur est retirée pour éviter " +"le suintement pendant les longs trajets. Définir à 0 pour désactiver la " +"rétraction" msgid "Z hop when retract" msgstr "Décalage en Z lors des rétractions" msgid "" -"Whenever the retraction is done, the nozzle is lifted a little to create clearance between nozzle and the print. It " -"prevents nozzle from hitting the print when travel move. Using spiral line to lift z can prevent stringing" +"Whenever the retraction is done, the nozzle is lifted a little to create " +"clearance between nozzle and the print. It prevents nozzle from hitting the " +"print when travel move. Using spiral line to lift z can prevent stringing" msgstr "" -"A chaque fois qu’une rétraction est effectuée, la buse est légèrement soulevée pour créer un espace entre la buse et " -"l'impression. Cela empêche la buse de toucher l'impression lors du déplacement. L'utilisation d'une ligne en spirale " -"pour soulever l’axe Z peut empêcher le stringing" +"A chaque fois qu’une rétraction est effectuée, la buse est légèrement " +"soulevée pour créer un espace entre la buse et l'impression. Cela empêche la " +"buse de toucher l'impression lors du déplacement. L'utilisation d'une ligne " +"en spirale pour soulever l’axe Z peut empêcher le stringing" msgid "Z hop type" msgstr "Type de décalage en Z" @@ -7790,16 +8626,19 @@ msgid "Extra length on restart" msgstr "Longueur supplémentaire" msgid "" -"When the retraction is compensated after the travel move, the extruder will push this additional amount of filament. " -"This setting is rarely needed." +"When the retraction is compensated after the travel move, the extruder will " +"push this additional amount of filament. This setting is rarely needed." msgstr "" -"Lorsque la rétraction est compensée après le mouvement de déplacement, l’extrudeuse poussera cette quantité " -"supplémentaire de filament. Ce paramètre est rarement nécessaire." +"Lorsque la rétraction est compensée après le mouvement de déplacement, " +"l’extrudeuse poussera cette quantité supplémentaire de filament. Ce " +"paramètre est rarement nécessaire." -msgid "When the retraction is compensated after changing tool, the extruder will push this additional amount of filament." +msgid "" +"When the retraction is compensated after changing tool, the extruder will " +"push this additional amount of filament." msgstr "" -"Lorsque la rétraction est compensée après le changement d’outil, l’extrudeur poussera cette quantité supplémentaire de " -"filament." +"Lorsque la rétraction est compensée après le changement d’outil, l’extrudeur " +"poussera cette quantité supplémentaire de filament." msgid "Retraction Speed" msgstr "Vitesse de rétraction" @@ -7810,19 +8649,23 @@ msgstr "Vitesse des rétractions" msgid "Deretraction Speed" msgstr "Vitesse de réinsertion" -msgid "Speed for reloading filament into extruder. Zero means same speed with retraction" +msgid "" +"Speed for reloading filament into extruder. Zero means same speed with " +"retraction" msgstr "" -"Vitesse de réinsertion du filament dans l'extrudeur. Une valeur à 0 signifie la même vitesse que celle de rétraction" +"Vitesse de réinsertion du filament dans l'extrudeur. Une valeur à 0 signifie " +"la même vitesse que celle de rétraction" msgid "Use firmware retraction" msgstr "Utiliser la rétraction firmware" msgid "" -"This experimental setting uses G10 and G11 commands to have the firmware handle the retraction. This is only supported " -"in recent Marlin." +"This experimental setting uses G10 and G11 commands to have the firmware " +"handle the retraction. This is only supported in recent Marlin." msgstr "" -"Ce paramètre expérimental utilise les commandes G10 et G11 pour que le firmware gère la rétraction. Ceci n’est pris en " -"charge que dans une version de Marlin récente." +"Ce paramètre expérimental utilise les commandes G10 et G11 pour que le " +"firmware gère la rétraction. Ceci n’est pris en charge que dans une version " +"de Marlin récente." msgid "Show auto-calibration marks" msgstr "Afficher les marques de calibration" @@ -7845,49 +8688,65 @@ msgstr "Arrière" msgid "Random" msgstr "Aléatoire" +msgid "Staggered inner seams" +msgstr "" + +msgid "" +"This option causes the inner seams to be shifted backwards based on their " +"depth, forming a zigzag pattern." +msgstr "" + msgid "Seam gap" msgstr "Distance de la couture" msgid "" -"In order to reduce the visibility of the seam in a closed loop extrusion, the loop is interrupted and shortened by a " -"specified amount.\n" -"This amount can be specified in millimeters or as a percentage of the current extruder diameter. The default value for " -"this parameter is 15%." +"In order to reduce the visibility of the seam in a closed loop extrusion, " +"the loop is interrupted and shortened by a specified amount.\n" +"This amount can be specified in millimeters or as a percentage of the " +"current extruder diameter. The default value for this parameter is 15%." msgstr "" -"Lors de l’extrusion d’une boucle fermée, la boucle est interrompue et raccourcie un peu pour réduire la couture.\n" -"Peut être en mm ou en % du diamètre actuel de la buse. La valeur par défaut est de 15%." +"Afin de réduire la visibilité de la couture dans une extrusion en boucle " +"fermée, la boucle est interrompue et raccourcie d’une valeur spécifiée.\n" +"Cette quantité peut être spécifiée en millimètres ou en pourcentage du " +"diamètre actuel de la buse. La valeur par défaut de ce paramètre est 15 %." msgid "Role base wipe speed" msgstr "Vitesse d’essuyage basée sur la vitesse d’extrusion" msgid "" -"The wipe speed is determined by the speed of the current extrusion role.e.g. if a wipe action is executed immediately " -"following an outer wall extrusion, the speed of the outer wall extrusion will be utilized for the wipe action." +"The wipe speed is determined by the speed of the current extrusion role.e.g. " +"if a wipe action is executed immediately following an outer wall extrusion, " +"the speed of the outer wall extrusion will be utilized for the wipe action." msgstr "" -"La vitesse d’essuyage est identique à la vitesse d’extrusion actuelle. Par exemple, si l’action d’essuyage est suivie " -"d’une extrusion de paroi extérieure, la vitesse de la paroi extérieure sera utilisée pour cette action d’essuyage." +"La vitesse d’essuyage est identique à la vitesse d’extrusion actuelle. Par " +"exemple, si l’action d’essuyage est suivie d’une extrusion de paroi " +"extérieure, la vitesse de la paroi extérieure sera utilisée pour cette " +"action d’essuyage." msgid "Wipe on loops" msgstr "Essuyer sur les boucles" msgid "" -"To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the " -"extruder leaves the loop." +"To minimize the visibility of the seam in a closed loop extrusion, a small " +"inward movement is executed before the extruder leaves the loop." msgstr "" -"Pour minimiser la visibilité de la couture dans une extrusion en boucle fermée, un petit mouvement vers l’intérieur est " -"exécuté avant que la buse ne quitte la boucle." +"Pour minimiser la visibilité de la couture dans une extrusion en boucle " +"fermée, un petit mouvement vers l’intérieur est exécuté avant que la buse ne " +"quitte la boucle." msgid "Wipe speed" msgstr "Vitesse d’essuyage" msgid "" -"The wipe speed is determined by the speed setting specified in this configuration.If the value is expressed as a " -"percentage (e.g. 80%), it will be calculated based on the travel speed setting above.The default value for this " -"parameter is 80%" +"The wipe speed is determined by the speed setting specified in this " +"configuration.If the value is expressed as a percentage (e.g. 80%), it will " +"be calculated based on the travel speed setting above.The default value for " +"this parameter is 80%" msgstr "" -"La vitesse d’essuyage est déterminée par le paramètre de vitesse spécifié dans cette configuration. Si la valeur est " -"exprimée en pourcentage (par exemple 80%), elle sera calculée en fonction du paramètre de vitesse de déplacement ci-" -"dessus. La valeur par défaut de ce paramètre est 80%" +"La vitesse d’essuyage est déterminée par le paramètre de vitesse spécifié " +"dans cette configuration. Si la valeur est exprimée en pourcentage (par " +"exemple 80%), elle sera calculée en fonction du paramètre de vitesse de " +"déplacement ci-dessus. La valeur par défaut de ce paramètre est 80%" msgid "Skirt distance" msgstr "Distance de la jupe" @@ -7907,18 +8766,29 @@ msgstr "Nombre de lignes de la jupe" msgid "Number of loops for the skirt. Zero means disabling skirt" msgstr "Nombre de ligne de la jupe. Une valeur à 0 signifie aucune jupe" -msgid "" -"The printing speed in exported gcode will be slowed down, when the estimated layer time is shorter than this value, to " -"get better cooling for these layers" +msgid "Skirt speed" msgstr "" -"La vitesse d'impression dans le gcode exporté sera ralentie, lorsque le temps de couche estimé est plus court que la " -"valeur définie, pour obtenir un meilleur refroidissement pour ces couches" + +msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." +msgstr "" + +msgid "" +"The printing speed in exported gcode will be slowed down, when the estimated " +"layer time is shorter than this value, to get better cooling for these layers" +msgstr "" +"La vitesse d'impression dans le gcode exporté sera ralentie, lorsque le " +"temps de couche estimé est plus court que la valeur définie, pour obtenir un " +"meilleur refroidissement pour ces couches" msgid "Minimum sparse infill threshold" msgstr "Seuil minimum de remplissage" -msgid "Sparse infill area which is smaller than threshold value is replaced by internal solid infill" -msgstr "La zone de remplissage qui est inférieure à la valeur seuil est remplacée par un remplissage solide" +msgid "" +"Sparse infill area which is smaller than threshold value is replaced by " +"internal solid infill" +msgstr "" +"La zone de remplissage qui est inférieure à la valeur seuil est remplacée " +"par un remplissage solide" msgid "mm²" msgstr "mm²" @@ -7927,31 +8797,40 @@ msgid "Line width of internal solid infill" msgstr "Largeur de ligne du remplissage solide" msgid "Speed of internal solid infill, not the top and bottom surface" -msgstr "Vitesse du remplissage solide, et non de la surface supérieure et inférieure" +msgstr "" +"Vitesse du remplissage solide, et non de la surface supérieure et inférieure" msgid "Spiral vase" msgstr "Mode vase" msgid "" -"Spiralize smooths out the z moves of the outer contour. And turns a solid model into a single walled print with solid " -"bottom layers. The final generated model has no seam" +"Spiralize smooths out the z moves of the outer contour. And turns a solid " +"model into a single walled print with solid bottom layers. The final " +"generated model has no seam" msgstr "" -"Lisse les mouvements en Z du contour extérieur et transforme un modèle solide en une impression à paroi unique avec des " -"couches inférieures solides. Le modèle généré final n'a pas de couture" +"Lisse les mouvements en Z du contour extérieur et transforme un modèle " +"solide en une impression à paroi unique avec des couches inférieures " +"solides. Le modèle généré final n'a pas de couture" msgid "" -"If smooth or traditional mode is selected, a timelapse video will be generated for each print. After each layer is " -"printed, a snapshot is taken with the chamber camera. All of these snapshots are composed into a timelapse video when " -"printing completes. If smooth mode is selected, the toolhead will move to the excess chute after each layer is printed " -"and then take a snapshot. Since the melt filament may leak from the nozzle during the process of taking a snapshot, " -"prime tower is required for smooth mode to wipe nozzle." +"If smooth or traditional mode is selected, a timelapse video will be " +"generated for each print. After each layer is printed, a snapshot is taken " +"with the chamber camera. All of these snapshots are composed into a " +"timelapse video when printing completes. If smooth mode is selected, the " +"toolhead will move to the excess chute after each layer is printed and then " +"take a snapshot. Since the melt filament may leak from the nozzle during the " +"process of taking a snapshot, prime tower is required for smooth mode to " +"wipe nozzle." msgstr "" -"Si le mode Lissé ou Traditionnel est sélectionné, une vidéo Timelapse sera générée pour chaque impression. Une fois " -"chaque couche imprimée, un instantané est pris avec la caméra de la chambre. Tous ces instantanés sont composés dans une " -"vidéo Timelapse lorsque l'impression est terminée. Si le mode Lissé est sélectionné, la tête d'outil se déplacera vers " -"la goulotte excédentaire après l'impression de chaque couche, puis prendra un instantané. Étant donné que le filament " -"fondu peut couler de la buse pendant le processus de prise d'instantané, la tour de purge est nécessaire pour essuyer la " -"buse pour le mode Lissé." +"Si le mode Lissé ou Traditionnel est sélectionné, une vidéo Timelapse sera " +"générée pour chaque impression. Une fois chaque couche imprimée, un " +"instantané est pris avec la caméra de la chambre. Tous ces instantanés sont " +"composés dans une vidéo Timelapse lorsque l'impression est terminée. Si le " +"mode Lissé est sélectionné, la tête d'outil se déplacera vers la goulotte " +"excédentaire après l'impression de chaque couche, puis prendra un " +"instantané. Étant donné que le filament fondu peut couler de la buse pendant " +"le processus de prise d'instantané, la tour de purge est nécessaire pour " +"essuyer la buse pour le mode Lissé." msgid "Traditional" msgstr "Traditionnel" @@ -7972,20 +8851,25 @@ msgid "Slice gap closing radius" msgstr "Rayon de fermeture de l'espacement" msgid "" -"Cracks smaller than 2x gap closing radius are being filled during the triangle mesh slicing. The gap closing operation " -"may reduce the final print resolution, therefore it is advisable to keep the value reasonably low." +"Cracks smaller than 2x gap closing radius are being filled during the " +"triangle mesh slicing. The gap closing operation may reduce the final print " +"resolution, therefore it is advisable to keep the value reasonably low." msgstr "" -"Les fentes d'une taille inférieure à 2x le rayon de fermeture de l'espacement sont comblées lors du découpage du " -"maillage triangulaire. L'opération de fermeture de l'espace peut réduire la résolution de l'impression finale, il est " -"donc conseillé de conserver une valeur raisonnablement basse." +"Les fentes d'une taille inférieure à 2x le rayon de fermeture de " +"l'espacement sont comblées lors du découpage du maillage triangulaire. " +"L'opération de fermeture de l'espace peut réduire la résolution de " +"l'impression finale, il est donc conseillé de conserver une valeur " +"raisonnablement basse." msgid "Slicing Mode" msgstr "Mode de découpage" -msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." +msgid "" +"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to " +"close all holes in the model." msgstr "" -"Utiliser \"Even-odd\" pour les modèles d'avion 3DLabPrint. Utiliser \"Combler les trous\" pour fermer tous les trous du " -"modèle." +"Utiliser \"Even-odd\" pour les modèles d'avion 3DLabPrint. Utiliser " +"\"Combler les trous\" pour fermer tous les trous du modèle." msgid "Regular" msgstr "Normal" @@ -8003,11 +8887,13 @@ msgid "Enable support generation." msgstr "Activer la génération de support." msgid "" -"normal(auto) and tree(auto) is used to generate support automatically. If normal(manual) or tree(manual) is selected, " -"only support enforcers are generated" +"normal(auto) and tree(auto) is used to generate support automatically. If " +"normal(manual) or tree(manual) is selected, only support enforcers are " +"generated" msgstr "" -"Normaux (auto) et Arborescents (auto) sont utilisés pour générer automatiquement les supports. Si Normaux ou " -"Arborescents est sélectionné, seuls les supports forcés sont générés" +"Normaux (auto) et Arborescents (auto) sont utilisés pour générer " +"automatiquement les supports. Si Normaux ou Arborescents est sélectionné, " +"seuls les supports forcés sont générés" msgid "normal(auto)" msgstr "Normaux (auto)" @@ -8031,19 +8917,26 @@ msgid "Pattern angle" msgstr "Angle du motif" msgid "Use this setting to rotate the support pattern on the horizontal plane." -msgstr "Utiliser ce paramètre pour faire pivoter le motif de support sur le plan horizontal." +msgstr "" +"Utiliser ce paramètre pour faire pivoter le motif de support sur le plan " +"horizontal." msgid "On build plate only" msgstr "Sur le plateau uniquement" msgid "Don't create support on model surface, only on build plate" -msgstr "Ne pas créer de support sur la surface du modèle, uniquement sur le plateau" +msgstr "" +"Ne pas créer de support sur la surface du modèle, uniquement sur le plateau" msgid "Support critical regions only" msgstr "Zones critiques uniquement" -msgid "Only create support for critical regions including sharp tail, cantilever, etc." -msgstr "Créer uniquement des supports pour les zones critiques, y compris les pointes, les surplombs, etc." +msgid "" +"Only create support for critical regions including sharp tail, cantilever, " +"etc." +msgstr "" +"Créer uniquement des supports pour les zones critiques, y compris les " +"pointes, les surplombs, etc." msgid "Top Z distance" msgstr "Distance Z supérieure" @@ -8061,10 +8954,12 @@ msgid "Support/raft base" msgstr "Base Supports/Radeau" msgid "" -"Filament to print support base and raft. \"Default\" means no specific filament for support and current filament is used" +"Filament to print support base and raft. \"Default\" means no specific " +"filament for support and current filament is used" msgstr "" -"Filament pour imprimer la base des supports et les radeaux. \"Par défaut\" signifie qu'aucun filament spécifique n'est " -"utilisé pour les supports et que le filament actuel est utilisé" +"Filament pour imprimer la base des supports et les radeaux. \"Par défaut\" " +"signifie qu'aucun filament spécifique n'est utilisé pour les supports et que " +"le filament actuel est utilisé" msgid "Line width of support" msgstr "Largeur de ligne des supports" @@ -8072,18 +8967,22 @@ msgstr "Largeur de ligne des supports" msgid "Interface use loop pattern" msgstr "Boucles des interfaces" -msgid "Cover the top contact layer of the supports with loops. Disabled by default." -msgstr "Couvrir la couche de contact supérieure des supports avec des boucles. Désactivé par défaut." +msgid "" +"Cover the top contact layer of the supports with loops. Disabled by default." +msgstr "" +"Couvrir la couche de contact supérieure des supports avec des boucles. " +"Désactivé par défaut." msgid "Support/raft interface" msgstr "Interfaces Supports/Radeau" msgid "" -"Filament to print support interface. \"Default\" means no specific filament for support interface and current filament " -"is used" +"Filament to print support interface. \"Default\" means no specific filament " +"for support interface and current filament is used" msgstr "" -"Filament pour imprimer les interfaces de support. \"Par défaut\" signifie qu'aucun filament spécifique n'est utilisé " -"pour les interfaces de support et le filament actuel est utilisé" +"Filament pour imprimer les interfaces de support. \"Par défaut\" signifie " +"qu'aucun filament spécifique n'est utilisé pour les interfaces de support et " +"le filament actuel est utilisé" msgid "Top interface layers" msgstr "Couches des interfaces supérieures" @@ -8098,13 +8997,17 @@ msgid "Top interface spacing" msgstr "Espacement du motif des interfaces supérieures" msgid "Spacing of interface lines. Zero means solid interface" -msgstr "Espacement des lignes du motif des interfaces de support supérieures. Une valeur à 0 signifie une interface solide" +msgstr "" +"Espacement des lignes du motif des interfaces de support supérieures. Une " +"valeur à 0 signifie une interface solide" msgid "Bottom interface spacing" msgstr "Espacement du motif des interfaces inférieures" msgid "Spacing of bottom interface lines. Zero means solid interface" -msgstr "Espacement des lignes du motif des interfaces de support inférieures. Une valeur à 0 signifie une interface solide" +msgstr "" +"Espacement des lignes du motif des interfaces de support inférieures. Une " +"valeur à 0 signifie une interface solide" msgid "Speed of support interface" msgstr "Vitesse des interfaces de support" @@ -8125,11 +9028,13 @@ msgid "Interface pattern" msgstr "Motif des interfaces" msgid "" -"Line pattern of support interface. Default pattern for non-soluble support interface is Rectilinear, while default " -"pattern for soluble support interface is Concentric" +"Line pattern of support interface. Default pattern for non-soluble support " +"interface is Rectilinear, while default pattern for soluble support " +"interface is Concentric" msgstr "" -"Modèle de ligne de l'interface de support. Le motif par défaut pour les interfaces de support non solubles est " -"Rectiligne, tandis que le modèle par défaut pour les interfaces de support solubles est Concentrique" +"Modèle de ligne de l'interface de support. Le motif par défaut pour les " +"interfaces de support non solubles est Rectiligne, tandis que le modèle par " +"défaut pour les interfaces de support solubles est Concentrique" msgid "Rectilinear Interlaced" msgstr "Rectiligne entrelacé" @@ -8150,18 +9055,24 @@ msgid "Speed of support" msgstr "Vitesse des supports" msgid "" -"Style and shape of the support. For normal support, projecting the supports into a regular grid will create more stable " -"supports (default), while snug support towers will save material and reduce object scarring.\n" -"For tree support, slim style will merge branches more aggressively and save a lot of material (default), while hybrid " -"style will create similar structure to normal support under large flat overhangs." +"Style and shape of the support. For normal support, projecting the supports " +"into a regular grid will create more stable supports (default), while snug " +"support towers will save material and reduce object scarring.\n" +"For tree support, slim style will merge branches more aggressively and save " +"a lot of material (default), while hybrid style will create similar " +"structure to normal support under large flat overhangs." msgstr "" "Style et forme des supports.\n" -"Supports Normaux : Grille régulière avec des supports plus stables (par défaut).\n" -"Support Ajustés : Economisent de la matière et réduisent les traces sur le modèle.\n" -"Supports Arborescents Fins : Fusionnent les branches de manière plus agressive et économisent beaucoup de filament (par " +"Supports Normaux : Grille régulière avec des supports plus stables (par " "défaut).\n" -"Supports Arborescents Solides : Fusionnent les branches de manière moins agressive et économisent moins de filament.\n" -"Supports Arborescents Hybrides : Structure similaire aux supports normaux avec de grands surplombs plats." +"Support Ajustés : Economisent de la matière et réduisent les traces sur le " +"modèle.\n" +"Supports Arborescents Fins : Fusionnent les branches de manière plus " +"agressive et économisent beaucoup de filament (par défaut).\n" +"Supports Arborescents Solides : Fusionnent les branches de manière moins " +"agressive et économisent moins de filament.\n" +"Supports Arborescents Hybrides : Structure similaire aux supports normaux " +"avec de grands surplombs plats." msgid "Snug" msgstr "Ajustés" @@ -8179,56 +9090,71 @@ msgid "Independent support layer height" msgstr "Hauteur de la couche indépendante des supports" msgid "" -"Support layer uses layer height independent with object layer. This is to support customizing z-gap and save print time." -"This option will be invalid when the prime tower is enabled." +"Support layer uses layer height independent with object layer. This is to " +"support customizing z-gap and save print time.This option will be invalid " +"when the prime tower is enabled." msgstr "" -"La couche de support utilise une hauteur de couche indépendante de la couche d'objet. Cela permet de prendre en charge " -"la personnalisation de l’espace Z et de gagner sur la durée d'impression. Cette option sera invalide lorsque la tour de " -"purge est activée." +"La couche de support utilise une hauteur de couche indépendante de la couche " +"d'objet. Cela permet de prendre en charge la personnalisation de l’espace Z " +"et de gagner sur la durée d'impression. Cette option sera invalide lorsque " +"la tour de purge est activée." msgid "Threshold angle" msgstr "Angle de surplomb" -msgid "Support will be generated for overhangs whose slope angle is below the threshold." -msgstr "Un support sera généré pour les surplombs dont l'angle de pente est inférieur au seuil." +msgid "" +"Support will be generated for overhangs whose slope angle is below the " +"threshold." +msgstr "" +"Un support sera généré pour les surplombs dont l'angle de pente est " +"inférieur au seuil." msgid "Tree support branch angle" msgstr "Angle des branches" msgid "" -"This setting determines the maximum overhang angle that t he branches of tree support allowed to make.If the angle is " -"increased, the branches can be printed more horizontally, allowing them to reach farther." +"This setting determines the maximum overhang angle that t he branches of " +"tree support allowed to make.If the angle is increased, the branches can be " +"printed more horizontally, allowing them to reach farther." msgstr "" -"Ce paramètre détermine l’angle de surplomb maximal que les branches sont autorisées à faire. Si l’angle est augmenté, " -"les branches peuvent être imprimées plus horizontalement, ce qui leur permet de s’étendre plus loin." +"Ce paramètre détermine l’angle de surplomb maximal que les branches sont " +"autorisées à faire. Si l’angle est augmenté, les branches peuvent être " +"imprimées plus horizontalement, ce qui leur permet de s’étendre plus loin." msgid "Tree support branch distance" msgstr "Distance des branches" -msgid "This setting determines the distance between neighboring tree support nodes." +msgid "" +"This setting determines the distance between neighboring tree support nodes." msgstr "Ce paramètre détermine la distance entre les branches de support." msgid "Adaptive layer height" msgstr "Hauteur de couche variable" -msgid "Enabling this option means the height of tree support layer except the first will be automatically calculated " +msgid "" +"Enabling this option means the height of tree support layer except the " +"first will be automatically calculated " msgstr "" -"L’activation de cette option signifie que la hauteur de couche des supports arborescents, à l’exception de la première, " -"sera automatiquement calculée " +"L’activation de cette option signifie que la hauteur de couche des supports " +"arborescents, à l’exception de la première, sera automatiquement calculée " msgid "Auto brim width" msgstr "Largeur de la bordure automatique" -msgid "Enabling this option means the width of the brim for tree support will be automatically calculated" +msgid "" +"Enabling this option means the width of the brim for tree support will be " +"automatically calculated" msgstr "" -"L’activation de cette option signifie que la largeur de la bordure des supports arborescents sera automatiquement " -"calculée" +"L’activation de cette option signifie que la largeur de la bordure des " +"supports arborescents sera automatiquement calculée" msgid "Tree support brim width" msgstr "Supports arborescents avec bordure" msgid "Distance from tree branch to the outermost brim line" -msgstr "Distance entre la branche du support arborescent et la ligne la plus externe de la bordure" +msgstr "" +"Distance entre la branche du support arborescent et la ligne la plus externe " +"de la bordure" msgid "Tree support branch diameter" msgstr "Diamètre des branches" @@ -8245,8 +9171,12 @@ msgstr "Ce paramètre spécifie le nombre de parois des branches de support" msgid "Tree support with infill" msgstr "Supports arborescents avec remplissage" -msgid "This setting specifies whether to add infill inside large hollows of tree support" -msgstr "Ce paramètre spécifie s’il faut ajouter un remplissage à l’intérieur des supports arborescents" +msgid "" +"This setting specifies whether to add infill inside large hollows of tree " +"support" +msgstr "" +"Ce paramètre spécifie s’il faut ajouter un remplissage à l’intérieur des " +"supports arborescents" msgid "Target chamber temperature" msgstr "Température cible de la chambre" @@ -8258,24 +9188,31 @@ msgid "Bed temperature difference" msgstr "Différence de température du plateau" msgid "" -"Do not recommend bed temperature of other layer to be lower than initial layer for more than this threshold. Too low bed " -"temperature of other layer may cause the model broken free from build plate" +"Do not recommend bed temperature of other layer to be lower than initial " +"layer for more than this threshold. Too low bed temperature of other layer " +"may cause the model broken free from build plate" msgstr "" -"Il n'est pas recommandé que la température du plateau des autres couches soit inférieure à celle de la couche initiale " -"pendant plus de ce seuil. Une température de plateau trop basse peut entraîner le décollement du modèle" +"Il n'est pas recommandé que la température du plateau des autres couches " +"soit inférieure à celle de la couche initiale pendant plus de ce seuil. Une " +"température de plateau trop basse peut entraîner le décollement du modèle" msgid "Detect thin wall" msgstr "Détecter les parois fines" msgid "" -"Detect thin wall which can't contain two line width. And use single line to print. Maybe printed not very well, because " -"it's not closed loop" +"Detect thin wall which can't contain two line width. And use single line to " +"print. Maybe printed not very well, because it's not closed loop" msgstr "" -"Détecter les parois minces qui ne peuvent pas contenir deux largeurs de ligne et utiliser une seule ligne pour les " -"imprimer. Peut ne pas être très bien imprimé car ce n'est pas en boucle fermée" +"Détecter les parois minces qui ne peuvent pas contenir deux largeurs de " +"ligne et utiliser une seule ligne pour les imprimer. Peut ne pas être très " +"bien imprimé car ce n'est pas en boucle fermée" -msgid "This gcode is inserted when change filament, including T command to trigger tool change" -msgstr "Ce gcode est inséré lors du changement de filament, y compris la commande T pour déclencher le changement d'outil" +msgid "" +"This gcode is inserted when change filament, including T command to trigger " +"tool change" +msgstr "" +"Ce gcode est inséré lors du changement de filament, y compris la commande T " +"pour déclencher le changement d'outil" msgid "Line width for top surfaces" msgstr "Largeur de ligne des surfaces supérieures" @@ -8287,12 +9224,14 @@ msgid "Top shell layers" msgstr "Nombre de couches des coques supérieures" msgid "" -"This is the number of solid layers of top shell, including the top surface layer. When the thickness calculated by this " -"value is thinner than top shell thickness, the top shell layers will be increased" +"This is the number of solid layers of top shell, including the top surface " +"layer. When the thickness calculated by this value is thinner than top shell " +"thickness, the top shell layers will be increased" msgstr "" -"Il s'agit du nombre de couches solides de la coque supérieure, y compris la couche de surface supérieure. Lorsque " -"l'épaisseur calculée par cette valeur est plus fine que l'épaisseur de la coque supérieure, les couches de la coque " -"supérieure seront augmentées" +"Il s'agit du nombre de couches solides de la coque supérieure, y compris la " +"couche de surface supérieure. Lorsque l'épaisseur calculée par cette valeur " +"est plus fine que l'épaisseur de la coque supérieure, les couches de la " +"coque supérieure seront augmentées" msgid "Top solid layers" msgstr "Couches solides supérieures" @@ -8301,13 +9240,17 @@ msgid "Top shell thickness" msgstr "Épaisseur des coques supérieures" msgid "" -"The number of top solid layers is increased when slicing if the thickness calculated by top shell layers is thinner than " -"this value. This can avoid having too thin shell when layer height is small. 0 means that this setting is disabled and " -"thickness of top shell is absolutely determained by top shell layers" +"The number of top solid layers is increased when slicing if the thickness " +"calculated by top shell layers is thinner than this value. This can avoid " +"having too thin shell when layer height is small. 0 means that this setting " +"is disabled and thickness of top shell is absolutely determained by top " +"shell layers" msgstr "" -"Le nombre de couches solides supérieures est augmenté lors du découpage si l'épaisseur calculée par les couches de coque " -"supérieures est inférieure à cette valeur. Cela peut éviter d'avoir une coque trop fine lorsque la hauteur de couche est " -"faible. Une valeur à 0 signifie que ce paramètre est désactivé et que l'épaisseur de la coque supérieure est absolument " +"Le nombre de couches solides supérieures est augmenté lors du découpage si " +"l'épaisseur calculée par les couches de coque supérieures est inférieure à " +"cette valeur. Cela peut éviter d'avoir une coque trop fine lorsque la " +"hauteur de couche est faible. Une valeur à 0 signifie que ce paramètre est " +"désactivé et que l'épaisseur de la coque supérieure est absolument " "déterminée par les couches de coque supérieures" msgid "Speed of travel which is faster and without extrusion" @@ -8317,24 +9260,30 @@ msgid "Wipe while retracting" msgstr "Essuyer lors des rétractions" msgid "" -"Move nozzle along the last extrusion path when retracting to clean leaked material on nozzle. This can minimize blob " -"when print new part after travel" +"Move nozzle along the last extrusion path when retracting to clean leaked " +"material on nozzle. This can minimize blob when print new part after travel" msgstr "" -"Déplacer la buse le long du dernier chemin d'extrusion lors de la rétraction pour nettoyer la fuite de matériau sur la " -"buse. Cela peut minimiser les taches lors de l'impression d'une nouvelle pièce après le trajet" +"Déplacer la buse le long du dernier chemin d'extrusion lors de la rétraction " +"pour nettoyer la fuite de matériau sur la buse. Cela peut minimiser les " +"taches lors de l'impression d'une nouvelle pièce après le trajet" msgid "Wipe Distance" msgstr "Distance d’essuyage" -msgid "Discribe how long the nozzle will move along the last path when retracting" -msgstr "Distance sur laquelle la buse se déplacera le long du dernier chemin lors de la rétraction" +msgid "" +"Discribe how long the nozzle will move along the last path when retracting" +msgstr "" +"Distance sur laquelle la buse se déplacera le long du dernier chemin lors de " +"la rétraction" msgid "" -"The wiping tower can be used to clean up the residue on the nozzle and stabilize the chamber pressure inside the nozzle, " -"in order to avoid appearance defects when printing objects." +"The wiping tower can be used to clean up the residue on the nozzle and " +"stabilize the chamber pressure inside the nozzle, in order to avoid " +"appearance defects when printing objects." msgstr "" -"La tour de purge peut être utilisée pour nettoyer les résidus sur la buse et stabiliser la pression de la chambre à " -"l’intérieur de la buse, afin d’éviter les défauts d’aspect lors de l’impression d’objets." +"La tour de purge peut être utilisée pour nettoyer les résidus sur la buse et " +"stabiliser la pression de la chambre à l’intérieur de la buse, afin d’éviter " +"les défauts d’aspect lors de l’impression d’objets." msgid "Purging volumes" msgstr "Volumes de purge" @@ -8342,9 +9291,12 @@ msgstr "Volumes de purge" msgid "Flush multiplier" msgstr "Multiplicateur de purge" -msgid "The actual flushing volumes is equal to the flush multiplier multiplied by the flushing volumes in the table." +msgid "" +"The actual flushing volumes is equal to the flush multiplier multiplied by " +"the flushing volumes in the table." msgstr "" -"Les volumes de purge réels sont égaux au multiplicateur de purge multiplié par les volumes de purge dans le tableau." +"Les volumes de purge réels sont égaux au multiplicateur de purge multiplié " +"par les volumes de purge dans le tableau." msgid "Prime volume" msgstr "Volume de purge" @@ -8359,76 +9311,98 @@ msgid "Width of prime tower" msgstr "Largeur de la tour de purge" msgid "" -"Purging after filament change will be done inside objects' infills. This may lower the amount of waste and decrease the " -"print time. If the walls are printed with transparent filament, the mixed color infill will be seen outside. It will not " -"take effect, unless the prime tower is enabled." +"Purging after filament change will be done inside objects' infills. This may " +"lower the amount of waste and decrease the print time. If the walls are " +"printed with transparent filament, the mixed color infill will be seen " +"outside. It will not take effect, unless the prime tower is enabled." msgstr "" -"La purge après le changement de filament sera effectuée à l'intérieur des remplissages des objets. Cela peut réduire la " -"quantité de déchets et diminuer la durée d'impression. Si les murs sont imprimés avec un filament transparent, le " -"remplissage de couleurs mélangées sera visible à l'extérieur. Cela ne prendra effet que si la tour de purge est activée." +"La purge après le changement de filament sera effectuée à l'intérieur des " +"remplissages des objets. Cela peut réduire la quantité de déchets et " +"diminuer la durée d'impression. Si les murs sont imprimés avec un filament " +"transparent, le remplissage de couleurs mélangées sera visible à " +"l'extérieur. Cela ne prendra effet que si la tour de purge est activée." msgid "" -"Purging after filament change will be done inside objects' support. This may lower the amount of waste and decrease the " -"print time. It will not take effect, unless the prime tower is enabled." +"Purging after filament change will be done inside objects' support. This may " +"lower the amount of waste and decrease the print time. It will not take " +"effect, unless the prime tower is enabled." msgstr "" -"La purge après changement de filament sera effectuée à l'intérieur des supports des objets. Cela peut réduire la " -"quantité de déchets et diminuer la durée d'impression. Cela ne prendra effet que si la tour de purge est activée." - -msgid "" -"This object will be used to purge the nozzle after a filament change to save filament and decrease the print time. " -"Colours of the objects will be mixed as a result. It will not take effect, unless the prime tower is enabled." -msgstr "" -"Cet objet servira à purger la buse après un changement de filament pour économiser du filament et diminuer la durée " -"d'impression. Les couleurs des objets seront mélangées en conséquence. Cela ne prendra effet que si la tour de purge est " +"La purge après changement de filament sera effectuée à l'intérieur des " +"supports des objets. Cela peut réduire la quantité de déchets et diminuer la " +"durée d'impression. Cela ne prendra effet que si la tour de purge est " "activée." +msgid "" +"This object will be used to purge the nozzle after a filament change to save " +"filament and decrease the print time. Colours of the objects will be mixed " +"as a result. It will not take effect, unless the prime tower is enabled." +msgstr "" +"Cet objet servira à purger la buse après un changement de filament pour " +"économiser du filament et diminuer la durée d'impression. Les couleurs des " +"objets seront mélangées en conséquence. Cela ne prendra effet que si la tour " +"de purge est activée." + msgid "X-Y hole compensation" msgstr "Compensation X-Y des trous" msgid "" -"Holes of object will be grown or shrunk in XY plane by the configured value. Positive value makes holes bigger. Negative " -"value makes holes smaller. This function is used to adjust size slightly when the object has assembling issue" +"Holes of object will be grown or shrunk in XY plane by the configured value. " +"Positive value makes holes bigger. Negative value makes holes smaller. This " +"function is used to adjust size slightly when the object has assembling issue" msgstr "" -"Les trous de l'objet seront agrandis ou rétrécis dans le plan X-Y par la valeur définie. Une valeur positive agrandit " -"les trous. Une valeur négative rend les trous plus petits. Cette fonction est utilisée pour ajuster légèrement la taille " -"lorsque l'objet a un problème d'assemblage" +"Les trous de l'objet seront agrandis ou rétrécis dans le plan X-Y par la " +"valeur définie. Une valeur positive agrandit les trous. Une valeur négative " +"rend les trous plus petits. Cette fonction est utilisée pour ajuster " +"légèrement la taille lorsque l'objet a un problème d'assemblage" msgid "X-Y contour compensation" msgstr "Compensation X-Y des contours" msgid "" -"Contour of object will be grown or shrunk in XY plane by the configured value. Positive value makes contour bigger. " -"Negative value makes contour smaller. This function is used to adjust size slightly when the object has assembling issue" +"Contour of object will be grown or shrunk in XY plane by the configured " +"value. Positive value makes contour bigger. Negative value makes contour " +"smaller. This function is used to adjust size slightly when the object has " +"assembling issue" msgstr "" -"Les contours de l'objet seront agrandis ou rétrécis dans le plan X-Y par la valeur définie. Une valeur positive agrandit " -"les contours. Une valeur négative rend les contours plus petits. Cette fonction est utilisée pour ajuster légèrement la " -"taille lorsque l'objet a un problème d'assemblage" +"Les contours de l'objet seront agrandis ou rétrécis dans le plan X-Y par la " +"valeur définie. Une valeur positive agrandit les contours. Une valeur " +"négative rend les contours plus petits. Cette fonction est utilisée pour " +"ajuster légèrement la taille lorsque l'objet a un problème d'assemblage" msgid "G-code thumbnails" msgstr "Vignette G-code" -msgid "Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the following format: \"XxY, XxY, ...\"" -msgstr "Tailles des images à stocker dans les fichiers .gcode et .sl1/.sl1s, au format suivant : \"XxY, XxY, …\"" +msgid "" +"Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the " +"following format: \"XxY, XxY, ...\"" +msgstr "" +"Tailles des images à stocker dans les fichiers .gcode et .sl1/.sl1s, au " +"format suivant : \"XxY, XxY, …\"" msgid "Use relative E distances" msgstr "Utiliser l’extrusion relative" msgid "" -"Relative extrusion is recommended when using \"label_objects\" option.Some extruders work better with this option " -"unckecked (absolute extrusion mode). Wipe tower is only compatible with relative mode. It is always enabled on BambuLab " -"printers. Default is checked" +"Relative extrusion is recommended when using \"label_objects\" option.Some " +"extruders work better with this option unckecked (absolute extrusion mode). " +"Wipe tower is only compatible with relative mode. It is always enabled on " +"BambuLab printers. Default is checked" msgstr "" -"L’extrusion relative est recommandée lors de l’utilisation de l’option \"label_objects\". Certains extrudeurs " -"fonctionnent mieux avec cette option décochée (mode d’extrusion absolu). La tour de purge n’est compatible qu’avec le " -"mode relatif. Il est toujours activé sur les imprimantes BambuLab. La valeur par défaut est cochée" +"L’extrusion relative est recommandée lors de l’utilisation de l’option " +"\"label_objects\". Certains extrudeurs fonctionnent mieux avec cette option " +"décochée (mode d’extrusion absolu). La tour de purge n’est compatible " +"qu’avec le mode relatif. Il est toujours activé sur les imprimantes " +"BambuLab. La valeur par défaut est cochée" msgid "" -"Classic wall generator produces walls with constant extrusion width and for very thin areas is used gap-fill. Arachne " -"engine produces walls with variable extrusion width" +"Classic wall generator produces walls with constant extrusion width and for " +"very thin areas is used gap-fill. Arachne engine produces walls with " +"variable extrusion width" msgstr "" -"Le générateur de parois classiques produit des parois avec une largeur d'extrusion constante, et pour les zones très " -"minces il est utilisé pour combler les espaces. Le moteur Arachne produit des parois avec une largeur d'extrusion " -"variable." +"Le générateur de parois classiques produit des parois avec une largeur " +"d'extrusion constante, et pour les zones très minces il est utilisé pour " +"combler les espaces. Le moteur Arachne produit des parois avec une largeur " +"d'extrusion variable." msgid "Classic" msgstr "Classique" @@ -8440,87 +9414,110 @@ msgid "Wall transition length" msgstr "Longueur de transition de paroi" msgid "" -"When transitioning between different numbers of walls as the part becomes thinner, a certain amount of space is allotted " -"to split or join the wall segments. It's expressed as a percentage over nozzle diameter" +"When transitioning between different numbers of walls as the part becomes " +"thinner, a certain amount of space is allotted to split or join the wall " +"segments. It's expressed as a percentage over nozzle diameter" msgstr "" -"Lors de la transition entre différents nombres de parois à mesure que la pièce devient plus mince, un certain espace est " -"alloué pour diviser ou joindre les segments de paroi. Elle est exprimée en pourcentage sur le diamètre de la buse" +"Lors de la transition entre différents nombres de parois à mesure que la " +"pièce devient plus mince, un certain espace est alloué pour diviser ou " +"joindre les segments de paroi. Elle est exprimée en pourcentage sur le " +"diamètre de la buse" msgid "Wall transitioning filter margin" msgstr "Marge du filtre de transition de paroi" msgid "" -"Prevent transitioning back and forth between one extra wall and one less. This margin extends the range of extrusion " -"widths which follow to [Minimum wall width - margin, 2 * Minimum wall width + margin]. Increasing this margin reduces " -"the number of transitions, which reduces the number of extrusion starts/stops and travel time. However, large extrusion " -"width variation can lead to under- or overextrusion problems. It's expressed as a percentage over nozzle diameter" +"Prevent transitioning back and forth between one extra wall and one less. " +"This margin extends the range of extrusion widths which follow to [Minimum " +"wall width - margin, 2 * Minimum wall width + margin]. Increasing this " +"margin reduces the number of transitions, which reduces the number of " +"extrusion starts/stops and travel time. However, large extrusion width " +"variation can lead to under- or overextrusion problems. It's expressed as a " +"percentage over nozzle diameter" msgstr "" -"Empêche les transitions entre une paroi supplémentaire et une paroi de moins. Cette marge étend la plage des largeurs " -"d'extrusion suivante [Largeur minimale de la paroi - marge, 2 * Largeur minimale da paroi + marge]. L'augmentation de " -"cette marge réduit le nombre de transitions, ce qui réduit le nombre de démarrages/arrêts d'extrusion et le temps de " -"parcours. Cependant, une grande variation de largeur d'extrusion peut entraîner des problèmes de sous-extrusion ou de " -"sur-extrusion. Elle est exprimée en pourcentage sur le diamètre de la buse" +"Empêche les transitions entre une paroi supplémentaire et une paroi de " +"moins. Cette marge étend la plage des largeurs d'extrusion suivante [Largeur " +"minimale de la paroi - marge, 2 * Largeur minimale da paroi + marge]. " +"L'augmentation de cette marge réduit le nombre de transitions, ce qui réduit " +"le nombre de démarrages/arrêts d'extrusion et le temps de parcours. " +"Cependant, une grande variation de largeur d'extrusion peut entraîner des " +"problèmes de sous-extrusion ou de sur-extrusion. Elle est exprimée en " +"pourcentage sur le diamètre de la buse" msgid "Wall transitioning threshold angle" msgstr "Angle de seuil de transition de paroi" msgid "" -"When to create transitions between even and odd numbers of walls. A wedge shape with an angle greater than this setting " -"will not have transitions and no walls will be printed in the center to fill the remaining space. Reducing this setting " -"reduces the number and length of these center walls, but may leave gaps or overextrude" +"When to create transitions between even and odd numbers of walls. A wedge " +"shape with an angle greater than this setting will not have transitions and " +"no walls will be printed in the center to fill the remaining space. Reducing " +"this setting reduces the number and length of these center walls, but may " +"leave gaps or overextrude" msgstr "" -"Permet d'indiquer quand créer des transitions entre des nombres pairs et impairs des parois. Une forme de coin avec un " -"angle supérieur à ce paramètre n'aura pas de transitions et aucune paroi ne sera imprimée au centre pour remplir " -"l'espace restant. La réduction de ce paramètre réduit le nombre et la longueur de ces parois centrales, mais peut " -"laisser des espaces ou une sur-extrusion" +"Permet d'indiquer quand créer des transitions entre des nombres pairs et " +"impairs des parois. Une forme de coin avec un angle supérieur à ce paramètre " +"n'aura pas de transitions et aucune paroi ne sera imprimée au centre pour " +"remplir l'espace restant. La réduction de ce paramètre réduit le nombre et " +"la longueur de ces parois centrales, mais peut laisser des espaces ou une " +"sur-extrusion" msgid "Wall distribution count" msgstr "Nombre de distributions de paroi" msgid "" -"The number of walls, counted from the center, over which the variation needs to be spread. Lower values mean that the " -"outer walls don't change in width" +"The number of walls, counted from the center, over which the variation needs " +"to be spread. Lower values mean that the outer walls don't change in width" msgstr "" -"Nombre de parois, comptées à partir du centre, sur lesquelles la variation doit être répartie. Des valeurs inférieures " -"signifient que les parois extérieures ne changent pas de largeur." +"Nombre de parois, comptées à partir du centre, sur lesquelles la variation " +"doit être répartie. Des valeurs inférieures signifient que les parois " +"extérieures ne changent pas de largeur." msgid "Minimum feature size" msgstr "Épaisseur minimale des parois fines" msgid "" -"Minimum thickness of thin features. Model features that are thinner than this value will not be printed, while features " -"thicker than the Minimum feature size will be widened to the Minimum wall width. It's expressed as a percentage over " -"nozzle diameter" +"Minimum thickness of thin features. Model features that are thinner than " +"this value will not be printed, while features thicker than the Minimum " +"feature size will be widened to the Minimum wall width. It's expressed as a " +"percentage over nozzle diameter" msgstr "" -"Épaisseur minimale des parois fines. Les parois du modèle qui sont plus minces que cette valeur ne seront pas imprimées, " -"tandis que les parois plus épaisses que la taille minimale de la paroi seront élargies à la largeur de la paroi " -"minimale. Elle est exprimée en pourcentage sur le diamètre de la buse" +"Épaisseur minimale des parois fines. Les parois du modèle qui sont plus " +"minces que cette valeur ne seront pas imprimées, tandis que les parois plus " +"épaisses que la taille minimale de la paroi seront élargies à la largeur de " +"la paroi minimale. Elle est exprimée en pourcentage sur le diamètre de la " +"buse" msgid "Minimum wall width" msgstr "Largeur minimale de la paroi" msgid "" -"Width of the wall that will replace thin features (according to the Minimum feature size) of the model. If the Minimum " -"wall width is thinner than the thickness of the feature, the wall will become as thick as the feature itself. It's " -"expressed as a percentage over nozzle diameter" +"Width of the wall that will replace thin features (according to the Minimum " +"feature size) of the model. If the Minimum wall width is thinner than the " +"thickness of the feature, the wall will become as thick as the feature " +"itself. It's expressed as a percentage over nozzle diameter" msgstr "" -"Largeur de la paroi qui remplacera les parois fines (en fonction de la taille minimale de la paroi) du modèle. Si la " -"largeur minimale de la paroi est plus fine que l'épaisseur de la paroi du modèle, la paroi deviendra aussi épaisse que " -"celle du modèle. Elle est exprimée en pourcentage sur le diamètre de la buse" +"Largeur de la paroi qui remplacera les parois fines (en fonction de la " +"taille minimale de la paroi) du modèle. Si la largeur minimale de la paroi " +"est plus fine que l'épaisseur de la paroi du modèle, la paroi deviendra " +"aussi épaisse que celle du modèle. Elle est exprimée en pourcentage sur le " +"diamètre de la buse" msgid "Detect narrow internal solid infill" msgstr "Détecter un remplissage solide étroit" msgid "" -"This option will auto detect narrow internal solid infill area. If enabled, concentric pattern will be used for the area " -"to speed printing up. Otherwise, rectilinear pattern is used defaultly." +"This option will auto detect narrow internal solid infill area. If enabled, " +"concentric pattern will be used for the area to speed printing up. " +"Otherwise, rectilinear pattern is used defaultly." msgstr "" -"Cette option détectera automatiquement les zones de remplissage solides étroits. Si activé, un motif concentrique sera " -"utilisé pour les zones afin d'accélérer l'impression. Sinon, le motif rectiligne est utilisé par défaut." +"Cette option détectera automatiquement les zones de remplissage solides " +"étroits. Si activé, un motif concentrique sera utilisé pour les zones afin " +"d'accélérer l'impression. Sinon, le motif rectiligne est utilisé par défaut." msgid "invalid value " msgstr "valeur invalide " +#, fuzzy, c-format, boost-format msgid " doesn't work at 100%% density " msgstr " ne fonctionne pas à 100% de densité " @@ -8555,7 +9552,8 @@ msgid "Slice" msgstr "Découper" msgid "Slice the plates: 0-all plates, i-plate i, others-invalid" -msgstr "Découper les plateaux : 0-tous les plateaux, i-plateau i, autres-invalides" +msgstr "" +"Découper les plateaux : 0-tous les plateaux, i-plateau i, autres-invalides" msgid "Show command help." msgstr "Afficher l'aide des commandes." @@ -8582,7 +9580,9 @@ msgid "No check" msgstr "Pas de vérification" msgid "Do not run any validity checks, such as gcode path conflicts check." -msgstr "N’exécuter aucune vérification de validité, telle que la vérification des conflits de chemin G-code." +msgstr "" +"N’exécuter aucune vérification de validité, telle que la vérification des " +"conflits de chemin G-code." msgid "Normative check" msgstr "Vérification normative" @@ -8630,13 +9630,15 @@ msgid "Load General Settings" msgstr "Charger les paramètres généraux" msgid "Load process/machine settings from the specified file" -msgstr "Charger les paramètres de processus/imprimante à partir du fichier spécifié" +msgstr "" +"Charger les paramètres de processus/imprimante à partir du fichier spécifié" msgid "Load Filament Settings" msgstr "Charger les paramètres de filament" msgid "Load filament settings from the specified file list" -msgstr "Charger les paramètres de filament à partir de la liste de fichiers spécifiée" +msgstr "" +"Charger les paramètres de filament à partir de la liste de fichiers spécifiée" msgid "Skip Objects" msgstr "Ignorer les objets" @@ -8648,11 +9650,13 @@ msgid "Data directory" msgstr "Répertoire de données" msgid "" -"Load and store settings at the given directory. This is useful for maintaining different profiles or including " -"configurations from a network storage." +"Load and store settings at the given directory. This is useful for " +"maintaining different profiles or including configurations from a network " +"storage." msgstr "" -"Charger et stocker les paramètres dans le répertoire donné. Ceci est utile pour maintenir différents profils ou inclure " -"des configurations à partir d’un stockage réseau." +"Charger et stocker les paramètres dans le répertoire donné. Ceci est utile " +"pour maintenir différents profils ou inclure des configurations à partir " +"d’un stockage réseau." msgid "Output directory" msgstr "Dossier de sortie" @@ -8663,9 +9667,12 @@ msgstr "Dossier de sortie des fichiers exportés." msgid "Debug level" msgstr "Niveau de débogage" -msgid "Sets debug logging level. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\n" +msgid "" +"Sets debug logging level. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:" +"trace\n" msgstr "" -"Définit le niveau de journalisation du déboggage. 0:fatal, 1:erreur, 2:avertissement, 3:info, 4:déboggage, 5:tracer\n" +"Définit le niveau de journalisation du déboggage. 0:fatal, 1:erreur, 2:" +"avertissement, 3:info, 4:déboggage, 5:tracer\n" msgid "Error in zip archive" msgstr "Erreur dans l'archive zip" @@ -8698,14 +9705,19 @@ msgid "large overhangs" msgstr "des surplombs importants" #, c-format, boost-format -msgid "It seems object %s has %s. Please re-orient the object or enable support generation." -msgstr "Il semblerait que l'objet %s ait %s. Veuillez réorienter l'objet ou activer la génération de supports." +msgid "" +"It seems object %s has %s. Please re-orient the object or enable support " +"generation." +msgstr "" +"Il semblerait que l'objet %s ait %s. Veuillez réorienter l'objet ou activer " +"la génération de supports." msgid "Optimizing toolpath" msgstr "Optimisation du parcours" msgid "Empty layers around bottom are replaced by nearest normal layers." -msgstr "Les couches vides inférieures sont remplacées par des couches normales." +msgstr "" +"Les couches vides inférieures sont remplacées par des couches normales." msgid "The model has too many empty layers." msgstr "Le modèle comporte trop de couches vides." @@ -8713,17 +9725,22 @@ msgstr "Le modèle comporte trop de couches vides." msgid "Slicing mesh" msgstr "Découpage du maillage" -msgid "No layers were detected. You might want to repair your STL file(s) or check their size or thickness and retry.\n" +msgid "" +"No layers were detected. You might want to repair your STL file(s) or check " +"their size or thickness and retry.\n" msgstr "" -"Aucune couche n’a été détectée. Il est peut-être nécessaire de réparer vos fichiers STL ou vérifier leur taille ou leur " -"épaisseur et réessayer.\n" +"Aucune couche n’a été détectée. Il est peut-être nécessaire de réparer vos " +"fichiers STL ou vérifier leur taille ou leur épaisseur et réessayer.\n" msgid "" -"An object's XY size compensation will not be used because it is also color-painted.\n" +"An object's XY size compensation will not be used because it is also color-" +"painted.\n" "XY Size compensation can not be combined with color-painting." msgstr "" -"La compensation de taille X-Y d’un objet ne sera pas utilisée car il est également peint en couleur.\n" -"La compensation de taille X-Y ne peut pas être combinée avec la peinture en couleur." +"La compensation de taille X-Y d’un objet ne sera pas utilisée car il est " +"également peint en couleur.\n" +"La compensation de taille X-Y ne peut pas être combinée avec la peinture en " +"couleur." #, c-format, boost-format msgid "Support: generate toolpath at layer %d" @@ -8883,233 +9900,340 @@ msgstr "" "Début > 10 intervalles >= 0\n" "Fin > Début + Intervalle)" -#: resources/data/hints.ini: [hint:3D Scene Operations] -msgid "" -"3D Scene Operations\n" -"Did you know how to control view and object/part selection with mouse and touchpanel in the 3D scene?" -msgstr "" -"Opérations de scène 3D\n" -"Savez-vous comment contrôler la vue et la sélection d'objets/pièces avec la souris et l'écran tactile dans la scène 3D ?" +msgid "Start retraction length: " +msgstr "Longueur de rétraction de début: " -#: resources/data/hints.ini: [hint:Cut Tool] -msgid "" -"Cut Tool\n" -"Did you know that you can cut a model at any angle and position with the cutting tool?" -msgstr "" -"Outil de coupe\n" -"Saviez-vous que vous pouvez couper un modèle à n'importe quel angle et position avec l'outil de coupe ?" +msgid "End retraction length: " +msgstr "Longueur de rétraction de fin: " -#: resources/data/hints.ini: [hint:Fix Model] -msgid "" -"Fix Model\n" -"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing problems?" -msgstr "" -"Réparer le modèle\n" -"Saviez-vous que vous pouvez réparer un modèle 3D corrompu pour éviter de nombreux problèmes de découpage ?" +msgid "mm/mm" +msgstr "mm/mm" -#: resources/data/hints.ini: [hint:Timelapse] -msgid "" -"Timelapse\n" -"Did you know that you can generate a timelapse video during each print?" -msgstr "" -"Timelapse\n" -"Saviez-vous que vous pouvez générer une vidéo Timelapse lors de chaque impression ?" +msgid "Physical Printer" +msgstr "Imprimante Physique" -#: resources/data/hints.ini: [hint:Auto-Arrange] -msgid "" -"Auto-Arrange\n" -"Did you know that you can auto-arrange all objects in your project?" -msgstr "" -"Organisation automatique\n" -"Saviez-vous que vous pouvez organiser automatiquement tous les objets de votre projet ?" +msgid "Print Host upload" +msgstr "Envoi vers l’imprimante hôte" -#: resources/data/hints.ini: [hint:Auto-Orient] -msgid "" -"Auto-Orient\n" -"Did you know that you can rotate objects to an optimal orientation for printing by a simple click?" -msgstr "" -"Orientation automatique\n" -"Saviez-vous que vous pouvez faire pivoter des objets dans une orientation optimale pour l'impression d'un simple clic ?" +msgid "Test" +msgstr "Tester" -#: resources/data/hints.ini: [hint:Lay on Face] -msgid "" -"Lay on Face\n" -"Did you know that you can quickly orient a model so that one of its faces sits on the print bed? Select the \"Place on " -"face\" function or press the F key." -msgstr "" -"Poser sur la face\n" -"Saviez-vous que vous pouvez orienter rapidement un modèle de manière à ce que l'une de ses faces repose sur le plateau " -"d'impression ? Sélectionnez la fonction \"Poser sur la face\" ou appuyez sur la touche F." +msgid "Could not get a valid Printer Host reference" +msgstr "Impossible d’obtenir une référence d’imprimante hôte valide" -#: resources/data/hints.ini: [hint:Object List] -msgid "" -"Object List\n" -"Did you know that you can view all objects/parts in a list and change settings for each object/part?" -msgstr "" -"Liste d'objets\n" -"Saviez-vous que vous pouvez afficher tous les objets/pièces dans une liste et modifier les paramètres de chaque objet/" -"pièce ?" +msgid "Success!" +msgstr "Succès !" -#: resources/data/hints.ini: [hint:Simplify Model] -msgid "" -"Simplify Model\n" -"Did you know that you can reduce the number of triangles in a mesh using the Simplify mesh feature? Right-click the " -"model and select Simplify model. Read more in the documentation." -msgstr "" -"Simplifier le modèle\n" -"Saviez-vous que vous pouvez réduire le nombre de triangles dans un maillage à l'aide de la fonction Simplifier le " -"maillage ? Cliquez avec le bouton droit sur le modèle et sélectionnez Simplifier le modèle. Plus d'informations dans la " -"documentation." +msgid "Refresh Printers" +msgstr "Actualiser les imprimantes" -#: resources/data/hints.ini: [hint:Slicing Parameter Table] msgid "" -"Slicing Parameter Table\n" -"Did you know that you can view all objects/parts on a table and change settings for each object/part?" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." msgstr "" -"Tableau des paramètres de découpage\n" -"Saviez-vous que vous pouvez afficher tous les objets/pièces d'un tableau et modifier les paramètres de chaque objet/" -"pièce ?" +"Le fichier CA HTTPS est facultatif. Il n'est nécessaire que si vous utilisez " +"HTTPS avec un certificat auto-signé." -#: resources/data/hints.ini: [hint:Split to Objects/Parts] -msgid "" -"Split to Objects/Parts\n" -"Did you know that you can split a big object into small ones for easy colorizing or printing?" +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "" -"Fractionner en objets/pièces\n" -"Saviez-vous que vous pouvez diviser un gros objet en petits objets pour faciliter la coloration ou l'impression ?" +"Fichiers de certificat (*.crt, *.pem)|*.crt;*.pem|Tous les fichiers|*.*" -#: resources/data/hints.ini: [hint:Subtract a Part] -msgid "" -"Subtract a Part\n" -"Did you know that you can subtract one mesh from another using the Negative part modifier? That way you can, for " -"example, create easily resizable holes directly in Orca Slicer. Read more in the documentation." -msgstr "" -"Soustraire une partie\n" -"Saviez-vous que vous pouvez soustraire un maillage d'un autre à l'aide du modificateur de partie négative ? De cette " -"façon, vous pouvez, par exemple, créer des trous facilement redimensionnables directement dans Orca Slicer. Plus " -"d'informations dans la documentation." +msgid "Open CA certificate file" +msgstr "Ouvrir le fichier de certificat CA" -#: resources/data/hints.ini: [hint:STEP] +#, c-format, boost-format msgid "" -"STEP\n" -"Did you know that you can improve your print quality by slicing a STEP file instead of an STL?\n" -"Orca Slicer supports slicing STEP files, providing smoother results than a lower resolution STL. Give it a try!" +"On this system, %s uses HTTPS certificates from the system Certificate Store " +"or Keychain." msgstr "" -"STEP\n" -"Saviez-vous que vous pouvez améliorer votre qualité d'impression en découpant un fichier .step au lieu d'un .stl ?\n" -"Orca Slicer prend en charge le découpage des fichiers .step, offrant des résultats plus fluides qu'un .stl de résolution " -"inférieure. Essayez !" +"Sur ce système, %s utilise les certificats HTTPS du magasin de certificats " +"du système ou du trousseau." -#: resources/data/hints.ini: [hint:Z seam location] msgid "" -"Z seam location\n" -"Did you know that you can customize the location of the Z seam, and even paint it on your print, to have it in a less " -"visible location? This improves the overall look of your model. Check it out!" +"To use a custom CA file, please import your CA file into Certificate Store / " +"Keychain." msgstr "" -"Emplacement de la couture en Z\n" -"Saviez-vous que vous pouvez personnaliser l'emplacement de la couture Z, et même la peindre sur votre impression, pour " -"l'avoir dans un endroit moins visible ? Cela améliore l'aspect général de votre impression. Essayez !" +"Pour utiliser un certificat personnalisé, veuillez importer votre fichier " +"dans magasin de certificats / trousseau." -#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] -msgid "" -"Fine-tuning for flow rate\n" -"Did you know that flow rate can be fine-tuned for even better-looking prints? Depending on the material, you can improve " -"the overall finish of the printed model by doing some fine-tuning." +msgid "Connection to printers connected via the print host failed." msgstr "" -"Réglage précis du débit\n" -"Saviez-vous que le débit peut être ajusté pour des impressions encore plus belles ? Selon le matériau, vous pouvez " -"améliorer la finition globale du modèle imprimé en effectuant quelques ajustements." +"La connexion aux imprimantes connectées via l’hôte d’impression a échoué." -#: resources/data/hints.ini: [hint:Split your prints into plates] -msgid "" -"Split your prints into plates\n" -"Did you know that you can split a model that has a lot of parts into individual plates ready to print? This will " -"simplify the process of keeping track of all the parts." -msgstr "" -"Divisez vos impressions en plateaux\n" -"Saviez-vous que vous pouvez diviser un modèle comportant de nombreuses pièces en plateaux individuels prêts à imprimer ? " -"Cela simplifiera le processus de suivi de toutes les pièces." +#~ msgid "Other color" +#~ msgstr "Autres couleurs" -#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer Height] -msgid "" -"Speed up your print with Adaptive Layer Height\n" -"Did you know that you can print a model even faster, by using the Adaptive Layer Height option? Check it out!" -msgstr "" -"Accélérez votre impression avec la hauteur de couche adaptative\n" -"Saviez-vous que vous pouvez imprimer un modèle encore plus rapidement en utilisant l'option Hauteur de couche " -"adaptative ? Essayez !" +#~ msgid "" +#~ "3D Scene Operations\n" +#~ "Did you know how to control view and object/part selection with mouse and " +#~ "touchpanel in the 3D scene?" +#~ msgstr "" +#~ "Opérations de scène 3D\n" +#~ "Savez-vous comment contrôler la vue et la sélection d'objets/pièces avec " +#~ "la souris et l'écran tactile dans la scène 3D ?" -#: resources/data/hints.ini: [hint:Support painting] -msgid "" -"Support painting\n" -"Did you know that you can paint the location of your supports? This feature makes it easy to place the support material " -"only on the sections of the model that actually need it." -msgstr "" -"Peindre les supports\n" -"Saviez-vous que vous pouvez peindre l'emplacement de vos supports ? Cette fonctionnalité permet de placer facilement les " -"supports uniquement sur les sections du modèle qui en ont réellement besoin." +#~ msgid "" +#~ "Cut Tool\n" +#~ "Did you know that you can cut a model at any angle and position with the " +#~ "cutting tool?" +#~ msgstr "" +#~ "Outil de coupe\n" +#~ "Saviez-vous que vous pouvez couper un modèle à n'importe quel angle et " +#~ "position avec l'outil de coupe ?" -#: resources/data/hints.ini: [hint:Different types of supports] -msgid "" -"Different types of supports\n" -"Did you know that you can choose from multiple types of supports? Tree supports work great for organic models, while " -"saving filament and improving print speed. Check them out!" -msgstr "" -"Différents types de supports\n" -"Saviez-vous que vous pouvez choisir parmi plusieurs types de supports ? Les supports arborescents fonctionnent " -"parfaitement pour les modèles organiques, tout en économisant du filament et en améliorant la vitesse d'impression. . " -"Essayez-les !" +#~ msgid "" +#~ "Fix Model\n" +#~ "Did you know that you can fix a corrupted 3D model to avoid a lot of " +#~ "slicing problems?" +#~ msgstr "" +#~ "Réparer le modèle\n" +#~ "Saviez-vous que vous pouvez réparer un modèle 3D corrompu pour éviter de " +#~ "nombreux problèmes de découpage ?" -#: resources/data/hints.ini: [hint:Printing Silk Filament] -msgid "" -"Printing Silk Filament\n" -"Did you know that Silk filament needs special consideration to print it successfully? Higher temperature and lower speed " -"are always recommended for the best results." -msgstr "" -"Impression de filament Silk\n" -"Saviez-vous que le filament Silk nécessite une attention particulière pour être imprimé avec succès ? Une température " -"plus élevée et une vitesse plus faible sont toujours recommandées pour obtenir les meilleurs résultats." +#~ msgid "" +#~ "Timelapse\n" +#~ "Did you know that you can generate a timelapse video during each print?" +#~ msgstr "" +#~ "Timelapse\n" +#~ "Saviez-vous que vous pouvez générer une vidéo Timelapse lors de chaque " +#~ "impression ?" -#: resources/data/hints.ini: [hint:Brim for better adhesion] -msgid "" -"Brim for better adhesion\n" -"Did you know that when printing models have a small contact interface with the printing surface, it's recommended to use " -"a brim?" -msgstr "" -"Bordure pour une meilleure adhérence\n" -"Saviez-vous que lorsque les modèles d'impression ont une petite surface de contact sur le plateau, il est recommandé " -"d'utiliser une bordure ?" +#~ msgid "" +#~ "Auto-Arrange\n" +#~ "Did you know that you can auto-arrange all objects in your project?" +#~ msgstr "" +#~ "Organisation automatique\n" +#~ "Saviez-vous que vous pouvez organiser automatiquement tous les objets de " +#~ "votre projet ?" -#: resources/data/hints.ini: [hint:Set parameters for multiple objects] -msgid "" -"Set parameters for multiple objects\n" -"Did you know that you can set slicing parameters for all selected objects at one time?" -msgstr "" -"Définir les paramètres de plusieurs objets\n" -"Saviez-vous que vous pouvez définir des paramètres de découpage pour tous les objets sélectionnés en même temps ?" +#~ msgid "" +#~ "Auto-Orient\n" +#~ "Did you know that you can rotate objects to an optimal orientation for " +#~ "printing by a simple click?" +#~ msgstr "" +#~ "Orientation automatique\n" +#~ "Saviez-vous que vous pouvez faire pivoter des objets dans une orientation " +#~ "optimale pour l'impression d'un simple clic ?" -#: resources/data/hints.ini: [hint:Stack objects] -msgid "" -"Stack objects\n" -"Did you know that you can stack objects as a whole one?" -msgstr "" -"Empiler des objets\n" -"Saviez-vous que vous pouvez assembler des objets en un seul ?" +#~ msgid "" +#~ "Lay on Face\n" +#~ "Did you know that you can quickly orient a model so that one of its faces " +#~ "sits on the print bed? Select the \"Place on face\" function or press the " +#~ "F key." +#~ msgstr "" +#~ "Poser sur la face\n" +#~ "Saviez-vous que vous pouvez orienter rapidement un modèle de manière à ce " +#~ "que l'une de ses faces repose sur le plateau d'impression ? Sélectionnez " +#~ "la fonction \"Poser sur la face\" ou appuyez sur la touche F." -#: resources/data/hints.ini: [hint:Flush into support/objects/infill] -msgid "" -"Flush into support/objects/infill\n" -"Did you know that you can save the wasted filament by flushing them into support/objects/infill during filament change?" -msgstr "" -"Purge dans les supports / les objets / le remplissage\n" -"Saviez-vous que vous pouvez économiser du filament en le purgeant dans les supports / les objets / le remplissage lors " -"du changement de filament ?" +#~ msgid "" +#~ "Object List\n" +#~ "Did you know that you can view all objects/parts in a list and change " +#~ "settings for each object/part?" +#~ msgstr "" +#~ "Liste d'objets\n" +#~ "Saviez-vous que vous pouvez afficher tous les objets/pièces dans une " +#~ "liste et modifier les paramètres de chaque objet/pièce ?" -#: resources/data/hints.ini: [hint:Improve strength] -msgid "" -"Improve strength\n" -"Did you know that you can use more wall loops and higher sparse infill density to improve the strength of the model?" -msgstr "" -"Améliorer la résistance\n" -"Saviez-vous que vous pouvez utiliser plus de parois et une densité de remplissage plus élevée pour améliorer la " -"résistance du modèle ?" +#~ msgid "" +#~ "Simplify Model\n" +#~ "Did you know that you can reduce the number of triangles in a mesh using " +#~ "the Simplify mesh feature? Right-click the model and select Simplify " +#~ "model. Read more in the documentation." +#~ msgstr "" +#~ "Simplifier le modèle\n" +#~ "Saviez-vous que vous pouvez réduire le nombre de triangles dans un " +#~ "maillage à l'aide de la fonction Simplifier le maillage ? Cliquez avec le " +#~ "bouton droit sur le modèle et sélectionnez Simplifier le modèle. Plus " +#~ "d'informations dans la documentation." + +#~ msgid "" +#~ "Slicing Parameter Table\n" +#~ "Did you know that you can view all objects/parts on a table and change " +#~ "settings for each object/part?" +#~ msgstr "" +#~ "Tableau des paramètres de découpage\n" +#~ "Saviez-vous que vous pouvez afficher tous les objets/pièces d'un tableau " +#~ "et modifier les paramètres de chaque objet/pièce ?" + +#~ msgid "" +#~ "Split to Objects/Parts\n" +#~ "Did you know that you can split a big object into small ones for easy " +#~ "colorizing or printing?" +#~ msgstr "" +#~ "Fractionner en objets/pièces\n" +#~ "Saviez-vous que vous pouvez diviser un gros objet en petits objets pour " +#~ "faciliter la coloration ou l'impression ?" + +#~ msgid "" +#~ "Subtract a Part\n" +#~ "Did you know that you can subtract one mesh from another using the " +#~ "Negative part modifier? That way you can, for example, create easily " +#~ "resizable holes directly in Orca Slicer. Read more in the documentation." +#~ msgstr "" +#~ "Soustraire une partie\n" +#~ "Saviez-vous que vous pouvez soustraire un maillage d'un autre à l'aide du " +#~ "modificateur de partie négative ? De cette façon, vous pouvez, par " +#~ "exemple, créer des trous facilement redimensionnables directement dans " +#~ "Orca Slicer. Plus d'informations dans la documentation." + +#~ msgid "" +#~ "STEP\n" +#~ "Did you know that you can improve your print quality by slicing a STEP " +#~ "file instead of an STL?\n" +#~ "Orca Slicer supports slicing STEP files, providing smoother results than " +#~ "a lower resolution STL. Give it a try!" +#~ msgstr "" +#~ "STEP\n" +#~ "Saviez-vous que vous pouvez améliorer votre qualité d'impression en " +#~ "découpant un fichier .step au lieu d'un .stl ?\n" +#~ "Orca Slicer prend en charge le découpage des fichiers .step, offrant des " +#~ "résultats plus fluides qu'un .stl de résolution inférieure. Essayez !" + +#~ msgid "" +#~ "Z seam location\n" +#~ "Did you know that you can customize the location of the Z seam, and even " +#~ "paint it on your print, to have it in a less visible location? This " +#~ "improves the overall look of your model. Check it out!" +#~ msgstr "" +#~ "Emplacement de la couture en Z\n" +#~ "Saviez-vous que vous pouvez personnaliser l'emplacement de la couture Z, " +#~ "et même la peindre sur votre impression, pour l'avoir dans un endroit " +#~ "moins visible ? Cela améliore l'aspect général de votre impression. " +#~ "Essayez !" + +#~ msgid "" +#~ "Fine-tuning for flow rate\n" +#~ "Did you know that flow rate can be fine-tuned for even better-looking " +#~ "prints? Depending on the material, you can improve the overall finish of " +#~ "the printed model by doing some fine-tuning." +#~ msgstr "" +#~ "Réglage précis du débit\n" +#~ "Saviez-vous que le débit peut être ajusté pour des impressions encore " +#~ "plus belles ? Selon le matériau, vous pouvez améliorer la finition " +#~ "globale du modèle imprimé en effectuant quelques ajustements." + +#~ msgid "" +#~ "Split your prints into plates\n" +#~ "Did you know that you can split a model that has a lot of parts into " +#~ "individual plates ready to print? This will simplify the process of " +#~ "keeping track of all the parts." +#~ msgstr "" +#~ "Divisez vos impressions en plateaux\n" +#~ "Saviez-vous que vous pouvez diviser un modèle comportant de nombreuses " +#~ "pièces en plateaux individuels prêts à imprimer ? Cela simplifiera le " +#~ "processus de suivi de toutes les pièces." + +#~ msgid "" +#~ "Speed up your print with Adaptive Layer Height\n" +#~ "Did you know that you can print a model even faster, by using the " +#~ "Adaptive Layer Height option? Check it out!" +#~ msgstr "" +#~ "Accélérez votre impression avec la hauteur de couche adaptative\n" +#~ "Saviez-vous que vous pouvez imprimer un modèle encore plus rapidement en " +#~ "utilisant l'option Hauteur de couche adaptative ? Essayez !" + +#~ msgid "" +#~ "Support painting\n" +#~ "Did you know that you can paint the location of your supports? This " +#~ "feature makes it easy to place the support material only on the sections " +#~ "of the model that actually need it." +#~ msgstr "" +#~ "Peindre les supports\n" +#~ "Saviez-vous que vous pouvez peindre l'emplacement de vos supports ? Cette " +#~ "fonctionnalité permet de placer facilement les supports uniquement sur " +#~ "les sections du modèle qui en ont réellement besoin." + +#~ msgid "" +#~ "Different types of supports\n" +#~ "Did you know that you can choose from multiple types of supports? Tree " +#~ "supports work great for organic models, while saving filament and " +#~ "improving print speed. Check them out!" +#~ msgstr "" +#~ "Différents types de supports\n" +#~ "Saviez-vous que vous pouvez choisir parmi plusieurs types de supports ? " +#~ "Les supports arborescents fonctionnent parfaitement pour les modèles " +#~ "organiques, tout en économisant du filament et en améliorant la vitesse " +#~ "d'impression. . Essayez-les !" + +#~ msgid "" +#~ "Printing Silk Filament\n" +#~ "Did you know that Silk filament needs special consideration to print it " +#~ "successfully? Higher temperature and lower speed are always recommended " +#~ "for the best results." +#~ msgstr "" +#~ "Impression de filament Silk\n" +#~ "Saviez-vous que le filament Silk nécessite une attention particulière " +#~ "pour être imprimé avec succès ? Une température plus élevée et une " +#~ "vitesse plus faible sont toujours recommandées pour obtenir les meilleurs " +#~ "résultats." + +#~ msgid "" +#~ "Brim for better adhesion\n" +#~ "Did you know that when printing models have a small contact interface " +#~ "with the printing surface, it's recommended to use a brim?" +#~ msgstr "" +#~ "Bordure pour une meilleure adhérence\n" +#~ "Saviez-vous que lorsque les modèles d'impression ont une petite surface " +#~ "de contact sur le plateau, il est recommandé d'utiliser une bordure ?" + +#~ msgid "" +#~ "Set parameters for multiple objects\n" +#~ "Did you know that you can set slicing parameters for all selected objects " +#~ "at one time?" +#~ msgstr "" +#~ "Définir les paramètres de plusieurs objets\n" +#~ "Saviez-vous que vous pouvez définir des paramètres de découpage pour tous " +#~ "les objets sélectionnés en même temps ?" + +#~ msgid "" +#~ "Stack objects\n" +#~ "Did you know that you can stack objects as a whole one?" +#~ msgstr "" +#~ "Empiler des objets\n" +#~ "Saviez-vous que vous pouvez assembler des objets en un seul ?" + +#~ msgid "" +#~ "Flush into support/objects/infill\n" +#~ "Did you know that you can save the wasted filament by flushing them into " +#~ "support/objects/infill during filament change?" +#~ msgstr "" +#~ "Purge dans les supports / les objets / le remplissage\n" +#~ "Saviez-vous que vous pouvez économiser du filament en le purgeant dans " +#~ "les supports / les objets / le remplissage lors du changement de " +#~ "filament ?" + +#~ msgid "" +#~ "Improve strength\n" +#~ "Did you know that you can use more wall loops and higher sparse infill " +#~ "density to improve the strength of the model?" +#~ msgstr "" +#~ "Améliorer la résistance\n" +#~ "Saviez-vous que vous pouvez utiliser plus de parois et une densité de " +#~ "remplissage plus élevée pour améliorer la résistance du modèle ?" + +#~ msgid "" +#~ "If enabled, support loops will be generated under the contours of " +#~ "internal bridges. These support loops could prevent internal bridges from " +#~ "extruding over the air and improve the top surface quality, especially " +#~ "when the sparse infill density is low.This value determines the thickness " +#~ "of the support loops. 0 means disable this feature" +#~ msgstr "" +#~ "Si cette option est activée, Bambu Studio génère des boucles de support " +#~ "sous les contours des ponts internes. Ces boucles de support peuvent " +#~ "empêcher les ponts internes de s'extruder dans le vide et améliorer la " +#~ "qualité de la surface supérieure, en particulier lorsque la densité de " +#~ "remplissage est faible. Cette valeur détermine l'épaisseur de boucles de " +#~ "soutien. Une valeur à 0 signifie que cette fonctionnalité est désactivée" + +#~ msgid "Maximum speed of X axis" +#~ msgstr "Vitesse maximale de l'axe X" + +#~ msgid "Maximum speed of Y axis" +#~ msgstr "Vitesse maximale de l'axe Y" + +#~ msgid "Maximum speed of Z axis" +#~ msgstr "Vitesse maximale de l'axe Z" + +#~ msgid "Maximum speed of E axis" +#~ msgstr "Vitesse maximale de l'extrudeur" diff --git a/bbl/i18n/hu/OrcaSlicer_hu.po b/bbl/i18n/hu/OrcaSlicer_hu.po index a92bb13f52..efbd5e26ed 100644 --- a/bbl/i18n/hu/OrcaSlicer_hu.po +++ b/bbl/i18n/hu/OrcaSlicer_hu.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-29 20:13+0800\n" +"POT-Creation-Date: 2023-07-07 00:37+0800\n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1894,7 +1894,10 @@ msgstr "" msgid "You need to select the material type and color first." msgstr "" -msgid "Other color" +msgid "Other Color" +msgstr "" + +msgid "Custom Color" msgstr "" msgid "Dynamic flow calibration" @@ -3302,6 +3305,12 @@ msgstr "" msgid "Pressure advance" msgstr "" +msgid "Retraction test" +msgstr "" + +msgid "Orca Tolerance Test" +msgstr "" + msgid "Max flowrate" msgstr "" @@ -5185,9 +5194,6 @@ msgstr "G-kód kimenet" msgid "Post-processing Scripts" msgstr "" -msgid "Post-processing scripts" -msgstr "" - msgid "Frequent" msgstr "Gyakori" @@ -5326,6 +5332,12 @@ msgstr "Filament befejező G-kód" msgid "Printable space" msgstr "Nyomtatási terület" +msgid "Cooling Fan" +msgstr "" + +msgid "Fan speed-up time" +msgstr "" + msgid "Extruder Clearance" msgstr "" @@ -6291,6 +6303,9 @@ msgstr "" msgid "No extrusions under current settings." msgstr "A jelenlegi beállítások mellett nincsenek extrudálások." +msgid "Bed temperatures for the used filaments differ significantly." +msgstr "" + msgid "" "Smooth mode of timelapse is not supported when \"by object\" sequence is " "enabled." @@ -6645,7 +6660,7 @@ msgid "" "all outer wall no matter how much overhang degree" msgstr "" -msgid "Bridge direction" +msgid "Bridge infill direction" msgstr "" msgid "" @@ -6897,11 +6912,11 @@ msgid "Internal bridge support thickness" msgstr "" msgid "" -"If enabled, Studio will generate support loops under the contours of " -"internal bridges.These support loops could prevent internal bridges from " -"extruding over the air and improve the top surface quality, especially when " -"the sparse infill density is low.This value determines the thickness of the " -"support loops. 0 means disable this feature" +"If enabled, support loops will be generated under the contours of internal " +"bridges.These support loops could prevent internal bridges from extruding " +"over the air and improve the top surface quality, especially when the sparse " +"infill density is low.This value determines the thickness of the support " +"loops. 0 means disable this feature" msgstr "" msgid "Top surface pattern" @@ -7214,14 +7229,6 @@ msgstr "" "A ritkás kitöltési minta szöge, amely a vonal kezdő- vagy fő irányát " "szabályozza" -msgid "Bridge infill direction" -msgstr "" - -msgid "" -"Angle for bridge infill pattern, which controls the start or main direction " -"of line" -msgstr "" - msgid "Sparse infill density" msgstr "Kitöltés sűrűsége" @@ -7267,6 +7274,45 @@ msgstr "" msgid "Lightning" msgstr "" +msgid "Sparse infill anchor length" +msgstr "" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than infill_anchor_max is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to this parameter, but no longer than anchor_length_max. \n" +"Set this parameter to zero to disable anchoring perimeters connected to a " +"single infill line." +msgstr "" + +msgid "0 (no open anchors)" +msgstr "" + +msgid "1000 (unlimited)" +msgstr "" + +msgid "Maximum length of the infill anchor" +msgstr "" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than this parameter is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to infill_anchor, but no longer than this parameter. \n" +"If set to 0, the old algorithm for infill connection will be used, it should " +"create the same result as with 1000 & 0." +msgstr "" + +msgid "0 (Simple connect)" +msgstr "" + msgid "Acceleration of outer walls" msgstr "" @@ -7371,6 +7417,14 @@ msgstr "" msgid "Travel speed of initial layer" msgstr "" +msgid "Number of slow layers" +msgstr "" + +msgid "" +"The first few layers are printed slower than normal. The speed is gradually " +"increased in a linear fashion over the specified number of layers." +msgstr "" + msgid "Initial layer nozzle temperature" msgstr "Az első réteg fúvóka hőmérséklete" @@ -7380,6 +7434,24 @@ msgstr "A fúvóka hőmérséklete az első réteg nyomtatásakor ezzel a filame msgid "Full fan speed at layer" msgstr "Teljes ventilátor fordulatszám ennél a rétegnél" +msgid "" +"Fan speed will be ramped up linearly from zero at layer " +"\"close_fan_the_first_x_layers\" to maximum at layer \"full_fan_speed_layer" +"\". \"full_fan_speed_layer\" will be ignored if lower than " +"\"close_fan_the_first_x_layers\", in which case the fan will be running at " +"maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1." +msgstr "" + +msgid "Support interface fan speed" +msgstr "" + +msgid "" +"This fan speed is enforced during all support interfaces, to be able to " +"weaken their bonding with a high fan speed.\n" +"Set to -1 to disable this override.\n" +"Can only be overriden by disable_fan_first_layers." +msgstr "" + msgid "" "Randomly jitter while printing the wall, so that the surface has a rough " "look. This setting controls the fuzzy position" @@ -7502,6 +7574,35 @@ msgstr "" "Engedélyezd ezt az opciót, ha a gép rendelkezik kiegészítő tárgyhűtő " "ventilátorral" +msgid "" +"Start the fan this number of seconds earlier than its target start time (you " +"can use fractional seconds). It assumes infinite acceleration for this time " +"estimation, and will only take into account G1 and G0 moves (arc fitting is " +"unsupported).\n" +"It won't move fan comands from custom gcodes (they act as a sort of " +"'barrier').\n" +"It won't move fan comands into the start gcode if the 'only custom start " +"gcode' is activated.\n" +"Use 0 to deactivate." +msgstr "" + +msgid "Only overhangs" +msgstr "" + +msgid "Will only take into account the delay for the cooling of overhangs." +msgstr "" + +msgid "Fan kick-start time" +msgstr "" + +msgid "" +"Emit a max fan speed command for this amount of seconds before reducing to " +"target speed to kick-start the cooling fan.\n" +"This is useful for fans where a low PWM/power may be insufficient to get the " +"fan started spinning from a stop, or to get the fan up to speed faster.\n" +"Set to 0 to deactivate." +msgstr "" + msgid "G-code flavor" msgstr "G-kód változat" @@ -8040,14 +8141,22 @@ msgstr "Hátul" msgid "Random" msgstr "" +msgid "Staggered inner seams" +msgstr "" + +msgid "" +"This option causes the inner seams to be shifted backwards based on their " +"depth, forming a zigzag pattern." +msgstr "" + msgid "Seam gap" msgstr "" msgid "" "In order to reduce the visibility of the seam in a closed loop extrusion, " "the loop is interrupted and shortened by a specified amount.\n" -"This amount can be specified in millimeters or as a percentage of the current " -"extruder diameter. The default value for this parameter is 15%." +"This amount can be specified in millimeters or as a percentage of the " +"current extruder diameter. The default value for this parameter is 15%." msgstr "" msgid "Role base wipe speed" @@ -8101,6 +8210,12 @@ msgstr "" "Még a tárgyak előtt kerül nyomtatásra és a feladata a fúvóka " "anyagáramlásának stabilizálása" +msgid "Skirt speed" +msgstr "" + +msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -9088,188 +9203,56 @@ msgid "" "end > start + step)" msgstr "" -#: resources/data/hints.ini: [hint:3D Scene Operations] -msgid "" -"3D Scene Operations\n" -"Did you know how to control view and object/part selection with mouse and " -"touchpanel in the 3D scene?" +msgid "Start retraction length: " msgstr "" -#: resources/data/hints.ini: [hint:Cut Tool] -msgid "" -"Cut Tool\n" -"Did you know that you can cut a model at any angle and position with the " -"cutting tool?" +msgid "End retraction length: " msgstr "" -#: resources/data/hints.ini: [hint:Fix Model] -msgid "" -"Fix Model\n" -"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " -"problems?" +msgid "mm/mm" msgstr "" -#: resources/data/hints.ini: [hint:Timelapse] -msgid "" -"Timelapse\n" -"Did you know that you can generate a timelapse video during each print?" +msgid "Physical Printer" msgstr "" -#: resources/data/hints.ini: [hint:Auto-Arrange] -msgid "" -"Auto-Arrange\n" -"Did you know that you can auto-arrange all objects in your project?" +msgid "Print Host upload" msgstr "" -#: resources/data/hints.ini: [hint:Auto-Orient] -msgid "" -"Auto-Orient\n" -"Did you know that you can rotate objects to an optimal orientation for " -"printing by a simple click?" +msgid "Test" msgstr "" -#: resources/data/hints.ini: [hint:Lay on Face] -msgid "" -"Lay on Face\n" -"Did you know that you can quickly orient a model so that one of its faces " -"sits on the print bed? Select the \"Place on face\" function or press the " -"F key." +msgid "Could not get a valid Printer Host reference" msgstr "" -#: resources/data/hints.ini: [hint:Object List] -msgid "" -"Object List\n" -"Did you know that you can view all objects/parts in a list and change " -"settings for each object/part?" +msgid "Success!" msgstr "" -#: resources/data/hints.ini: [hint:Simplify Model] -msgid "" -"Simplify Model\n" -"Did you know that you can reduce the number of triangles in a mesh using the " -"Simplify mesh feature? Right-click the model and select Simplify model. Read " -"more in the documentation." +msgid "Refresh Printers" msgstr "" -#: resources/data/hints.ini: [hint:Slicing Parameter Table] msgid "" -"Slicing Parameter Table\n" -"Did you know that you can view all objects/parts on a table and change " -"settings for each object/part?" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." msgstr "" -#: resources/data/hints.ini: [hint:Split to Objects/Parts] -msgid "" -"Split to Objects/Parts\n" -"Did you know that you can split a big object into small ones for easy " -"colorizing or printing?" +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "" -#: resources/data/hints.ini: [hint:Subtract a Part] -msgid "" -"Subtract a Part\n" -"Did you know that you can subtract one mesh from another using the Negative " -"part modifier? That way you can, for example, create easily resizable holes " -"directly in Orca Slicer. Read more in the documentation." +msgid "Open CA certificate file" msgstr "" -#: resources/data/hints.ini: [hint:STEP] +#, c-format, boost-format msgid "" -"STEP\n" -"Did you know that you can improve your print quality by slicing a STEP file " -"instead of an STL?\n" -"Orca Slicer supports slicing STEP files, providing smoother results than a " -"lower resolution STL. Give it a try!" +"On this system, %s uses HTTPS certificates from the system Certificate Store " +"or Keychain." msgstr "" -#: resources/data/hints.ini: [hint:Z seam location] msgid "" -"Z seam location\n" -"Did you know that you can customize the location of the Z seam, and even " -"paint it on your print, to have it in a less visible location? This improves " -"the overall look of your model. Check it out!" +"To use a custom CA file, please import your CA file into Certificate Store / " +"Keychain." msgstr "" -#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] -msgid "" -"Fine-tuning for flow rate\n" -"Did you know that flow rate can be fine-tuned for even better-looking " -"prints? Depending on the material, you can improve the overall finish of the " -"printed model by doing some fine-tuning." -msgstr "" - -#: resources/data/hints.ini: [hint:Split your prints into plates] -msgid "" -"Split your prints into plates\n" -"Did you know that you can split a model that has a lot of parts into " -"individual plates ready to print? This will simplify the process of keeping " -"track of all the parts." -msgstr "" - -#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer -#: Height] -msgid "" -"Speed up your print with Adaptive Layer Height\n" -"Did you know that you can print a model even faster, by using the Adaptive " -"Layer Height option? Check it out!" -msgstr "" - -#: resources/data/hints.ini: [hint:Support painting] -msgid "" -"Support painting\n" -"Did you know that you can paint the location of your supports? This feature " -"makes it easy to place the support material only on the sections of the " -"model that actually need it." -msgstr "" - -#: resources/data/hints.ini: [hint:Different types of supports] -msgid "" -"Different types of supports\n" -"Did you know that you can choose from multiple types of supports? Tree " -"supports work great for organic models, while saving filament and improving " -"print speed. Check them out!" -msgstr "" - -#: resources/data/hints.ini: [hint:Printing Silk Filament] -msgid "" -"Printing Silk Filament\n" -"Did you know that Silk filament needs special consideration to print it " -"successfully? Higher temperature and lower speed are always recommended for " -"the best results." -msgstr "" - -#: resources/data/hints.ini: [hint:Brim for better adhesion] -msgid "" -"Brim for better adhesion\n" -"Did you know that when printing models have a small contact interface with " -"the printing surface, it's recommended to use a brim?" -msgstr "" - -#: resources/data/hints.ini: [hint:Set parameters for multiple objects] -msgid "" -"Set parameters for multiple objects\n" -"Did you know that you can set slicing parameters for all selected objects at " -"one time?" -msgstr "" - -#: resources/data/hints.ini: [hint:Stack objects] -msgid "" -"Stack objects\n" -"Did you know that you can stack objects as a whole one?" -msgstr "" - -#: resources/data/hints.ini: [hint:Flush into support/objects/infill] -msgid "" -"Flush into support/objects/infill\n" -"Did you know that you can save the wasted filament by flushing them into " -"support/objects/infill during filament change?" -msgstr "" - -#: resources/data/hints.ini: [hint:Improve strength] -msgid "" -"Improve strength\n" -"Did you know that you can use more wall loops and higher sparse infill " -"density to improve the strength of the model?" +msgid "Connection to printers connected via the print host failed." msgstr "" #~ msgid "Keep upper part" diff --git a/bbl/i18n/it/OrcaSlicer_it.po b/bbl/i18n/it/OrcaSlicer_it.po index 5e70c8fefa..ab8fcbaaea 100644 --- a/bbl/i18n/it/OrcaSlicer_it.po +++ b/bbl/i18n/it/OrcaSlicer_it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-29 20:13+0800\n" +"POT-Creation-Date: 2023-07-07 00:37+0800\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1870,7 +1870,10 @@ msgstr "" msgid "You need to select the material type and color first." msgstr "" -msgid "Other color" +msgid "Other Color" +msgstr "" + +msgid "Custom Color" msgstr "" msgid "Dynamic flow calibration" @@ -3276,6 +3279,12 @@ msgstr "" msgid "Pressure advance" msgstr "" +msgid "Retraction test" +msgstr "" + +msgid "Orca Tolerance Test" +msgstr "" + msgid "Max flowrate" msgstr "" @@ -5147,9 +5156,6 @@ msgstr "" msgid "Post-processing Scripts" msgstr "" -msgid "Post-processing scripts" -msgstr "" - msgid "Frequent" msgstr "Frequent" @@ -5285,6 +5291,12 @@ msgstr "Filament end G-code" msgid "Printable space" msgstr "Printable space" +msgid "Cooling Fan" +msgstr "" + +msgid "Fan speed-up time" +msgstr "" + msgid "Extruder Clearance" msgstr "" @@ -6238,6 +6250,9 @@ msgstr "" msgid "No extrusions under current settings." msgstr "No extrusions under current settings." +msgid "Bed temperatures for the used filaments differ significantly." +msgstr "" + msgid "" "Smooth mode of timelapse is not supported when \"by object\" sequence is " "enabled." @@ -6591,7 +6606,7 @@ msgid "" "all outer wall no matter how much overhang degree" msgstr "" -msgid "Bridge direction" +msgid "Bridge infill direction" msgstr "" msgid "" @@ -6840,11 +6855,11 @@ msgid "Internal bridge support thickness" msgstr "" msgid "" -"If enabled, Studio will generate support loops under the contours of " -"internal bridges.These support loops could prevent internal bridges from " -"extruding over the air and improve the top surface quality, especially when " -"the sparse infill density is low.This value determines the thickness of the " -"support loops. 0 means disable this feature" +"If enabled, support loops will be generated under the contours of internal " +"bridges.These support loops could prevent internal bridges from extruding " +"over the air and improve the top surface quality, especially when the sparse " +"infill density is low.This value determines the thickness of the support " +"loops. 0 means disable this feature" msgstr "" msgid "Top surface pattern" @@ -7154,14 +7169,6 @@ msgstr "" "This is the angle for sparse infill pattern, which controls the start or " "main direction of lines." -msgid "Bridge infill direction" -msgstr "" - -msgid "" -"Angle for bridge infill pattern, which controls the start or main direction " -"of line" -msgstr "" - msgid "Sparse infill density" msgstr "Sparse infill density" @@ -7207,6 +7214,45 @@ msgstr "" msgid "Lightning" msgstr "" +msgid "Sparse infill anchor length" +msgstr "" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than infill_anchor_max is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to this parameter, but no longer than anchor_length_max. \n" +"Set this parameter to zero to disable anchoring perimeters connected to a " +"single infill line." +msgstr "" + +msgid "0 (no open anchors)" +msgstr "" + +msgid "1000 (unlimited)" +msgstr "" + +msgid "Maximum length of the infill anchor" +msgstr "" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than this parameter is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to infill_anchor, but no longer than this parameter. \n" +"If set to 0, the old algorithm for infill connection will be used, it should " +"create the same result as with 1000 & 0." +msgstr "" + +msgid "0 (Simple connect)" +msgstr "" + msgid "Acceleration of outer walls" msgstr "" @@ -7312,6 +7358,14 @@ msgstr "" msgid "Travel speed of initial layer" msgstr "" +msgid "Number of slow layers" +msgstr "" + +msgid "" +"The first few layers are printed slower than normal. The speed is gradually " +"increased in a linear fashion over the specified number of layers." +msgstr "" + msgid "Initial layer nozzle temperature" msgstr "First layer nozzle temperature" @@ -7321,6 +7375,24 @@ msgstr "Nozzle temperature for printing the first layer with this filament" msgid "Full fan speed at layer" msgstr "Massima velocità della ventola al layer" +msgid "" +"Fan speed will be ramped up linearly from zero at layer " +"\"close_fan_the_first_x_layers\" to maximum at layer \"full_fan_speed_layer" +"\". \"full_fan_speed_layer\" will be ignored if lower than " +"\"close_fan_the_first_x_layers\", in which case the fan will be running at " +"maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1." +msgstr "" + +msgid "Support interface fan speed" +msgstr "" + +msgid "" +"This fan speed is enforced during all support interfaces, to be able to " +"weaken their bonding with a high fan speed.\n" +"Set to -1 to disable this override.\n" +"Can only be overriden by disable_fan_first_layers." +msgstr "" + msgid "" "Randomly jitter while printing the wall, so that the surface has a rough " "look. This setting controls the fuzzy position" @@ -7442,6 +7514,35 @@ msgstr "" msgid "Enable this option if machine has auxiliary part cooling fan" msgstr "Enable this option if the machine has an auxiliary part cooling fan" +msgid "" +"Start the fan this number of seconds earlier than its target start time (you " +"can use fractional seconds). It assumes infinite acceleration for this time " +"estimation, and will only take into account G1 and G0 moves (arc fitting is " +"unsupported).\n" +"It won't move fan comands from custom gcodes (they act as a sort of " +"'barrier').\n" +"It won't move fan comands into the start gcode if the 'only custom start " +"gcode' is activated.\n" +"Use 0 to deactivate." +msgstr "" + +msgid "Only overhangs" +msgstr "" + +msgid "Will only take into account the delay for the cooling of overhangs." +msgstr "" + +msgid "Fan kick-start time" +msgstr "" + +msgid "" +"Emit a max fan speed command for this amount of seconds before reducing to " +"target speed to kick-start the cooling fan.\n" +"This is useful for fans where a low PWM/power may be insufficient to get the " +"fan started spinning from a stop, or to get the fan up to speed faster.\n" +"Set to 0 to deactivate." +msgstr "" + msgid "G-code flavor" msgstr "Formato G-code" @@ -7969,14 +8070,22 @@ msgstr "Back" msgid "Random" msgstr "" +msgid "Staggered inner seams" +msgstr "" + +msgid "" +"This option causes the inner seams to be shifted backwards based on their " +"depth, forming a zigzag pattern." +msgstr "" + msgid "Seam gap" msgstr "" msgid "" "In order to reduce the visibility of the seam in a closed loop extrusion, " "the loop is interrupted and shortened by a specified amount.\n" -"This amount can be specified in millimeters or as a percentage of the current " -"extruder diameter. The default value for this parameter is 15%." +"This amount can be specified in millimeters or as a percentage of the " +"current extruder diameter. The default value for this parameter is 15%." msgstr "" msgid "Role base wipe speed" @@ -8025,6 +8134,12 @@ msgid "Number of loops for the skirt. Zero means disabling skirt" msgstr "" "This is the number of loops for the skirt. 0 means the skirt is disabled." +msgid "Skirt speed" +msgstr "" + +msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -9006,188 +9121,56 @@ msgid "" "end > start + step)" msgstr "" -#: resources/data/hints.ini: [hint:3D Scene Operations] -msgid "" -"3D Scene Operations\n" -"Did you know how to control view and object/part selection with mouse and " -"touchpanel in the 3D scene?" +msgid "Start retraction length: " msgstr "" -#: resources/data/hints.ini: [hint:Cut Tool] -msgid "" -"Cut Tool\n" -"Did you know that you can cut a model at any angle and position with the " -"cutting tool?" +msgid "End retraction length: " msgstr "" -#: resources/data/hints.ini: [hint:Fix Model] -msgid "" -"Fix Model\n" -"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " -"problems?" +msgid "mm/mm" msgstr "" -#: resources/data/hints.ini: [hint:Timelapse] -msgid "" -"Timelapse\n" -"Did you know that you can generate a timelapse video during each print?" +msgid "Physical Printer" msgstr "" -#: resources/data/hints.ini: [hint:Auto-Arrange] -msgid "" -"Auto-Arrange\n" -"Did you know that you can auto-arrange all objects in your project?" +msgid "Print Host upload" msgstr "" -#: resources/data/hints.ini: [hint:Auto-Orient] -msgid "" -"Auto-Orient\n" -"Did you know that you can rotate objects to an optimal orientation for " -"printing by a simple click?" +msgid "Test" msgstr "" -#: resources/data/hints.ini: [hint:Lay on Face] -msgid "" -"Lay on Face\n" -"Did you know that you can quickly orient a model so that one of its faces " -"sits on the print bed? Select the \"Place on face\" function or press the " -"F key." +msgid "Could not get a valid Printer Host reference" msgstr "" -#: resources/data/hints.ini: [hint:Object List] -msgid "" -"Object List\n" -"Did you know that you can view all objects/parts in a list and change " -"settings for each object/part?" +msgid "Success!" msgstr "" -#: resources/data/hints.ini: [hint:Simplify Model] -msgid "" -"Simplify Model\n" -"Did you know that you can reduce the number of triangles in a mesh using the " -"Simplify mesh feature? Right-click the model and select Simplify model. Read " -"more in the documentation." +msgid "Refresh Printers" msgstr "" -#: resources/data/hints.ini: [hint:Slicing Parameter Table] msgid "" -"Slicing Parameter Table\n" -"Did you know that you can view all objects/parts on a table and change " -"settings for each object/part?" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." msgstr "" -#: resources/data/hints.ini: [hint:Split to Objects/Parts] -msgid "" -"Split to Objects/Parts\n" -"Did you know that you can split a big object into small ones for easy " -"colorizing or printing?" +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "" -#: resources/data/hints.ini: [hint:Subtract a Part] -msgid "" -"Subtract a Part\n" -"Did you know that you can subtract one mesh from another using the Negative " -"part modifier? That way you can, for example, create easily resizable holes " -"directly in Orca Slicer. Read more in the documentation." +msgid "Open CA certificate file" msgstr "" -#: resources/data/hints.ini: [hint:STEP] +#, c-format, boost-format msgid "" -"STEP\n" -"Did you know that you can improve your print quality by slicing a STEP file " -"instead of an STL?\n" -"Orca Slicer supports slicing STEP files, providing smoother results than a " -"lower resolution STL. Give it a try!" +"On this system, %s uses HTTPS certificates from the system Certificate Store " +"or Keychain." msgstr "" -#: resources/data/hints.ini: [hint:Z seam location] msgid "" -"Z seam location\n" -"Did you know that you can customize the location of the Z seam, and even " -"paint it on your print, to have it in a less visible location? This improves " -"the overall look of your model. Check it out!" +"To use a custom CA file, please import your CA file into Certificate Store / " +"Keychain." msgstr "" -#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] -msgid "" -"Fine-tuning for flow rate\n" -"Did you know that flow rate can be fine-tuned for even better-looking " -"prints? Depending on the material, you can improve the overall finish of the " -"printed model by doing some fine-tuning." -msgstr "" - -#: resources/data/hints.ini: [hint:Split your prints into plates] -msgid "" -"Split your prints into plates\n" -"Did you know that you can split a model that has a lot of parts into " -"individual plates ready to print? This will simplify the process of keeping " -"track of all the parts." -msgstr "" - -#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer -#: Height] -msgid "" -"Speed up your print with Adaptive Layer Height\n" -"Did you know that you can print a model even faster, by using the Adaptive " -"Layer Height option? Check it out!" -msgstr "" - -#: resources/data/hints.ini: [hint:Support painting] -msgid "" -"Support painting\n" -"Did you know that you can paint the location of your supports? This feature " -"makes it easy to place the support material only on the sections of the " -"model that actually need it." -msgstr "" - -#: resources/data/hints.ini: [hint:Different types of supports] -msgid "" -"Different types of supports\n" -"Did you know that you can choose from multiple types of supports? Tree " -"supports work great for organic models, while saving filament and improving " -"print speed. Check them out!" -msgstr "" - -#: resources/data/hints.ini: [hint:Printing Silk Filament] -msgid "" -"Printing Silk Filament\n" -"Did you know that Silk filament needs special consideration to print it " -"successfully? Higher temperature and lower speed are always recommended for " -"the best results." -msgstr "" - -#: resources/data/hints.ini: [hint:Brim for better adhesion] -msgid "" -"Brim for better adhesion\n" -"Did you know that when printing models have a small contact interface with " -"the printing surface, it's recommended to use a brim?" -msgstr "" - -#: resources/data/hints.ini: [hint:Set parameters for multiple objects] -msgid "" -"Set parameters for multiple objects\n" -"Did you know that you can set slicing parameters for all selected objects at " -"one time?" -msgstr "" - -#: resources/data/hints.ini: [hint:Stack objects] -msgid "" -"Stack objects\n" -"Did you know that you can stack objects as a whole one?" -msgstr "" - -#: resources/data/hints.ini: [hint:Flush into support/objects/infill] -msgid "" -"Flush into support/objects/infill\n" -"Did you know that you can save the wasted filament by flushing them into " -"support/objects/infill during filament change?" -msgstr "" - -#: resources/data/hints.ini: [hint:Improve strength] -msgid "" -"Improve strength\n" -"Did you know that you can use more wall loops and higher sparse infill " -"density to improve the strength of the model?" +msgid "Connection to printers connected via the print host failed." msgstr "" #~ msgid "Keep upper part" diff --git a/bbl/i18n/ja/OrcaSlicer_ja.po b/bbl/i18n/ja/OrcaSlicer_ja.po index 014f498ed2..10287eb5a5 100644 --- a/bbl/i18n/ja/OrcaSlicer_ja.po +++ b/bbl/i18n/ja/OrcaSlicer_ja.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-29 20:13+0800\n" +"POT-Creation-Date: 2023-07-07 00:37+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -1861,7 +1861,10 @@ msgstr "有効な値を入力してください (K: 0 ~ 0.5, N: 0.6 ~ 2.0)" msgid "You need to select the material type and color first." msgstr "" -msgid "Other color" +msgid "Other Color" +msgstr "" + +msgid "Custom Color" msgstr "" msgid "Dynamic flow calibration" @@ -3258,6 +3261,12 @@ msgstr "" msgid "Pressure advance" msgstr "" +msgid "Retraction test" +msgstr "" + +msgid "Orca Tolerance Test" +msgstr "" + msgid "Max flowrate" msgstr "" @@ -5160,9 +5169,6 @@ msgstr "G-code出力" msgid "Post-processing Scripts" msgstr "" -msgid "Post-processing scripts" -msgstr "" - msgid "Frequent" msgstr "よく使う" @@ -5292,6 +5298,12 @@ msgstr "フィラメント終了G-code" msgid "Printable space" msgstr "造形可能領域" +msgid "Cooling Fan" +msgstr "" + +msgid "Fan speed-up time" +msgstr "" + msgid "Extruder Clearance" msgstr "押出機クリアランス" @@ -6236,6 +6248,9 @@ msgstr "" msgid "No extrusions under current settings." msgstr "現在の設定では造形しません" +msgid "Bed temperatures for the used filaments differ significantly." +msgstr "" + msgid "" "Smooth mode of timelapse is not supported when \"by object\" sequence is " "enabled." @@ -6591,8 +6606,8 @@ msgstr "" "how much width of the line without support from lower layer. 0% means " "forcing cooling for all outer wall no matter the overhang degree." -msgid "Bridge direction" -msgstr "ブリッジ方向" +msgid "Bridge infill direction" +msgstr "" msgid "" "Bridging angle override. If left to zero, the bridging angle will be " @@ -6834,11 +6849,11 @@ msgid "Internal bridge support thickness" msgstr "内部ブリッジサポート厚さ" msgid "" -"If enabled, Studio will generate support loops under the contours of " -"internal bridges.These support loops could prevent internal bridges from " -"extruding over the air and improve the top surface quality, especially when " -"the sparse infill density is low.This value determines the thickness of the " -"support loops. 0 means disable this feature" +"If enabled, support loops will be generated under the contours of internal " +"bridges.These support loops could prevent internal bridges from extruding " +"over the air and improve the top surface quality, especially when the sparse " +"infill density is low.This value determines the thickness of the support " +"loops. 0 means disable this feature" msgstr "" msgid "Top surface pattern" @@ -7143,14 +7158,6 @@ msgid "" "of line" msgstr "スパース インフィル パターンの角度です" -msgid "Bridge infill direction" -msgstr "" - -msgid "" -"Angle for bridge infill pattern, which controls the start or main direction " -"of line" -msgstr "" - msgid "Sparse infill density" msgstr "充填密度" @@ -7194,6 +7201,45 @@ msgstr "キュービックサポート" msgid "Lightning" msgstr "ライトニング" +msgid "Sparse infill anchor length" +msgstr "" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than infill_anchor_max is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to this parameter, but no longer than anchor_length_max. \n" +"Set this parameter to zero to disable anchoring perimeters connected to a " +"single infill line." +msgstr "" + +msgid "0 (no open anchors)" +msgstr "" + +msgid "1000 (unlimited)" +msgstr "" + +msgid "Maximum length of the infill anchor" +msgstr "" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than this parameter is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to infill_anchor, but no longer than this parameter. \n" +"If set to 0, the old algorithm for infill connection will be used, it should " +"create the same result as with 1000 & 0." +msgstr "" + +msgid "0 (Simple connect)" +msgstr "" + msgid "Acceleration of outer walls" msgstr "" @@ -7295,6 +7341,14 @@ msgstr "" msgid "Travel speed of initial layer" msgstr "" +msgid "Number of slow layers" +msgstr "" + +msgid "" +"The first few layers are printed slower than normal. The speed is gradually " +"increased in a linear fashion over the specified number of layers." +msgstr "" + msgid "Initial layer nozzle temperature" msgstr "1層目のノズル温度" @@ -7304,6 +7358,24 @@ msgstr "1層目でのノズル温度" msgid "Full fan speed at layer" msgstr "最大回転速度の積層" +msgid "" +"Fan speed will be ramped up linearly from zero at layer " +"\"close_fan_the_first_x_layers\" to maximum at layer \"full_fan_speed_layer" +"\". \"full_fan_speed_layer\" will be ignored if lower than " +"\"close_fan_the_first_x_layers\", in which case the fan will be running at " +"maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1." +msgstr "" + +msgid "Support interface fan speed" +msgstr "" + +msgid "" +"This fan speed is enforced during all support interfaces, to be able to " +"weaken their bonding with a high fan speed.\n" +"Set to -1 to disable this override.\n" +"Can only be overriden by disable_fan_first_layers." +msgstr "" + msgid "" "Randomly jitter while printing the wall, so that the surface has a rough " "look. This setting controls the fuzzy position" @@ -7415,6 +7487,35 @@ msgstr "HRC" msgid "Enable this option if machine has auxiliary part cooling fan" msgstr "パーツ補助冷却ファンがある場合有効にしてください" +msgid "" +"Start the fan this number of seconds earlier than its target start time (you " +"can use fractional seconds). It assumes infinite acceleration for this time " +"estimation, and will only take into account G1 and G0 moves (arc fitting is " +"unsupported).\n" +"It won't move fan comands from custom gcodes (they act as a sort of " +"'barrier').\n" +"It won't move fan comands into the start gcode if the 'only custom start " +"gcode' is activated.\n" +"Use 0 to deactivate." +msgstr "" + +msgid "Only overhangs" +msgstr "" + +msgid "Will only take into account the delay for the cooling of overhangs." +msgstr "" + +msgid "Fan kick-start time" +msgstr "" + +msgid "" +"Emit a max fan speed command for this amount of seconds before reducing to " +"target speed to kick-start the cooling fan.\n" +"This is useful for fans where a low PWM/power may be insufficient to get the " +"fan started spinning from a stop, or to get the fan up to speed faster.\n" +"Set to 0 to deactivate." +msgstr "" + msgid "G-code flavor" msgstr "G-codeスタイル" @@ -7930,14 +8031,22 @@ msgstr "背面" msgid "Random" msgstr "ランダム" +msgid "Staggered inner seams" +msgstr "" + +msgid "" +"This option causes the inner seams to be shifted backwards based on their " +"depth, forming a zigzag pattern." +msgstr "" + msgid "Seam gap" msgstr "" msgid "" "In order to reduce the visibility of the seam in a closed loop extrusion, " "the loop is interrupted and shortened by a specified amount.\n" -"This amount can be specified in millimeters or as a percentage of the current " -"extruder diameter. The default value for this parameter is 15%." +"This amount can be specified in millimeters or as a percentage of the " +"current extruder diameter. The default value for this parameter is 15%." msgstr "" msgid "Role base wipe speed" @@ -7985,6 +8094,12 @@ msgstr "スカートのループ数" msgid "Number of loops for the skirt. Zero means disabling skirt" msgstr "スカートのループ数です、値が0の場合、スカートが無効になります。" +msgid "Skirt speed" +msgstr "" + +msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -8987,244 +9102,273 @@ msgid "" "end > start + step)" msgstr "" -#: resources/data/hints.ini: [hint:3D Scene Operations] -msgid "" -"3D Scene Operations\n" -"Did you know how to control view and object/part selection with mouse and " -"touchpanel in the 3D scene?" +msgid "Start retraction length: " msgstr "" -"3Dシーンの操作\n" -"マウスとタッチパネルで、オブジェクト/パーツの操作方法を確認しましょう" -#: resources/data/hints.ini: [hint:Cut Tool] -msgid "" -"Cut Tool\n" -"Did you know that you can cut a model at any angle and position with the " -"cutting tool?" +msgid "End retraction length: " msgstr "" -"カットツール\n" -"カットツールでモデルを自由な角度で修正することができます。" -#: resources/data/hints.ini: [hint:Fix Model] -msgid "" -"Fix Model\n" -"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " -"problems?" +msgid "mm/mm" msgstr "" -"モデル修復\n" -"破損したモデルでも修復してスライスできます。" -#: resources/data/hints.ini: [hint:Timelapse] -msgid "" -"Timelapse\n" -"Did you know that you can generate a timelapse video during each print?" +msgid "Physical Printer" msgstr "" -"タイムラプス\n" -"カメラの活用は、モニタリングだけでなく、自慢のタイムラプスビデオも生成できま" -"す。" -#: resources/data/hints.ini: [hint:Auto-Arrange] -msgid "" -"Auto-Arrange\n" -"Did you know that you can auto-arrange all objects in your project?" +msgid "Print Host upload" msgstr "" -"自動レイアウト\n" -"自動レイアウトでプレートを最大限利用できます。" -#: resources/data/hints.ini: [hint:Auto-Orient] -msgid "" -"Auto-Orient\n" -"Did you know that you can rotate objects to an optimal orientation for " -"printing by a simple click?" +msgid "Test" msgstr "" -"自動向き調整\n" -"自動向き調整で最適な向きをワンクリックで実現できます。" -#: resources/data/hints.ini: [hint:Lay on Face] -msgid "" -"Lay on Face\n" -"Did you know that you can quickly orient a model so that one of its faces " -"sits on the print bed? Select the \"Place on face\" function or press the " -"F key." +msgid "Could not get a valid Printer Host reference" msgstr "" -"底面を選択\n" -"プレートと接触する面を指定し、オブジェクトの向きを簡単に調整できます。" -#: resources/data/hints.ini: [hint:Object List] -msgid "" -"Object List\n" -"Did you know that you can view all objects/parts in a list and change " -"settings for each object/part?" +msgid "Success!" msgstr "" -"オブジェクト一覧\n" -"全てのオブジェクトを確認でき、造形パラメータもオブジェクト別で設定できます" -#: resources/data/hints.ini: [hint:Simplify Model] -msgid "" -"Simplify Model\n" -"Did you know that you can reduce the number of triangles in a mesh using the " -"Simplify mesh feature? Right-click the model and select Simplify model. Read " -"more in the documentation." +msgid "Refresh Printers" msgstr "" -"モデルを簡略化\n" -"オブジェクトのメッシュを簡略化して、スライスの速度を上げられます。モデルを右" -"クリックし、メニューで選択できます。" -#: resources/data/hints.ini: [hint:Slicing Parameter Table] msgid "" -"Slicing Parameter Table\n" -"Did you know that you can view all objects/parts on a table and change " -"settings for each object/part?" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." msgstr "" -"スライシングパラメータ\n" -"オブジェクト/パーツごとのパラメータを設定できます。" -#: resources/data/hints.ini: [hint:Split to Objects/Parts] -msgid "" -"Split to Objects/Parts\n" -"Did you know that you can split a big object into small ones for easy " -"colorizing or printing?" +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "" -"オブジェクト/パーツに分割\n" -"一つのオブジェクトを複数のオブジェクト/パーツに分割して色を簡単につけましょ" -"う。" -#: resources/data/hints.ini: [hint:Subtract a Part] -msgid "" -"Subtract a Part\n" -"Did you know that you can subtract one mesh from another using the Negative " -"part modifier? That way you can, for example, create easily resizable holes " -"directly in Orca Slicer. Read more in the documentation." +msgid "Open CA certificate file" msgstr "" -"パーツをサブストラクト\n" -"マイナスパーツでモデルからメッシュを引くことができます。" -#: resources/data/hints.ini: [hint:STEP] +#, c-format, boost-format msgid "" -"STEP\n" -"Did you know that you can improve your print quality by slicing a STEP file " -"instead of an STL?\n" -"Orca Slicer supports slicing STEP files, providing smoother results than a " -"lower resolution STL. Give it a try!" +"On this system, %s uses HTTPS certificates from the system Certificate Store " +"or Keychain." msgstr "" -"STEP\n" -"STEP形式で、STL形式よりもっと高品質なスライス結果を得られます、是非お試しくだ" -"さい。" -#: resources/data/hints.ini: [hint:Z seam location] msgid "" -"Z seam location\n" -"Did you know that you can customize the location of the Z seam, and even " -"paint it on your print, to have it in a less visible location? This improves " -"the overall look of your model. Check it out!" +"To use a custom CA file, please import your CA file into Certificate Store / " +"Keychain." msgstr "" -"継ぎ目位置\n" -"継ぎ目の位置を描き、見えにくい場所に指定して仕上がりを向上させます。" -#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] -msgid "" -"Fine-tuning for flow rate\n" -"Did you know that flow rate can be fine-tuned for even better-looking " -"prints? Depending on the material, you can improve the overall finish of the " -"printed model by doing some fine-tuning." +msgid "Connection to printers connected via the print host failed." msgstr "" -"流量を微調整\n" -"流量を材料、温度により微調整し、更に良い仕上がりが得られます。" -#: resources/data/hints.ini: [hint:Split your prints into plates] -msgid "" -"Split your prints into plates\n" -"Did you know that you can split a model that has a lot of parts into " -"individual plates ready to print? This will simplify the process of keeping " -"track of all the parts." -msgstr "" -"複数のプレートに分割\n" -"一つのモデルを分割し、複数のプレートで造形することもできます。" +#~ msgid "" +#~ "3D Scene Operations\n" +#~ "Did you know how to control view and object/part selection with mouse and " +#~ "touchpanel in the 3D scene?" +#~ msgstr "" +#~ "3Dシーンの操作\n" +#~ "マウスとタッチパネルで、オブジェクト/パーツの操作方法を確認しましょう" -#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer -#: Height] -msgid "" -"Speed up your print with Adaptive Layer Height\n" -"Did you know that you can print a model even faster, by using the Adaptive " -"Layer Height option? Check it out!" -msgstr "「アダプティブ積層ピッチ」で造形速度アップ!" +#~ msgid "" +#~ "Cut Tool\n" +#~ "Did you know that you can cut a model at any angle and position with the " +#~ "cutting tool?" +#~ msgstr "" +#~ "カットツール\n" +#~ "カットツールでモデルを自由な角度で修正することができます。" -#: resources/data/hints.ini: [hint:Support painting] -msgid "" -"Support painting\n" -"Did you know that you can paint the location of your supports? This feature " -"makes it easy to place the support material only on the sections of the " -"model that actually need it." -msgstr "" -"サポートペイント\n" -"サポートは塗り絵のように生成することができます。" +#~ msgid "" +#~ "Fix Model\n" +#~ "Did you know that you can fix a corrupted 3D model to avoid a lot of " +#~ "slicing problems?" +#~ msgstr "" +#~ "モデル修復\n" +#~ "破損したモデルでも修復してスライスできます。" -#: resources/data/hints.ini: [hint:Different types of supports] -msgid "" -"Different types of supports\n" -"Did you know that you can choose from multiple types of supports? Tree " -"supports work great for organic models, while saving filament and improving " -"print speed. Check them out!" -msgstr "" -"さまざまなサポートタイプ\n" -"いろんなサポートタイプをつかえます、ツリータイプではフィラメントも節約できる" -"し、造形時間も短縮できます。" +#~ msgid "" +#~ "Timelapse\n" +#~ "Did you know that you can generate a timelapse video during each print?" +#~ msgstr "" +#~ "タイムラプス\n" +#~ "カメラの活用は、モニタリングだけでなく、自慢のタイムラプスビデオも生成でき" +#~ "ます。" -#: resources/data/hints.ini: [hint:Printing Silk Filament] -msgid "" -"Printing Silk Filament\n" -"Did you know that Silk filament needs special consideration to print it " -"successfully? Higher temperature and lower speed are always recommended for " -"the best results." -msgstr "" -"シルク質感のフィラメント\n" -"光沢がある美しい造形物をできるフィラメントは、プロセスに特別なケアが必要で" -"す。" +#~ msgid "" +#~ "Auto-Arrange\n" +#~ "Did you know that you can auto-arrange all objects in your project?" +#~ msgstr "" +#~ "自動レイアウト\n" +#~ "自動レイアウトでプレートを最大限利用できます。" -#: resources/data/hints.ini: [hint:Brim for better adhesion] -msgid "" -"Brim for better adhesion\n" -"Did you know that when printing models have a small contact interface with " -"the printing surface, it's recommended to use a brim?" -msgstr "" -"接着力を高めるには?\n" -"ブリムを活用してください。" +#~ msgid "" +#~ "Auto-Orient\n" +#~ "Did you know that you can rotate objects to an optimal orientation for " +#~ "printing by a simple click?" +#~ msgstr "" +#~ "自動向き調整\n" +#~ "自動向き調整で最適な向きをワンクリックで実現できます。" -#: resources/data/hints.ini: [hint:Set parameters for multiple objects] -msgid "" -"Set parameters for multiple objects\n" -"Did you know that you can set slicing parameters for all selected objects at " -"one time?" -msgstr "" -"オブジェクトのパラメータを設定\n" -"複数のオブジェクトを一回で設定できます" +#~ msgid "" +#~ "Lay on Face\n" +#~ "Did you know that you can quickly orient a model so that one of its faces " +#~ "sits on the print bed? Select the \"Place on face\" function or press the " +#~ "F key." +#~ msgstr "" +#~ "底面を選択\n" +#~ "プレートと接触する面を指定し、オブジェクトの向きを簡単に調整できます。" -#: resources/data/hints.ini: [hint:Stack objects] -msgid "" -"Stack objects\n" -"Did you know that you can stack objects as a whole one?" -msgstr "" -"オブジェクトを積み重ね\n" -"複数のオブジェクトを積み重ねて造形できます。" +#~ msgid "" +#~ "Object List\n" +#~ "Did you know that you can view all objects/parts in a list and change " +#~ "settings for each object/part?" +#~ msgstr "" +#~ "オブジェクト一覧\n" +#~ "全てのオブジェクトを確認でき、造形パラメータもオブジェクト別で設定できます" -#: resources/data/hints.ini: [hint:Flush into support/objects/infill] -msgid "" -"Flush into support/objects/infill\n" -"Did you know that you can save the wasted filament by flushing them into " -"support/objects/infill during filament change?" -msgstr "" -"サポート/オブジェクト/インフィルにフラッシュ\n" -"サポート、オブジェクトやインフィルどちらにもフラッシュでき、廃料の節約や、造" -"形時間短縮も有効的です。" +#~ msgid "" +#~ "Simplify Model\n" +#~ "Did you know that you can reduce the number of triangles in a mesh using " +#~ "the Simplify mesh feature? Right-click the model and select Simplify " +#~ "model. Read more in the documentation." +#~ msgstr "" +#~ "モデルを簡略化\n" +#~ "オブジェクトのメッシュを簡略化して、スライスの速度を上げられます。モデルを" +#~ "右クリックし、メニューで選択できます。" -#: resources/data/hints.ini: [hint:Improve strength] -msgid "" -"Improve strength\n" -"Did you know that you can use more wall loops and higher sparse infill " -"density to improve the strength of the model?" -msgstr "" -"強度の向上\n" -"壁面層数やインフィルの充填密度を増やして造形強度を向上できます。" +#~ msgid "" +#~ "Slicing Parameter Table\n" +#~ "Did you know that you can view all objects/parts on a table and change " +#~ "settings for each object/part?" +#~ msgstr "" +#~ "スライシングパラメータ\n" +#~ "オブジェクト/パーツごとのパラメータを設定できます。" + +#~ msgid "" +#~ "Split to Objects/Parts\n" +#~ "Did you know that you can split a big object into small ones for easy " +#~ "colorizing or printing?" +#~ msgstr "" +#~ "オブジェクト/パーツに分割\n" +#~ "一つのオブジェクトを複数のオブジェクト/パーツに分割して色を簡単につけま" +#~ "しょう。" + +#~ msgid "" +#~ "Subtract a Part\n" +#~ "Did you know that you can subtract one mesh from another using the " +#~ "Negative part modifier? That way you can, for example, create easily " +#~ "resizable holes directly in Orca Slicer. Read more in the documentation." +#~ msgstr "" +#~ "パーツをサブストラクト\n" +#~ "マイナスパーツでモデルからメッシュを引くことができます。" + +#~ msgid "" +#~ "STEP\n" +#~ "Did you know that you can improve your print quality by slicing a STEP " +#~ "file instead of an STL?\n" +#~ "Orca Slicer supports slicing STEP files, providing smoother results than " +#~ "a lower resolution STL. Give it a try!" +#~ msgstr "" +#~ "STEP\n" +#~ "STEP形式で、STL形式よりもっと高品質なスライス結果を得られます、是非お試し" +#~ "ください。" + +#~ msgid "" +#~ "Z seam location\n" +#~ "Did you know that you can customize the location of the Z seam, and even " +#~ "paint it on your print, to have it in a less visible location? This " +#~ "improves the overall look of your model. Check it out!" +#~ msgstr "" +#~ "継ぎ目位置\n" +#~ "継ぎ目の位置を描き、見えにくい場所に指定して仕上がりを向上させます。" + +#~ msgid "" +#~ "Fine-tuning for flow rate\n" +#~ "Did you know that flow rate can be fine-tuned for even better-looking " +#~ "prints? Depending on the material, you can improve the overall finish of " +#~ "the printed model by doing some fine-tuning." +#~ msgstr "" +#~ "流量を微調整\n" +#~ "流量を材料、温度により微調整し、更に良い仕上がりが得られます。" + +#~ msgid "" +#~ "Split your prints into plates\n" +#~ "Did you know that you can split a model that has a lot of parts into " +#~ "individual plates ready to print? This will simplify the process of " +#~ "keeping track of all the parts." +#~ msgstr "" +#~ "複数のプレートに分割\n" +#~ "一つのモデルを分割し、複数のプレートで造形することもできます。" + +#~ msgid "" +#~ "Speed up your print with Adaptive Layer Height\n" +#~ "Did you know that you can print a model even faster, by using the " +#~ "Adaptive Layer Height option? Check it out!" +#~ msgstr "「アダプティブ積層ピッチ」で造形速度アップ!" + +#~ msgid "" +#~ "Support painting\n" +#~ "Did you know that you can paint the location of your supports? This " +#~ "feature makes it easy to place the support material only on the sections " +#~ "of the model that actually need it." +#~ msgstr "" +#~ "サポートペイント\n" +#~ "サポートは塗り絵のように生成することができます。" + +#~ msgid "" +#~ "Different types of supports\n" +#~ "Did you know that you can choose from multiple types of supports? Tree " +#~ "supports work great for organic models, while saving filament and " +#~ "improving print speed. Check them out!" +#~ msgstr "" +#~ "さまざまなサポートタイプ\n" +#~ "いろんなサポートタイプをつかえます、ツリータイプではフィラメントも節約でき" +#~ "るし、造形時間も短縮できます。" + +#~ msgid "" +#~ "Printing Silk Filament\n" +#~ "Did you know that Silk filament needs special consideration to print it " +#~ "successfully? Higher temperature and lower speed are always recommended " +#~ "for the best results." +#~ msgstr "" +#~ "シルク質感のフィラメント\n" +#~ "光沢がある美しい造形物をできるフィラメントは、プロセスに特別なケアが必要で" +#~ "す。" + +#~ msgid "" +#~ "Brim for better adhesion\n" +#~ "Did you know that when printing models have a small contact interface " +#~ "with the printing surface, it's recommended to use a brim?" +#~ msgstr "" +#~ "接着力を高めるには?\n" +#~ "ブリムを活用してください。" + +#~ msgid "" +#~ "Set parameters for multiple objects\n" +#~ "Did you know that you can set slicing parameters for all selected objects " +#~ "at one time?" +#~ msgstr "" +#~ "オブジェクトのパラメータを設定\n" +#~ "複数のオブジェクトを一回で設定できます" + +#~ msgid "" +#~ "Stack objects\n" +#~ "Did you know that you can stack objects as a whole one?" +#~ msgstr "" +#~ "オブジェクトを積み重ね\n" +#~ "複数のオブジェクトを積み重ねて造形できます。" + +#~ msgid "" +#~ "Flush into support/objects/infill\n" +#~ "Did you know that you can save the wasted filament by flushing them into " +#~ "support/objects/infill during filament change?" +#~ msgstr "" +#~ "サポート/オブジェクト/インフィルにフラッシュ\n" +#~ "サポート、オブジェクトやインフィルどちらにもフラッシュでき、廃料の節約や、" +#~ "造形時間短縮も有効的です。" + +#~ msgid "" +#~ "Improve strength\n" +#~ "Did you know that you can use more wall loops and higher sparse infill " +#~ "density to improve the strength of the model?" +#~ msgstr "" +#~ "強度の向上\n" +#~ "壁面層数やインフィルの充填密度を増やして造形強度を向上できます。" + +#~ msgid "Bridge direction" +#~ msgstr "ブリッジ方向" #~ msgid "Keep upper part" #~ msgstr "上の部分を残す" diff --git a/bbl/i18n/list.txt b/bbl/i18n/list.txt index 7d2fa58444..700aab7515 100644 --- a/bbl/i18n/list.txt +++ b/bbl/i18n/list.txt @@ -130,4 +130,5 @@ src/libslic3r/PrintObject.cpp src/libslic3r/PrintObjectSlice.cpp src/libslic3r/PlaceholderParser.cpp src/libslic3r/TreeSupport.cpp -src/slic3r/GUI/calib_dlg.cpp \ No newline at end of file +src/slic3r/GUI/calib_dlg.cpp +src/slic3r/GUI/PhysicalPrinterDialog.cpp \ No newline at end of file diff --git a/bbl/i18n/nl/OrcaSlicer_nl.po b/bbl/i18n/nl/OrcaSlicer_nl.po index 5929799eef..68e276f534 100644 --- a/bbl/i18n/nl/OrcaSlicer_nl.po +++ b/bbl/i18n/nl/OrcaSlicer_nl.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-29 20:13+0800\n" +"POT-Creation-Date: 2023-07-07 00:37+0800\n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1899,7 +1899,10 @@ msgstr "" msgid "You need to select the material type and color first." msgstr "" -msgid "Other color" +msgid "Other Color" +msgstr "" + +msgid "Custom Color" msgstr "" msgid "Dynamic flow calibration" @@ -3311,6 +3314,12 @@ msgstr "" msgid "Pressure advance" msgstr "" +msgid "Retraction test" +msgstr "" + +msgid "Orca Tolerance Test" +msgstr "" + msgid "Max flowrate" msgstr "" @@ -5215,9 +5224,6 @@ msgstr "" msgid "Post-processing Scripts" msgstr "" -msgid "Post-processing scripts" -msgstr "" - msgid "Frequent" msgstr "Veelgebruikt" @@ -5357,6 +5363,12 @@ msgstr "Filament einde G-code" msgid "Printable space" msgstr "Ruimte waarbinnen geprint kan worden" +msgid "Cooling Fan" +msgstr "" + +msgid "Fan speed-up time" +msgstr "" + msgid "Extruder Clearance" msgstr "" @@ -6326,6 +6338,9 @@ msgstr "" msgid "No extrusions under current settings." msgstr "Geen extrusion onder de huidige instellingen" +msgid "Bed temperatures for the used filaments differ significantly." +msgstr "" + msgid "" "Smooth mode of timelapse is not supported when \"by object\" sequence is " "enabled." @@ -6684,7 +6699,7 @@ msgid "" "all outer wall no matter how much overhang degree" msgstr "" -msgid "Bridge direction" +msgid "Bridge infill direction" msgstr "" msgid "" @@ -6936,11 +6951,11 @@ msgid "Internal bridge support thickness" msgstr "" msgid "" -"If enabled, Studio will generate support loops under the contours of " -"internal bridges.These support loops could prevent internal bridges from " -"extruding over the air and improve the top surface quality, especially when " -"the sparse infill density is low.This value determines the thickness of the " -"support loops. 0 means disable this feature" +"If enabled, support loops will be generated under the contours of internal " +"bridges.These support loops could prevent internal bridges from extruding " +"over the air and improve the top surface quality, especially when the sparse " +"infill density is low.This value determines the thickness of the support " +"loops. 0 means disable this feature" msgstr "" msgid "Top surface pattern" @@ -7256,14 +7271,6 @@ msgstr "" "Dit is de hoek voor een dun opvulpatroon, dat het begin of de hoofdrichting " "van de lijnen bepaalt." -msgid "Bridge infill direction" -msgstr "" - -msgid "" -"Angle for bridge infill pattern, which controls the start or main direction " -"of line" -msgstr "" - msgid "Sparse infill density" msgstr "Vulling percentage" @@ -7309,6 +7316,45 @@ msgstr "" msgid "Lightning" msgstr "" +msgid "Sparse infill anchor length" +msgstr "" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than infill_anchor_max is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to this parameter, but no longer than anchor_length_max. \n" +"Set this parameter to zero to disable anchoring perimeters connected to a " +"single infill line." +msgstr "" + +msgid "0 (no open anchors)" +msgstr "" + +msgid "1000 (unlimited)" +msgstr "" + +msgid "Maximum length of the infill anchor" +msgstr "" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than this parameter is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to infill_anchor, but no longer than this parameter. \n" +"If set to 0, the old algorithm for infill connection will be used, it should " +"create the same result as with 1000 & 0." +msgstr "" + +msgid "0 (Simple connect)" +msgstr "" + msgid "Acceleration of outer walls" msgstr "" @@ -7415,6 +7461,14 @@ msgstr "" msgid "Travel speed of initial layer" msgstr "" +msgid "Number of slow layers" +msgstr "" + +msgid "" +"The first few layers are printed slower than normal. The speed is gradually " +"increased in a linear fashion over the specified number of layers." +msgstr "" + msgid "Initial layer nozzle temperature" msgstr "Nozzle temperatuur voor de eerste laag" @@ -7426,6 +7480,24 @@ msgstr "" msgid "Full fan speed at layer" msgstr "Volledige snelheid op laag" +msgid "" +"Fan speed will be ramped up linearly from zero at layer " +"\"close_fan_the_first_x_layers\" to maximum at layer \"full_fan_speed_layer" +"\". \"full_fan_speed_layer\" will be ignored if lower than " +"\"close_fan_the_first_x_layers\", in which case the fan will be running at " +"maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1." +msgstr "" + +msgid "Support interface fan speed" +msgstr "" + +msgid "" +"This fan speed is enforced during all support interfaces, to be able to " +"weaken their bonding with a high fan speed.\n" +"Set to -1 to disable this override.\n" +"Can only be overriden by disable_fan_first_layers." +msgstr "" + msgid "" "Randomly jitter while printing the wall, so that the surface has a rough " "look. This setting controls the fuzzy position" @@ -7549,6 +7621,35 @@ msgid "Enable this option if machine has auxiliary part cooling fan" msgstr "" "Schakel deze optie in als de machine een ventilator voor de enclosure heeft" +msgid "" +"Start the fan this number of seconds earlier than its target start time (you " +"can use fractional seconds). It assumes infinite acceleration for this time " +"estimation, and will only take into account G1 and G0 moves (arc fitting is " +"unsupported).\n" +"It won't move fan comands from custom gcodes (they act as a sort of " +"'barrier').\n" +"It won't move fan comands into the start gcode if the 'only custom start " +"gcode' is activated.\n" +"Use 0 to deactivate." +msgstr "" + +msgid "Only overhangs" +msgstr "" + +msgid "Will only take into account the delay for the cooling of overhangs." +msgstr "" + +msgid "Fan kick-start time" +msgstr "" + +msgid "" +"Emit a max fan speed command for this amount of seconds before reducing to " +"target speed to kick-start the cooling fan.\n" +"This is useful for fans where a low PWM/power may be insufficient to get the " +"fan started spinning from a stop, or to get the fan up to speed faster.\n" +"Set to 0 to deactivate." +msgstr "" + msgid "G-code flavor" msgstr "G-code type" @@ -8091,14 +8192,22 @@ msgstr "Achterzijde" msgid "Random" msgstr "" +msgid "Staggered inner seams" +msgstr "" + +msgid "" +"This option causes the inner seams to be shifted backwards based on their " +"depth, forming a zigzag pattern." +msgstr "" + msgid "Seam gap" msgstr "" msgid "" "In order to reduce the visibility of the seam in a closed loop extrusion, " "the loop is interrupted and shortened by a specified amount.\n" -"This amount can be specified in millimeters or as a percentage of the current " -"extruder diameter. The default value for this parameter is 15%." +"This amount can be specified in millimeters or as a percentage of the " +"current extruder diameter. The default value for this parameter is 15%." msgstr "" msgid "Role base wipe speed" @@ -8148,6 +8257,12 @@ msgstr "" "Dit is het aantal lussen voor de skirt. 0 betekent dat de skirt is " "uitgeschakeld." +msgid "Skirt speed" +msgstr "" + +msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -9141,188 +9256,56 @@ msgid "" "end > start + step)" msgstr "" -#: resources/data/hints.ini: [hint:3D Scene Operations] -msgid "" -"3D Scene Operations\n" -"Did you know how to control view and object/part selection with mouse and " -"touchpanel in the 3D scene?" +msgid "Start retraction length: " msgstr "" -#: resources/data/hints.ini: [hint:Cut Tool] -msgid "" -"Cut Tool\n" -"Did you know that you can cut a model at any angle and position with the " -"cutting tool?" +msgid "End retraction length: " msgstr "" -#: resources/data/hints.ini: [hint:Fix Model] -msgid "" -"Fix Model\n" -"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " -"problems?" +msgid "mm/mm" msgstr "" -#: resources/data/hints.ini: [hint:Timelapse] -msgid "" -"Timelapse\n" -"Did you know that you can generate a timelapse video during each print?" +msgid "Physical Printer" msgstr "" -#: resources/data/hints.ini: [hint:Auto-Arrange] -msgid "" -"Auto-Arrange\n" -"Did you know that you can auto-arrange all objects in your project?" +msgid "Print Host upload" msgstr "" -#: resources/data/hints.ini: [hint:Auto-Orient] -msgid "" -"Auto-Orient\n" -"Did you know that you can rotate objects to an optimal orientation for " -"printing by a simple click?" +msgid "Test" msgstr "" -#: resources/data/hints.ini: [hint:Lay on Face] -msgid "" -"Lay on Face\n" -"Did you know that you can quickly orient a model so that one of its faces " -"sits on the print bed? Select the \"Place on face\" function or press the " -"F key." +msgid "Could not get a valid Printer Host reference" msgstr "" -#: resources/data/hints.ini: [hint:Object List] -msgid "" -"Object List\n" -"Did you know that you can view all objects/parts in a list and change " -"settings for each object/part?" +msgid "Success!" msgstr "" -#: resources/data/hints.ini: [hint:Simplify Model] -msgid "" -"Simplify Model\n" -"Did you know that you can reduce the number of triangles in a mesh using the " -"Simplify mesh feature? Right-click the model and select Simplify model. Read " -"more in the documentation." +msgid "Refresh Printers" msgstr "" -#: resources/data/hints.ini: [hint:Slicing Parameter Table] msgid "" -"Slicing Parameter Table\n" -"Did you know that you can view all objects/parts on a table and change " -"settings for each object/part?" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." msgstr "" -#: resources/data/hints.ini: [hint:Split to Objects/Parts] -msgid "" -"Split to Objects/Parts\n" -"Did you know that you can split a big object into small ones for easy " -"colorizing or printing?" +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "" -#: resources/data/hints.ini: [hint:Subtract a Part] -msgid "" -"Subtract a Part\n" -"Did you know that you can subtract one mesh from another using the Negative " -"part modifier? That way you can, for example, create easily resizable holes " -"directly in Orca Slicer. Read more in the documentation." +msgid "Open CA certificate file" msgstr "" -#: resources/data/hints.ini: [hint:STEP] +#, c-format, boost-format msgid "" -"STEP\n" -"Did you know that you can improve your print quality by slicing a STEP file " -"instead of an STL?\n" -"Orca Slicer supports slicing STEP files, providing smoother results than a " -"lower resolution STL. Give it a try!" +"On this system, %s uses HTTPS certificates from the system Certificate Store " +"or Keychain." msgstr "" -#: resources/data/hints.ini: [hint:Z seam location] msgid "" -"Z seam location\n" -"Did you know that you can customize the location of the Z seam, and even " -"paint it on your print, to have it in a less visible location? This improves " -"the overall look of your model. Check it out!" +"To use a custom CA file, please import your CA file into Certificate Store / " +"Keychain." msgstr "" -#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] -msgid "" -"Fine-tuning for flow rate\n" -"Did you know that flow rate can be fine-tuned for even better-looking " -"prints? Depending on the material, you can improve the overall finish of the " -"printed model by doing some fine-tuning." -msgstr "" - -#: resources/data/hints.ini: [hint:Split your prints into plates] -msgid "" -"Split your prints into plates\n" -"Did you know that you can split a model that has a lot of parts into " -"individual plates ready to print? This will simplify the process of keeping " -"track of all the parts." -msgstr "" - -#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer -#: Height] -msgid "" -"Speed up your print with Adaptive Layer Height\n" -"Did you know that you can print a model even faster, by using the Adaptive " -"Layer Height option? Check it out!" -msgstr "" - -#: resources/data/hints.ini: [hint:Support painting] -msgid "" -"Support painting\n" -"Did you know that you can paint the location of your supports? This feature " -"makes it easy to place the support material only on the sections of the " -"model that actually need it." -msgstr "" - -#: resources/data/hints.ini: [hint:Different types of supports] -msgid "" -"Different types of supports\n" -"Did you know that you can choose from multiple types of supports? Tree " -"supports work great for organic models, while saving filament and improving " -"print speed. Check them out!" -msgstr "" - -#: resources/data/hints.ini: [hint:Printing Silk Filament] -msgid "" -"Printing Silk Filament\n" -"Did you know that Silk filament needs special consideration to print it " -"successfully? Higher temperature and lower speed are always recommended for " -"the best results." -msgstr "" - -#: resources/data/hints.ini: [hint:Brim for better adhesion] -msgid "" -"Brim for better adhesion\n" -"Did you know that when printing models have a small contact interface with " -"the printing surface, it's recommended to use a brim?" -msgstr "" - -#: resources/data/hints.ini: [hint:Set parameters for multiple objects] -msgid "" -"Set parameters for multiple objects\n" -"Did you know that you can set slicing parameters for all selected objects at " -"one time?" -msgstr "" - -#: resources/data/hints.ini: [hint:Stack objects] -msgid "" -"Stack objects\n" -"Did you know that you can stack objects as a whole one?" -msgstr "" - -#: resources/data/hints.ini: [hint:Flush into support/objects/infill] -msgid "" -"Flush into support/objects/infill\n" -"Did you know that you can save the wasted filament by flushing them into " -"support/objects/infill during filament change?" -msgstr "" - -#: resources/data/hints.ini: [hint:Improve strength] -msgid "" -"Improve strength\n" -"Did you know that you can use more wall loops and higher sparse infill " -"density to improve the strength of the model?" +msgid "Connection to printers connected via the print host failed." msgstr "" #~ msgid "Keep upper part" diff --git a/bbl/i18n/sv/OrcaSlicer_sv.po b/bbl/i18n/sv/OrcaSlicer_sv.po index 1d6fbf7904..462cc78d31 100644 --- a/bbl/i18n/sv/OrcaSlicer_sv.po +++ b/bbl/i18n/sv/OrcaSlicer_sv.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-29 20:13+0800\n" +"POT-Creation-Date: 2023-07-07 00:37+0800\n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1878,7 +1878,10 @@ msgstr "" msgid "You need to select the material type and color first." msgstr "" -msgid "Other color" +msgid "Other Color" +msgstr "" + +msgid "Custom Color" msgstr "" msgid "Dynamic flow calibration" @@ -3280,6 +3283,12 @@ msgstr "" msgid "Pressure advance" msgstr "" +msgid "Retraction test" +msgstr "" + +msgid "Orca Tolerance Test" +msgstr "" + msgid "Max flowrate" msgstr "" @@ -5148,9 +5157,6 @@ msgstr "" msgid "Post-processing Scripts" msgstr "" -msgid "Post-processing scripts" -msgstr "" - msgid "Frequent" msgstr "Återkommande" @@ -5287,6 +5293,12 @@ msgstr "Filament stop G-kod" msgid "Printable space" msgstr "Utskriftsbar yta" +msgid "Cooling Fan" +msgstr "" + +msgid "Fan speed-up time" +msgstr "" + msgid "Extruder Clearance" msgstr "" @@ -6241,6 +6253,9 @@ msgstr "" msgid "No extrusions under current settings." msgstr "Nuvarande inställning har ingen extrudering." +msgid "Bed temperatures for the used filaments differ significantly." +msgstr "" + msgid "" "Smooth mode of timelapse is not supported when \"by object\" sequence is " "enabled." @@ -6586,7 +6601,7 @@ msgid "" "all outer wall no matter how much overhang degree" msgstr "" -msgid "Bridge direction" +msgid "Bridge infill direction" msgstr "" msgid "" @@ -6832,11 +6847,11 @@ msgid "Internal bridge support thickness" msgstr "" msgid "" -"If enabled, Studio will generate support loops under the contours of " -"internal bridges.These support loops could prevent internal bridges from " -"extruding over the air and improve the top surface quality, especially when " -"the sparse infill density is low.This value determines the thickness of the " -"support loops. 0 means disable this feature" +"If enabled, support loops will be generated under the contours of internal " +"bridges.These support loops could prevent internal bridges from extruding " +"over the air and improve the top surface quality, especially when the sparse " +"infill density is low.This value determines the thickness of the support " +"loops. 0 means disable this feature" msgstr "" msgid "Top surface pattern" @@ -7145,14 +7160,6 @@ msgstr "" "Vinkeln för sparsam ifyllnads mönster, som styr start- eller huvudriktningen " "för linjer" -msgid "Bridge infill direction" -msgstr "" - -msgid "" -"Angle for bridge infill pattern, which controls the start or main direction " -"of line" -msgstr "" - msgid "Sparse infill density" msgstr "Sparsam ifyllnads densitet" @@ -7197,6 +7204,45 @@ msgstr "" msgid "Lightning" msgstr "" +msgid "Sparse infill anchor length" +msgstr "" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than infill_anchor_max is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to this parameter, but no longer than anchor_length_max. \n" +"Set this parameter to zero to disable anchoring perimeters connected to a " +"single infill line." +msgstr "" + +msgid "0 (no open anchors)" +msgstr "" + +msgid "1000 (unlimited)" +msgstr "" + +msgid "Maximum length of the infill anchor" +msgstr "" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than this parameter is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to infill_anchor, but no longer than this parameter. \n" +"If set to 0, the old algorithm for infill connection will be used, it should " +"create the same result as with 1000 & 0." +msgstr "" + +msgid "0 (Simple connect)" +msgstr "" + msgid "Acceleration of outer walls" msgstr "" @@ -7302,6 +7348,14 @@ msgstr "" msgid "Travel speed of initial layer" msgstr "" +msgid "Number of slow layers" +msgstr "" + +msgid "" +"The first few layers are printed slower than normal. The speed is gradually " +"increased in a linear fashion over the specified number of layers." +msgstr "" + msgid "Initial layer nozzle temperature" msgstr "Nozzel temperatur för första lager" @@ -7311,6 +7365,24 @@ msgstr "Nozzel temperatur för första lager med detta filament" msgid "Full fan speed at layer" msgstr "Full fläkthastighet vid lager" +msgid "" +"Fan speed will be ramped up linearly from zero at layer " +"\"close_fan_the_first_x_layers\" to maximum at layer \"full_fan_speed_layer" +"\". \"full_fan_speed_layer\" will be ignored if lower than " +"\"close_fan_the_first_x_layers\", in which case the fan will be running at " +"maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1." +msgstr "" + +msgid "Support interface fan speed" +msgstr "" + +msgid "" +"This fan speed is enforced during all support interfaces, to be able to " +"weaken their bonding with a high fan speed.\n" +"Set to -1 to disable this override.\n" +"Can only be overriden by disable_fan_first_layers." +msgstr "" + msgid "" "Randomly jitter while printing the wall, so that the surface has a rough " "look. This setting controls the fuzzy position" @@ -7432,6 +7504,35 @@ msgstr "" msgid "Enable this option if machine has auxiliary part cooling fan" msgstr "Aktivera detta val om maskinen har extra kylfläkt" +msgid "" +"Start the fan this number of seconds earlier than its target start time (you " +"can use fractional seconds). It assumes infinite acceleration for this time " +"estimation, and will only take into account G1 and G0 moves (arc fitting is " +"unsupported).\n" +"It won't move fan comands from custom gcodes (they act as a sort of " +"'barrier').\n" +"It won't move fan comands into the start gcode if the 'only custom start " +"gcode' is activated.\n" +"Use 0 to deactivate." +msgstr "" + +msgid "Only overhangs" +msgstr "" + +msgid "Will only take into account the delay for the cooling of overhangs." +msgstr "" + +msgid "Fan kick-start time" +msgstr "" + +msgid "" +"Emit a max fan speed command for this amount of seconds before reducing to " +"target speed to kick-start the cooling fan.\n" +"This is useful for fans where a low PWM/power may be insufficient to get the " +"fan started spinning from a stop, or to get the fan up to speed faster.\n" +"Set to 0 to deactivate." +msgstr "" + msgid "G-code flavor" msgstr "G-kod smak" @@ -7964,14 +8065,22 @@ msgstr "Tillbaka" msgid "Random" msgstr "" +msgid "Staggered inner seams" +msgstr "" + +msgid "" +"This option causes the inner seams to be shifted backwards based on their " +"depth, forming a zigzag pattern." +msgstr "" + msgid "Seam gap" msgstr "" msgid "" "In order to reduce the visibility of the seam in a closed loop extrusion, " "the loop is interrupted and shortened by a specified amount.\n" -"This amount can be specified in millimeters or as a percentage of the current " -"extruder diameter. The default value for this parameter is 15%." +"This amount can be specified in millimeters or as a percentage of the " +"current extruder diameter. The default value for this parameter is 15%." msgstr "" msgid "Role base wipe speed" @@ -8019,6 +8128,12 @@ msgstr "Skirt varv" msgid "Number of loops for the skirt. Zero means disabling skirt" msgstr "Antal skirt varv. 0 betyder att skirt är inaktiverad" +msgid "Skirt speed" +msgstr "" + +msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -8998,188 +9113,56 @@ msgid "" "end > start + step)" msgstr "" -#: resources/data/hints.ini: [hint:3D Scene Operations] -msgid "" -"3D Scene Operations\n" -"Did you know how to control view and object/part selection with mouse and " -"touchpanel in the 3D scene?" +msgid "Start retraction length: " msgstr "" -#: resources/data/hints.ini: [hint:Cut Tool] -msgid "" -"Cut Tool\n" -"Did you know that you can cut a model at any angle and position with the " -"cutting tool?" +msgid "End retraction length: " msgstr "" -#: resources/data/hints.ini: [hint:Fix Model] -msgid "" -"Fix Model\n" -"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " -"problems?" +msgid "mm/mm" msgstr "" -#: resources/data/hints.ini: [hint:Timelapse] -msgid "" -"Timelapse\n" -"Did you know that you can generate a timelapse video during each print?" +msgid "Physical Printer" msgstr "" -#: resources/data/hints.ini: [hint:Auto-Arrange] -msgid "" -"Auto-Arrange\n" -"Did you know that you can auto-arrange all objects in your project?" +msgid "Print Host upload" msgstr "" -#: resources/data/hints.ini: [hint:Auto-Orient] -msgid "" -"Auto-Orient\n" -"Did you know that you can rotate objects to an optimal orientation for " -"printing by a simple click?" +msgid "Test" msgstr "" -#: resources/data/hints.ini: [hint:Lay on Face] -msgid "" -"Lay on Face\n" -"Did you know that you can quickly orient a model so that one of its faces " -"sits on the print bed? Select the \"Place on face\" function or press the " -"F key." +msgid "Could not get a valid Printer Host reference" msgstr "" -#: resources/data/hints.ini: [hint:Object List] -msgid "" -"Object List\n" -"Did you know that you can view all objects/parts in a list and change " -"settings for each object/part?" +msgid "Success!" msgstr "" -#: resources/data/hints.ini: [hint:Simplify Model] -msgid "" -"Simplify Model\n" -"Did you know that you can reduce the number of triangles in a mesh using the " -"Simplify mesh feature? Right-click the model and select Simplify model. Read " -"more in the documentation." +msgid "Refresh Printers" msgstr "" -#: resources/data/hints.ini: [hint:Slicing Parameter Table] msgid "" -"Slicing Parameter Table\n" -"Did you know that you can view all objects/parts on a table and change " -"settings for each object/part?" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." msgstr "" -#: resources/data/hints.ini: [hint:Split to Objects/Parts] -msgid "" -"Split to Objects/Parts\n" -"Did you know that you can split a big object into small ones for easy " -"colorizing or printing?" +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "" -#: resources/data/hints.ini: [hint:Subtract a Part] -msgid "" -"Subtract a Part\n" -"Did you know that you can subtract one mesh from another using the Negative " -"part modifier? That way you can, for example, create easily resizable holes " -"directly in Orca Slicer. Read more in the documentation." +msgid "Open CA certificate file" msgstr "" -#: resources/data/hints.ini: [hint:STEP] +#, c-format, boost-format msgid "" -"STEP\n" -"Did you know that you can improve your print quality by slicing a STEP file " -"instead of an STL?\n" -"Orca Slicer supports slicing STEP files, providing smoother results than a " -"lower resolution STL. Give it a try!" +"On this system, %s uses HTTPS certificates from the system Certificate Store " +"or Keychain." msgstr "" -#: resources/data/hints.ini: [hint:Z seam location] msgid "" -"Z seam location\n" -"Did you know that you can customize the location of the Z seam, and even " -"paint it on your print, to have it in a less visible location? This improves " -"the overall look of your model. Check it out!" +"To use a custom CA file, please import your CA file into Certificate Store / " +"Keychain." msgstr "" -#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] -msgid "" -"Fine-tuning for flow rate\n" -"Did you know that flow rate can be fine-tuned for even better-looking " -"prints? Depending on the material, you can improve the overall finish of the " -"printed model by doing some fine-tuning." -msgstr "" - -#: resources/data/hints.ini: [hint:Split your prints into plates] -msgid "" -"Split your prints into plates\n" -"Did you know that you can split a model that has a lot of parts into " -"individual plates ready to print? This will simplify the process of keeping " -"track of all the parts." -msgstr "" - -#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer -#: Height] -msgid "" -"Speed up your print with Adaptive Layer Height\n" -"Did you know that you can print a model even faster, by using the Adaptive " -"Layer Height option? Check it out!" -msgstr "" - -#: resources/data/hints.ini: [hint:Support painting] -msgid "" -"Support painting\n" -"Did you know that you can paint the location of your supports? This feature " -"makes it easy to place the support material only on the sections of the " -"model that actually need it." -msgstr "" - -#: resources/data/hints.ini: [hint:Different types of supports] -msgid "" -"Different types of supports\n" -"Did you know that you can choose from multiple types of supports? Tree " -"supports work great for organic models, while saving filament and improving " -"print speed. Check them out!" -msgstr "" - -#: resources/data/hints.ini: [hint:Printing Silk Filament] -msgid "" -"Printing Silk Filament\n" -"Did you know that Silk filament needs special consideration to print it " -"successfully? Higher temperature and lower speed are always recommended for " -"the best results." -msgstr "" - -#: resources/data/hints.ini: [hint:Brim for better adhesion] -msgid "" -"Brim for better adhesion\n" -"Did you know that when printing models have a small contact interface with " -"the printing surface, it's recommended to use a brim?" -msgstr "" - -#: resources/data/hints.ini: [hint:Set parameters for multiple objects] -msgid "" -"Set parameters for multiple objects\n" -"Did you know that you can set slicing parameters for all selected objects at " -"one time?" -msgstr "" - -#: resources/data/hints.ini: [hint:Stack objects] -msgid "" -"Stack objects\n" -"Did you know that you can stack objects as a whole one?" -msgstr "" - -#: resources/data/hints.ini: [hint:Flush into support/objects/infill] -msgid "" -"Flush into support/objects/infill\n" -"Did you know that you can save the wasted filament by flushing them into " -"support/objects/infill during filament change?" -msgstr "" - -#: resources/data/hints.ini: [hint:Improve strength] -msgid "" -"Improve strength\n" -"Did you know that you can use more wall loops and higher sparse infill " -"density to improve the strength of the model?" +msgid "Connection to printers connected via the print host failed." msgstr "" #~ msgid "Keep upper part" diff --git a/bbl/i18n/zh_cn/OrcaSlicer_zh_CN.po b/bbl/i18n/zh_cn/OrcaSlicer_zh_CN.po index 8d3a1d8a1a..52d6ba64ff 100644 --- a/bbl/i18n/zh_cn/OrcaSlicer_zh_CN.po +++ b/bbl/i18n/zh_cn/OrcaSlicer_zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Slic3rPE\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-29 20:13+0800\n" +"POT-Creation-Date: 2023-07-07 00:37+0800\n" "PO-Revision-Date: 2023-04-01 13:21+0800\n" "Last-Translator: Jiang Yue \n" "Language-Team: \n" @@ -812,16 +812,16 @@ msgid "Load..." msgstr "加载..." msgid "Orca Cube" -msgstr "" +msgstr "Orca逆方块" msgid "3DBenchy" -msgstr "" +msgstr "小船" msgid "Autodesk FDM Test" -msgstr "" +msgstr "欧特克FDM测试" msgid "Voron Cube" -msgstr "" +msgstr "Voron方块" msgid "Cube" msgstr "立方体" @@ -1841,7 +1841,10 @@ msgstr "请输入有效的数值 (K的范围为0~0.5, N的范围为0.6~2.0)" msgid "You need to select the material type and color first." msgstr "" -msgid "Other color" +msgid "Other Color" +msgstr "" + +msgid "Custom Color" msgstr "" msgid "Dynamic flow calibration" @@ -3239,6 +3242,12 @@ msgstr "流量" msgid "Pressure advance" msgstr "压力提前" +msgid "Retraction test" +msgstr "回抽测试" + +msgid "Orca Tolerance Test" +msgstr "Orca误差测试" + msgid "Max flowrate" msgstr "最大体积流量" @@ -5119,9 +5128,6 @@ msgstr "G-code 输出" msgid "Post-processing Scripts" msgstr "后处理脚本" -msgid "Post-processing scripts" -msgstr "" - msgid "Frequent" msgstr "常用" @@ -5241,6 +5247,12 @@ msgstr "耗材丝结束G-code" msgid "Printable space" msgstr "可打印区域" +msgid "Cooling Fan" +msgstr "冷却风扇" + +msgid "Fan speed-up time" +msgstr "风扇响应时间" + msgid "Extruder Clearance" msgstr "挤出机避让空间" @@ -6178,6 +6190,9 @@ msgstr "" msgid "No extrusions under current settings." msgstr "根据当前设置,不会生成任何打印。" +msgid "Bed temperatures for the used filaments differ significantly." +msgstr "" + msgid "" "Smooth mode of timelapse is not supported when \"by object\" sequence is " "enabled." @@ -6499,8 +6514,8 @@ msgstr "" "有下层支撑的线的宽度是多少。0%%意味着无论悬垂程度如何,都要对所有外壁强制冷" "却。" -msgid "Bridge direction" -msgstr "桥接方向" +msgid "Bridge infill direction" +msgstr "拉桥填充方向" msgid "" "Bridging angle override. If left to zero, the bridging angle will be " @@ -6736,15 +6751,15 @@ msgid "Internal bridge support thickness" msgstr "内部桥接支撑厚度" msgid "" -"If enabled, Studio will generate support loops under the contours of " -"internal bridges.These support loops could prevent internal bridges from " -"extruding over the air and improve the top surface quality, especially when " -"the sparse infill density is low.This value determines the thickness of the " -"support loops. 0 means disable this feature" +"If enabled, support loops will be generated under the contours of internal " +"bridges.These support loops could prevent internal bridges from extruding " +"over the air and improve the top surface quality, especially when the sparse " +"infill density is low.This value determines the thickness of the support " +"loops. 0 means disable this feature" msgstr "" -"如果开启,Studio会沿着内部桥接的边沿在其下方生成支撑轮廓。这些支撑轮廓可以防" -"止悬空地打印内部桥接并提高顶面质量,特别是在填充密度较低的情况下。这个设置用" -"于调整支撑轮廓的厚度,0表示关闭此特性。" +"如果开启,逆戟鲸切片会沿着内部桥接的边沿在其下方生成支撑轮廓。这些支撑轮廓可" +"以防止悬空地打印内部桥接并提高顶面质量,特别是在填充密度较低的情况下。这个设" +"置用于调整支撑轮廓的厚度,0表示关闭此特性。" msgid "Top surface pattern" msgstr "顶面图案" @@ -7039,14 +7054,6 @@ msgid "" "of line" msgstr "稀疏填充图案的角度,决定走线的开始或整体方向。" -msgid "Bridge infill direction" -msgstr "拉桥填充方向" - -msgid "" -"Angle for bridge infill pattern, which controls the start or main direction " -"of line" -msgstr "" - msgid "Sparse infill density" msgstr "稀疏填充密度" @@ -7090,6 +7097,54 @@ msgstr "支撑立方体" msgid "Lightning" msgstr "闪电" +msgid "Sparse infill anchor length" +msgstr "稀疏填充锚线长度" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than infill_anchor_max is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to this parameter, but no longer than anchor_length_max. \n" +"Set this parameter to zero to disable anchoring perimeters connected to a " +"single infill line." +msgstr "" +"用附加周长的一小段将填充线连接到内部周长。如果以百分比(例如:15%)表示,则计" +"算填充拉伸宽度。OrcaSlicer 试图将两条紧密的填充线连接到一个短的周长段。如果找" +"不到短于“填充”和“锚点”最大值的周长线段,则填充线仅在一侧连接到周长线段,并且" +"所取周长线段的长度仅限于此参数,但不超过“锚点长度”最大值。将此参数设置为零," +"以禁用连接到单个填充线的锚点周长。" + +msgid "0 (no open anchors)" +msgstr "0 (无锚线)" + +msgid "1000 (unlimited)" +msgstr "1000(无限制)" + +msgid "Maximum length of the infill anchor" +msgstr "填充锚线的最大长度" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Slic3r tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than this parameter is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to infill_anchor, but no longer than this parameter. \n" +"If set to 0, the old algorithm for infill connection will be used, it should " +"create the same result as with 1000 & 0." +msgstr "" +"用附加周长的一小段将填充线连接到内部周长。如果以百分比(例如:15%)表示,则计" +"算填充拉伸宽度。OrcaSlicer 试图将两条紧密的填充线连接到一个短的周长段。如果找" +"不到比此参数短的周长线段,则填充线仅在一侧连接到周长线段,并且所采用的周长线" +"段的长度仅限于 infl_anchor,但不超过此参数。将此参数设置为零以禁用锚点。" + +msgid "0 (Simple connect)" +msgstr "" + msgid "Acceleration of outer walls" msgstr "外墙的加速度。它通常使用比内壁速度慢的加速度,以获得更好的质量" @@ -7188,6 +7243,14 @@ msgstr "首层空驶速度" msgid "Travel speed of initial layer" msgstr "首层空驶速度" +msgid "Number of slow layers" +msgstr "慢速打印层数" + +msgid "" +"The first few layers are printed slower than normal. The speed is gradually " +"increased in a linear fashion over the specified number of layers." +msgstr "减慢前几层的打印速度。打印速度会逐渐加速到满速" + msgid "Initial layer nozzle temperature" msgstr "首层打印温度" @@ -7197,6 +7260,27 @@ msgstr "打印首层时的喷嘴温度" msgid "Full fan speed at layer" msgstr "满速风扇在" +msgid "" +"Fan speed will be ramped up linearly from zero at layer " +"\"close_fan_the_first_x_layers\" to maximum at layer \"full_fan_speed_layer" +"\". \"full_fan_speed_layer\" will be ignored if lower than " +"\"close_fan_the_first_x_layers\", in which case the fan will be running at " +"maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1." +msgstr "" +"风扇速度将从“禁用第一层”的零线性上升到“全风扇速度层”的最大。如果低于“禁用风扇" +"第一层”,则“全风扇速度第一层”将被忽略,在这种情况下,风扇将在“禁用风扇第一" +"层”+1层以最大允许速度运行。" + +msgid "Support interface fan speed" +msgstr "支撐接触面风扇" + +msgid "" +"This fan speed is enforced during all support interfaces, to be able to " +"weaken their bonding with a high fan speed.\n" +"Set to -1 to disable this override.\n" +"Can only be overriden by disable_fan_first_layers." +msgstr "此风扇速度在所有支撑接触层打印期间强制执行" + msgid "" "Randomly jitter while printing the wall, so that the surface has a rough " "look. This setting controls the fuzzy position" @@ -7303,6 +7387,39 @@ msgstr "洛氏硬度" msgid "Enable this option if machine has auxiliary part cooling fan" msgstr "如果机器有辅助部件冷却风扇,勾选该选项" +msgid "" +"Start the fan this number of seconds earlier than its target start time (you " +"can use fractional seconds). It assumes infinite acceleration for this time " +"estimation, and will only take into account G1 and G0 moves (arc fitting is " +"unsupported).\n" +"It won't move fan comands from custom gcodes (they act as a sort of " +"'barrier').\n" +"It won't move fan comands into the start gcode if the 'only custom start " +"gcode' is activated.\n" +"Use 0 to deactivate." +msgstr "" +"把风扇启动指令往前移动指定时间以补偿风扇的启动时间。目前支支持G1 G0指令\n" +"设为0以禁用此选项" + +msgid "Only overhangs" +msgstr "仅悬垂" + +msgid "Will only take into account the delay for the cooling of overhangs." +msgstr "仅对悬垂有效" + +msgid "Fan kick-start time" +msgstr "风扇" + +msgid "" +"Emit a max fan speed command for this amount of seconds before reducing to " +"target speed to kick-start the cooling fan.\n" +"This is useful for fans where a low PWM/power may be insufficient to get the " +"fan started spinning from a stop, or to get the fan up to speed faster.\n" +"Set to 0 to deactivate." +msgstr "" +"让风扇满速运行指定时间以帮助风扇顺利启动\n" +"设为0禁用此选项" + msgid "G-code flavor" msgstr "G-code风格" @@ -7806,14 +7923,22 @@ msgstr "背面" msgid "Random" msgstr "随机" +msgid "Staggered inner seams" +msgstr "" + +msgid "" +"This option causes the inner seams to be shifted backwards based on their " +"depth, forming a zigzag pattern." +msgstr "" + msgid "Seam gap" msgstr "接缝留空" msgid "" "In order to reduce the visibility of the seam in a closed loop extrusion, " "the loop is interrupted and shortened by a specified amount.\n" -"This amount can be specified in millimeters or as a percentage of the current " -"extruder diameter. The default value for this parameter is 15%." +"This amount can be specified in millimeters or as a percentage of the " +"current extruder diameter. The default value for this parameter is 15%." msgstr "" msgid "Role base wipe speed" @@ -7861,6 +7986,12 @@ msgstr "Skirt圈数" msgid "Number of loops for the skirt. Zero means disabling skirt" msgstr "skirt的圈数。0表示关闭skirt。" +msgid "Skirt speed" +msgstr "" + +msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -8019,7 +8150,7 @@ msgid "The z gap between the bottom support interface and object" msgstr "支撑生成于模型表面时,支撑面底部和模型之间的z间隙" msgid "Support/raft base" -msgstr "" +msgstr "支撑/筏层主体" msgid "" "Filament to print support base and raft. \"Default\" means no specific " @@ -8038,7 +8169,7 @@ msgid "" msgstr "使用圈形走线覆盖顶部接触面。默认关闭。" msgid "Support/raft interface" -msgstr "" +msgstr "支撑/筏层界面" msgid "" "Filament to print support interface. \"Default\" means no specific filament " @@ -8719,21 +8850,6 @@ msgstr "支撑:正在生成多边形" msgid "Support: generate toolpath" msgstr "支撑:正在生成走线路径" -msgid "Unknown file format. Input file must have .stl, .obj, .amf(.xml) extension." -msgstr "未知的文件格式。输入文件的扩展名必须为.stl、.obj 或 .amf(.xml)。" - -msgid "Loading of a model file failed." -msgstr "加载模型文件失败。" - -msgid "The supplied file couldn't be read because it's empty" -msgstr "无法读取提供的文件,因为该文件为空。" - -msgid "Unknown file format. Input file must have .3mf or .zip.amf extension." -msgstr "未知的文件格式。输入文件的扩展名必须为.3mf或.zip .amf。" - -msgid "Canceled" -msgstr "已取消" - #, c-format, boost-format msgid "Support: generate polygons at layer %d" msgstr "支撑:正在生成层%d的多边形" @@ -8836,7 +8952,7 @@ msgid "End volumetric speed: " msgstr "结束流量" msgid "step: " -msgstr "流量步距" +msgstr "步距" msgid "" "Please input valid values:\n" @@ -8859,253 +8975,308 @@ msgid "" "end > start + step)" msgstr "" -#: resources/data/hints.ini: [hint:3D Scene Operations] -msgid "" -"3D Scene Operations\n" -"Did you know how to control view and object/part selection with mouse and " -"touchpanel in the 3D scene?" -msgstr "" -"3D场景操作\n" -"如何在3D场景中使用鼠标和触摸面板进行视角控制和对象/部件选择" +msgid "Start retraction length: " +msgstr "起始回抽长度" -#: resources/data/hints.ini: [hint:Cut Tool] -msgid "" -"Cut Tool\n" -"Did you know that you can cut a model at any angle and position with the " -"cutting tool?" -msgstr "" -"切割工具\n" -"您知道吗?您可以使用切割工具以任何角度和位置切割模型。" +msgid "End retraction length: " +msgstr "结束回抽长度" -#: resources/data/hints.ini: [hint:Fix Model] -msgid "" -"Fix Model\n" -"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " -"problems?" +msgid "mm/mm" msgstr "" -"修复模型\n" -"您知道吗?您可以修复一个损坏的3D模型以避免诸多切片问题。" -#: resources/data/hints.ini: [hint:Timelapse] -msgid "" -"Timelapse\n" -"Did you know that you can generate a timelapse video during each print?" +msgid "Physical Printer" +msgstr "物理打印机" + +msgid "Print Host upload" msgstr "" -"延时摄影\n" -"您知道吗?您可以每次打印时生成一段延时摄影。" -#: resources/data/hints.ini: [hint:Auto-Arrange] -msgid "" -"Auto-Arrange\n" -"Did you know that you can auto-arrange all objects in your project?" +msgid "Test" msgstr "" -"自动摆盘\n" -"您知道吗?您可以自动排列项目中的所有对象。" -#: resources/data/hints.ini: [hint:Auto-Orient] -msgid "" -"Auto-Orient\n" -"Did you know that you can rotate objects to an optimal orientation for " -"printing by a simple click?" +msgid "Could not get a valid Printer Host reference" msgstr "" -"自动朝向\n" -"您知道吗,您只需单击鼠标,即可将对象旋转到适合的打印方向。" -#: resources/data/hints.ini: [hint:Lay on Face] -msgid "" -"Lay on Face\n" -"Did you know that you can quickly orient a model so that one of its faces " -"sits on the print bed? Select the \"Place on face\" function or press the " -"F key." +msgid "Success!" msgstr "" -"放置在面部\n" -"您知道吗,您可以快速指定模型的底面,使其位于打印床上。选择“放置在面部”功能或" -"按F键。" -#: resources/data/hints.ini: [hint:Object List] -msgid "" -"Object List\n" -"Did you know that you can view all objects/parts in a list and change " -"settings for each object/part?" +msgid "Refresh Printers" msgstr "" -"对象列表\n" -"您知道对象列表吗?您可以在其中的查看所有对象/部件,并更改每个对象/部件的设" -"置。" -#: resources/data/hints.ini: [hint:Simplify Model] msgid "" -"Simplify Model\n" -"Did you know that you can reduce the number of triangles in a mesh using the " -"Simplify mesh feature? Right-click the model and select Simplify model. Read " -"more in the documentation." +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." msgstr "" -"简化模型\n" -"您知道吗,您可以使用“简化模型”功能减少模型的三角形数。在模型上单击鼠标右键," -"然后选择“简化模型”。" -#: resources/data/hints.ini: [hint:Slicing Parameter Table] +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +msgstr "" + +msgid "Open CA certificate file" +msgstr "" + +#, c-format, boost-format msgid "" -"Slicing Parameter Table\n" -"Did you know that you can view all objects/parts on a table and change " -"settings for each object/part?" +"On this system, %s uses HTTPS certificates from the system Certificate Store " +"or Keychain." msgstr "" -"参数表格\n" -"您知道吗?您可以参数表格上的所有对象/部件,并更改每个对象/部件的设置。" -#: resources/data/hints.ini: [hint:Split to Objects/Parts] msgid "" -"Split to Objects/Parts\n" -"Did you know that you can split a big object into small ones for easy " -"colorizing or printing?" +"To use a custom CA file, please import your CA file into Certificate Store / " +"Keychain." msgstr "" -"分割成对象/零件\n" -"您知道吗,您可以把一个大对象分割成多个小对象/零件以便着色或打印。" -#: resources/data/hints.ini: [hint:Subtract a Part] -msgid "" -"Subtract a Part\n" -"Did you know that you can subtract one mesh from another using the Negative " -"part modifier? That way you can, for example, create easily resizable holes " -"directly in Orca Slicer. Read more in the documentation." +msgid "Connection to printers connected via the print host failed." msgstr "" -"减去部分几何体\n" -"您知道吗,您可以使用负零件从另一个几何体中减去另一个几何体。例如,可以直接在" -"逆戟鲸中创建可轻松调整大小的孔。" -#: resources/data/hints.ini: [hint:STEP] -msgid "" -"STEP\n" -"Did you know that you can improve your print quality by slicing a STEP file " -"instead of an STL?\n" -"Orca Slicer supports slicing STEP files, providing smoother results than a " -"lower resolution STL. Give it a try!" -msgstr "" -"STEP文件\n" -"您知道吗,通过切片STEP文件而不是STL文件可以提高打印质量。\n" -"逆戟鲸支持切片STEP文件,提供比低分辨率STL更平滑的结果。试试看!" +#~ msgid "" +#~ "3D Scene Operations\n" +#~ "Did you know how to control view and object/part selection with mouse and " +#~ "touchpanel in the 3D scene?" +#~ msgstr "" +#~ "3D场景操作\n" +#~ "如何在3D场景中使用鼠标和触摸面板进行视角控制和对象/部件选择" -#: resources/data/hints.ini: [hint:Z seam location] -msgid "" -"Z seam location\n" -"Did you know that you can customize the location of the Z seam, and even " -"paint it on your print, to have it in a less visible location? This improves " -"the overall look of your model. Check it out!" -msgstr "" -"Z接缝位置\n" -"您知道吗,您可以自定义Z接缝的位置,甚至可以将其绘制在打印上,使其位于不太可见" -"的位置。这样可以改善模型的整体外观。试试看!" +#~ msgid "" +#~ "Cut Tool\n" +#~ "Did you know that you can cut a model at any angle and position with the " +#~ "cutting tool?" +#~ msgstr "" +#~ "切割工具\n" +#~ "您知道吗?您可以使用切割工具以任何角度和位置切割模型。" -#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] -msgid "" -"Fine-tuning for flow rate\n" -"Did you know that flow rate can be fine-tuned for even better-looking " -"prints? Depending on the material, you can improve the overall finish of the " -"printed model by doing some fine-tuning." -msgstr "" -"流量微调\n" -"你知道吗,您可以微调流量,以获得更好看的打印效果。根据材料的不同,可以通过进" -"行一些微调来提高打印模型的整体光洁度。" +#~ msgid "" +#~ "Fix Model\n" +#~ "Did you know that you can fix a corrupted 3D model to avoid a lot of " +#~ "slicing problems?" +#~ msgstr "" +#~ "修复模型\n" +#~ "您知道吗?您可以修复一个损坏的3D模型以避免诸多切片问题。" -#: resources/data/hints.ini: [hint:Split your prints into plates] -msgid "" -"Split your prints into plates\n" -"Did you know that you can split a model that has a lot of parts into " -"individual plates ready to print? This will simplify the process of keeping " -"track of all the parts." -msgstr "" -"分盘打印\n" -"您知道吗,您可以把一个有很多零件的模型安排到多个独立的分盘,然后打印出来,这" -"将简化对所有零件的管理。" +#~ msgid "" +#~ "Timelapse\n" +#~ "Did you know that you can generate a timelapse video during each print?" +#~ msgstr "" +#~ "延时摄影\n" +#~ "您知道吗?您可以每次打印时生成一段延时摄影。" -#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer -#: Height] -msgid "" -"Speed up your print with Adaptive Layer Height\n" -"Did you know that you can print a model even faster, by using the Adaptive " -"Layer Height option? Check it out!" -msgstr "" -"自适应层高度加速打印\n" -"您知道吗,您可以使用“自适应层高度”选项可以更快地打印模型。试试看!" +#~ msgid "" +#~ "Auto-Arrange\n" +#~ "Did you know that you can auto-arrange all objects in your project?" +#~ msgstr "" +#~ "自动摆盘\n" +#~ "您知道吗?您可以自动排列项目中的所有对象。" -#: resources/data/hints.ini: [hint:Support painting] -msgid "" -"Support painting\n" -"Did you know that you can paint the location of your supports? This feature " -"makes it easy to place the support material only on the sections of the " -"model that actually need it." -msgstr "" -"绘制支撑\n" -"您知道吗,您可以手动绘制添加/屏蔽支撑的位置,此功能使仅将支撑材料放置在实际需" -"要的模型截面上变得容易。" +#~ msgid "" +#~ "Auto-Orient\n" +#~ "Did you know that you can rotate objects to an optimal orientation for " +#~ "printing by a simple click?" +#~ msgstr "" +#~ "自动朝向\n" +#~ "您知道吗,您只需单击鼠标,即可将对象旋转到适合的打印方向。" -#: resources/data/hints.ini: [hint:Different types of supports] -msgid "" -"Different types of supports\n" -"Did you know that you can choose from multiple types of supports? Tree " -"supports work great for organic models, while saving filament and improving " -"print speed. Check them out!" -msgstr "" -"支撑类型\n" -"您知道吗,有多种可选的支撑类型,树状支撑非常适合人物/动物模型,同时可以节耗材" -"并提高打印速度。试试看!" +#~ msgid "" +#~ "Lay on Face\n" +#~ "Did you know that you can quickly orient a model so that one of its faces " +#~ "sits on the print bed? Select the \"Place on face\" function or press the " +#~ "F key." +#~ msgstr "" +#~ "放置在面部\n" +#~ "您知道吗,您可以快速指定模型的底面,使其位于打印床上。选择“放置在面部”功能" +#~ "或按F键。" -#: resources/data/hints.ini: [hint:Printing Silk Filament] -msgid "" -"Printing Silk Filament\n" -"Did you know that Silk filament needs special consideration to print it " -"successfully? Higher temperature and lower speed are always recommended for " -"the best results." -msgstr "" -"打印丝绸耗材\n" -"你知道吗,丝绸耗材需要特别考虑才能成功打印。为了获得最佳效果,通常建议使用较" -"高的温度和较低的速度。" +#~ msgid "" +#~ "Object List\n" +#~ "Did you know that you can view all objects/parts in a list and change " +#~ "settings for each object/part?" +#~ msgstr "" +#~ "对象列表\n" +#~ "您知道对象列表吗?您可以在其中的查看所有对象/部件,并更改每个对象/部件的设" +#~ "置。" -#: resources/data/hints.ini: [hint:Brim for better adhesion] -msgid "" -"Brim for better adhesion\n" -"Did you know that when printing models have a small contact interface with " -"the printing surface, it's recommended to use a brim?" -msgstr "" -"使用Brim\n" -"您知道吗?当模型与热床表面的接触面积较小时,建议使用brim以提高打印成功率。" +#~ msgid "" +#~ "Simplify Model\n" +#~ "Did you know that you can reduce the number of triangles in a mesh using " +#~ "the Simplify mesh feature? Right-click the model and select Simplify " +#~ "model. Read more in the documentation." +#~ msgstr "" +#~ "简化模型\n" +#~ "您知道吗,您可以使用“简化模型”功能减少模型的三角形数。在模型上单击鼠标右" +#~ "键,然后选择“简化模型”。" -#: resources/data/hints.ini: [hint:Set parameters for multiple objects] -msgid "" -"Set parameters for multiple objects\n" -"Did you know that you can set slicing parameters for all selected objects at " -"one time?" -msgstr "" -"为多个对象设置参数\n" -"您知道吗,可以同时为所有选定对象设置切片参数。" +#~ msgid "" +#~ "Slicing Parameter Table\n" +#~ "Did you know that you can view all objects/parts on a table and change " +#~ "settings for each object/part?" +#~ msgstr "" +#~ "参数表格\n" +#~ "您知道吗?您可以参数表格上的所有对象/部件,并更改每个对象/部件的设置。" -#: resources/data/hints.ini: [hint:Stack objects] -msgid "" -"Stack objects\n" -"Did you know that you can stack objects as a whole one?" -msgstr "" -"组合物体\n" -"你知道吗?你可以把多个对象组合为一个整体。" +#~ msgid "" +#~ "Split to Objects/Parts\n" +#~ "Did you know that you can split a big object into small ones for easy " +#~ "colorizing or printing?" +#~ msgstr "" +#~ "分割成对象/零件\n" +#~ "您知道吗,您可以把一个大对象分割成多个小对象/零件以便着色或打印。" -#: resources/data/hints.ini: [hint:Flush into support/objects/infill] -msgid "" -"Flush into support/objects/infill\n" -"Did you know that you can save the wasted filament by flushing them into " -"support/objects/infill during filament change?" -msgstr "" -"冲刷到支持/对象/填充中\n" -"你知道吗?你可以在换料时将它们冲入支撑/对象/填充,以节省浪费的料丝。" +#~ msgid "" +#~ "Subtract a Part\n" +#~ "Did you know that you can subtract one mesh from another using the " +#~ "Negative part modifier? That way you can, for example, create easily " +#~ "resizable holes directly in Orca Slicer. Read more in the documentation." +#~ msgstr "" +#~ "减去部分几何体\n" +#~ "您知道吗,您可以使用负零件从另一个几何体中减去另一个几何体。例如,可以直接" +#~ "在逆戟鲸中创建可轻松调整大小的孔。" -#: resources/data/hints.ini: [hint:Improve strength] -msgid "" -"Improve strength\n" -"Did you know that you can use more wall loops and higher sparse infill " -"density to improve the strength of the model?" -msgstr "" -"提高强度\n" -"你知道吗?你可以使用更多的墙层数和更高的疏散填充密度来提高模型的强度。" +#~ msgid "" +#~ "STEP\n" +#~ "Did you know that you can improve your print quality by slicing a STEP " +#~ "file instead of an STL?\n" +#~ "Orca Slicer supports slicing STEP files, providing smoother results than " +#~ "a lower resolution STL. Give it a try!" +#~ msgstr "" +#~ "STEP文件\n" +#~ "您知道吗,通过切片STEP文件而不是STL文件可以提高打印质量。\n" +#~ "逆戟鲸支持切片STEP文件,提供比低分辨率STL更平滑的结果。试试看!" -#~ msgid "Physical Printer" -#~ msgstr "物理打印机" +#~ msgid "" +#~ "Z seam location\n" +#~ "Did you know that you can customize the location of the Z seam, and even " +#~ "paint it on your print, to have it in a less visible location? This " +#~ "improves the overall look of your model. Check it out!" +#~ msgstr "" +#~ "Z接缝位置\n" +#~ "您知道吗,您可以自定义Z接缝的位置,甚至可以将其绘制在打印上,使其位于不太" +#~ "可见的位置。这样可以改善模型的整体外观。试试看!" + +#~ msgid "" +#~ "Fine-tuning for flow rate\n" +#~ "Did you know that flow rate can be fine-tuned for even better-looking " +#~ "prints? Depending on the material, you can improve the overall finish of " +#~ "the printed model by doing some fine-tuning." +#~ msgstr "" +#~ "流量微调\n" +#~ "你知道吗,您可以微调流量,以获得更好看的打印效果。根据材料的不同,可以通过" +#~ "进行一些微调来提高打印模型的整体光洁度。" + +#~ msgid "" +#~ "Split your prints into plates\n" +#~ "Did you know that you can split a model that has a lot of parts into " +#~ "individual plates ready to print? This will simplify the process of " +#~ "keeping track of all the parts." +#~ msgstr "" +#~ "分盘打印\n" +#~ "您知道吗,您可以把一个有很多零件的模型安排到多个独立的分盘,然后打印出来," +#~ "这将简化对所有零件的管理。" + +#~ msgid "" +#~ "Speed up your print with Adaptive Layer Height\n" +#~ "Did you know that you can print a model even faster, by using the " +#~ "Adaptive Layer Height option? Check it out!" +#~ msgstr "" +#~ "自适应层高度加速打印\n" +#~ "您知道吗,您可以使用“自适应层高度”选项可以更快地打印模型。试试看!" + +#~ msgid "" +#~ "Support painting\n" +#~ "Did you know that you can paint the location of your supports? This " +#~ "feature makes it easy to place the support material only on the sections " +#~ "of the model that actually need it." +#~ msgstr "" +#~ "绘制支撑\n" +#~ "您知道吗,您可以手动绘制添加/屏蔽支撑的位置,此功能使仅将支撑材料放置在实" +#~ "际需要的模型截面上变得容易。" + +#~ msgid "" +#~ "Different types of supports\n" +#~ "Did you know that you can choose from multiple types of supports? Tree " +#~ "supports work great for organic models, while saving filament and " +#~ "improving print speed. Check them out!" +#~ msgstr "" +#~ "支撑类型\n" +#~ "您知道吗,有多种可选的支撑类型,树状支撑非常适合人物/动物模型,同时可以节" +#~ "耗材并提高打印速度。试试看!" + +#~ msgid "" +#~ "Printing Silk Filament\n" +#~ "Did you know that Silk filament needs special consideration to print it " +#~ "successfully? Higher temperature and lower speed are always recommended " +#~ "for the best results." +#~ msgstr "" +#~ "打印丝绸耗材\n" +#~ "你知道吗,丝绸耗材需要特别考虑才能成功打印。为了获得最佳效果,通常建议使用" +#~ "较高的温度和较低的速度。" + +#~ msgid "" +#~ "Brim for better adhesion\n" +#~ "Did you know that when printing models have a small contact interface " +#~ "with the printing surface, it's recommended to use a brim?" +#~ msgstr "" +#~ "使用Brim\n" +#~ "您知道吗?当模型与热床表面的接触面积较小时,建议使用brim以提高打印成功率。" + +#~ msgid "" +#~ "Set parameters for multiple objects\n" +#~ "Did you know that you can set slicing parameters for all selected objects " +#~ "at one time?" +#~ msgstr "" +#~ "为多个对象设置参数\n" +#~ "您知道吗,可以同时为所有选定对象设置切片参数。" + +#~ msgid "" +#~ "Stack objects\n" +#~ "Did you know that you can stack objects as a whole one?" +#~ msgstr "" +#~ "组合物体\n" +#~ "你知道吗?你可以把多个对象组合为一个整体。" + +#~ msgid "" +#~ "Flush into support/objects/infill\n" +#~ "Did you know that you can save the wasted filament by flushing them into " +#~ "support/objects/infill during filament change?" +#~ msgstr "" +#~ "冲刷到支持/对象/填充中\n" +#~ "你知道吗?你可以在换料时将它们冲入支撑/对象/填充,以节省浪费的料丝。" + +#~ msgid "" +#~ "Improve strength\n" +#~ "Did you know that you can use more wall loops and higher sparse infill " +#~ "density to improve the strength of the model?" +#~ msgstr "" +#~ "提高强度\n" +#~ "你知道吗?你可以使用更多的墙层数和更高的疏散填充密度来提高模型的强度。" + +#~ msgid "" +#~ "If enabled, support loops will be generated under the contours of " +#~ "internal bridges. These support loops could prevent internal bridges from " +#~ "extruding over the air and improve the top surface quality, especially " +#~ "when the sparse infill density is low.This value determines the thickness " +#~ "of the support loops. 0 means disable this feature" +#~ msgstr "" +#~ "如果开启,Studio会沿着内部桥接的边沿在其下方生成支撑轮廓。这些支撑轮廓可以" +#~ "防止悬空地打印内部桥接并提高顶面质量,特别是在填充密度较低的情况下。这个设" +#~ "置用于调整支撑轮廓的厚度,0表示关闭此特性。" + +#~ msgid "Bridge direction" +#~ msgstr "桥接方向" + +#~ msgid "" +#~ "Unknown file format. Input file must have .stl, .obj, .amf(.xml) " +#~ "extension." +#~ msgstr "未知的文件格式。输入文件的扩展名必须为.stl、.obj 或 .amf(.xml)。" + +#~ msgid "Loading of a model file failed." +#~ msgstr "加载模型文件失败。" + +#~ msgid "The supplied file couldn't be read because it's empty" +#~ msgstr "无法读取提供的文件,因为该文件为空。" + +#~ msgid "" +#~ "Unknown file format. Input file must have .3mf or .zip.amf extension." +#~ msgstr "未知的文件格式。输入文件的扩展名必须为.3mf或.zip .amf。" + +#~ msgid "Canceled" +#~ msgstr "已取消" #~ msgid "Keep upper part" #~ msgstr "保留上半部分" @@ -9531,8 +9702,8 @@ msgstr "" #~ "中打印指定厚度的环形走线,为内部桥接提供更好的铆接。0值代表关闭该功能。" #~ msgid "" -#~ "If enabled, Studio will generate support loops under the contours of " -#~ "internal bridges.These support loops could prevent internal bridges from " +#~ "If enabled, support loops will be generated under the contours of " +#~ "internal bridges. These support loops could prevent internal bridges from " #~ "extruding over the air and improve the top surface quality, expecially " #~ "with a low infill density.This value determins the thickness of the " #~ "support loops." @@ -12098,24 +12269,12 @@ msgstr "" #~ msgid "Bridges" #~ msgstr "桥接" -#~ msgid "Sparse infill anchor length" -#~ msgstr "稀疏填充锚线长度" - -#~ msgid "0 (no open anchors)" -#~ msgstr "0 (无锚线)" - #~ msgid "5 mm" #~ msgstr "5 mm" #~ msgid "10 mm" #~ msgstr "10 mm" -#~ msgid "1000 (unlimited)" -#~ msgstr "1000(无限制)" - -#~ msgid "Maximum length of the infill anchor" -#~ msgstr "填充锚线的最大长度" - #~ msgid "0 (not anchored)" #~ msgstr "0(无)" diff --git a/cmake/modules/MacOSXBundleInfo.plist.in b/cmake/modules/MacOSXBundleInfo.plist.in index 5e61a9e94c..40c8e7c3a0 100644 --- a/cmake/modules/MacOSXBundleInfo.plist.in +++ b/cmake/modules/MacOSXBundleInfo.plist.in @@ -118,5 +118,13 @@ NSHumanReadableCopyright ${MACOSX_BUNDLE_COPYRIGHT} + NSAppTransportSecurity + + + NSAllowsArbitraryLoads + + NSAllowsArbitraryLoadsInWebContent + + diff --git a/deps/OCCT/OCCT.cmake b/deps/OCCT/OCCT.cmake index 2943a3cbbd..6a15292ece 100644 --- a/deps/OCCT/OCCT.cmake +++ b/deps/OCCT/OCCT.cmake @@ -8,7 +8,7 @@ bambustudio_add_cmake_project(OCCT URL https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_6_0.zip URL_HASH SHA256=28334f0e98f1b1629799783e9b4d21e05349d89e695809d7e6dfa45ea43e1dbc #PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch - PATCH_COMMAND git apply --directory deps/build/dep_OCCT-prefix/src/dep_OCCT --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch + PATCH_COMMAND git apply --directory ${CMAKE_BINARY_DIR}/dep_OCCT-prefix/src/dep_OCCT --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch #DEPENDS dep_Boost #DEPENDS dep_FREETYPE CMAKE_ARGS diff --git a/deps/OpenEXR/0001-OpenEXR-GCC13.patch b/deps/OpenEXR/0001-OpenEXR-GCC13.patch new file mode 100644 index 0000000000..bf7d6ae82b --- /dev/null +++ b/deps/OpenEXR/0001-OpenEXR-GCC13.patch @@ -0,0 +1,31 @@ +--- a/OpenEXR/IlmImf/ImfDwaCompressor.cpp ++++ b/OpenEXR/IlmImf/ImfDwaCompressor.cpp +@@ -159,6 +159,7 @@ + #include + + #include ++#include + + + // Windows specific addition to prevent the indirect import of the redefined min/max macros +--- a/OpenEXR/IlmImf/ImfHuf.h ++++ b/OpenEXR/IlmImf/ImfHuf.h +@@ -40,6 +40,8 @@ + #include "ImfExport.h" + #include "ImfNamespace.h" + ++#include ++ + //----------------------------------------------------------------------------- + // + // 16-bit Huffman compression and decompression: +--- a/OpenEXR/IlmImf/ImfMisc.h ++++ b/OpenEXR/IlmImf/ImfMisc.h +@@ -51,6 +51,7 @@ + #include "ImfForward.h" + + #include ++#include + #include + + diff --git a/deps/OpenEXR/OpenEXR.cmake b/deps/OpenEXR/OpenEXR.cmake index 5ffdd1c964..74d6de3272 100644 --- a/deps/OpenEXR/OpenEXR.cmake +++ b/deps/OpenEXR/OpenEXR.cmake @@ -33,12 +33,13 @@ bambustudio_add_cmake_project(OpenEXR # GIT_REPOSITORY https://github.com/openexr/openexr.git URL https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip URL_HASH SHA256=0307a3d7e1fa1e77e9d84d7e9a8694583fbbbfd50bdc6884e2c96b8ef6b902de + PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OpenEXR-GCC13.patch DEPENDS ${ZLIB_PKG} GIT_TAG v2.5.5 CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON - -DBUILD_TESTING=OFF - -DPYILMBASE_ENABLE:BOOL=OFF + -DBUILD_TESTING=OFF + -DPYILMBASE_ENABLE:BOOL=OFF -DOPENEXR_VIEWERS_ENABLE:BOOL=OFF -DOPENEXR_BUILD_UTILS:BOOL=OFF ) diff --git a/deps/TBB/0001-TBB-GCC13.patch b/deps/TBB/0001-TBB-GCC13.patch new file mode 100644 index 0000000000..047daa4497 --- /dev/null +++ b/deps/TBB/0001-TBB-GCC13.patch @@ -0,0 +1,11 @@ +--- a/include/tbb/task.h ++++ b/include/tbb/task.h +@@ -219,7 +219,7 @@ + #if __TBB_TASK_PRIORITY + //! Pointer to the next offloaded lower priority task. + /** Used to maintain a list of offloaded tasks inside the scheduler. **/ +- task* next_offloaded; ++ tbb::task* next_offloaded; + }; + #endif /* __TBB_TASK_PRIORITY */ + diff --git a/deps/TBB/TBB.cmake b/deps/TBB/TBB.cmake index 9891fca41a..304b3ffb1b 100644 --- a/deps/TBB/TBB.cmake +++ b/deps/TBB/TBB.cmake @@ -2,7 +2,8 @@ bambustudio_add_cmake_project( TBB URL "https://github.com/wjakob/tbb/archive/a0dc9bf76d0120f917b641ed095360448cabc85b.tar.gz" URL_HASH SHA256=0545cb6033bd1873fcae3ea304def720a380a88292726943ae3b9b207f322efe - CMAKE_ARGS + PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-TBB-GCC13.patch + CMAKE_ARGS -DTBB_BUILD_SHARED=OFF -DTBB_BUILD_TESTS=OFF -DTBB_BUILD_TESTS=OFF diff --git a/doc/Calibration.md b/doc/Calibration.md index 00ddcbe60b..58baa67223 100644 --- a/doc/Calibration.md +++ b/doc/Calibration.md @@ -3,12 +3,17 @@ 1. [Line method](#Line-method) 2. [Tower method](#Tower-method) - [Temp tower](#Temp-tower) -- [Advanced calibration] - 1. [Max Volumetric speed] +- [Retraction test](#Retraction-test) +- [Orca Tolerance Test](#Orca-Tolerance-Test) +- [Advanced calibration](#Advanced-Calibration) + 1. [Max Volumetric speed](#Max-Volumetric-speed) 2. [VFA] **NOTE**: After completing the calibration process, remember to create a new project in order to exit the calibration mode. # Flow rate + ##### *NOTE: For Bambulab X1/X1C users, make sure you do not select the 'Flow calibration' option.* + ![uncheck](https://user-images.githubusercontent.com/103989404/221345187-3c317a46-4d85-4221-99b9-adb5c7f48026.jpeg) +---------------------------------------- ![flowrate](https://user-images.githubusercontent.com/103989404/210137579-3fd141ad-f2da-4542-a1fd-fc4b4d673908.gif) Calibrating the flow rate involves a two-step process. Steps @@ -26,13 +31,10 @@ Steps ![-6](https://user-images.githubusercontent.com/103989404/210139131-ee224146-b242-4c1c-ac96-35ef0ca591f1.jpg) ![image](https://user-images.githubusercontent.com/103989404/210139721-919be130-fbba-4e3a-aa58-8a563e8c7792.png) -### NOTE: -* For Bambulab X1/X1C users, make sure you do not select the 'Flow calibration' option.* -![uncheck](https://user-images.githubusercontent.com/103989404/221345187-3c317a46-4d85-4221-99b9-adb5c7f48026.jpeg) - # Pressure Advance I will present two approaches for calibrating the pressure advance value. Both methods have their own advantages and disadvantages. It is important to note that each method has two versions: one for a direct drive extruder and one for a Bowden extruder. Make sure to select the appropriate version for your test. - + ##### *NOTE: For Bambulab X1/X1C users, make sure you do not select the 'Flow calibration' option.* + ![uncheck](https://user-images.githubusercontent.com/103989404/221345187-3c317a46-4d85-4221-99b9-adb5c7f48026.jpeg) ### Line method The line method is quick and straightforward to test. However, its accuracy highly depends on your first layer quality. It is suggested to turn on the bed mesh leveling for this test. Steps: @@ -56,18 +58,56 @@ Steps: ![tower](https://user-images.githubusercontent.com/103989404/210140231-e886b98d-280a-4464-9781-c74ed9b7d44e.jpg) ![tower_measure](https://user-images.githubusercontent.com/103989404/210140232-885b549b-e3b8-46b9-a24c-5229c9182408.jpg) -### NOTE: -* For Bambulab X1/X1C users, make sure you do not select the 'Flow calibration' option.* -![uncheck](https://user-images.githubusercontent.com/103989404/221345187-3c317a46-4d85-4221-99b9-adb5c7f48026.jpeg) # Temp tower +![image](./images/temp_tower_test.gif) +Temp tower is a straightforward test. The temp tower is a vertical tower with multiple blocks, each printed at a different temperature. Once the print is complete, we can examine each block of the tower and determine the optimal temperature for the filament. The optimal temperature is the one that produces the highest quality print with the least amount of issues, such as stringing, layer adhesion, warping (overhang), and bridging. ![temp_tower](https://user-images.githubusercontent.com/103989404/221344534-40e1a629-450c-4ad5-a051-8e240e261a51.jpeg) -Temp tower is a straightforward test. The temp tower is a vertical tower with multiple blocks, each printed at a different temperature. Once the print is complete, we can examine each block of the tower and determine the optimal temperature for the filament. The optimal temperature is the one that produces the highest quality print with the least amount of issues, such as stringing, layer adhesion, warping (overhang), and bridging. + +# Retraction test +![image](./images/retraction_test.gif) +This test generates a retraction tower automatically. The retraction tower is a vertical structure with multiple notches, each printed at a different retraction length. After the print is complete, we can examine each section of the tower to determine the optimal retraction length for the filament. The optimal retraction length is the shortest one that produces the cleanest tower. +![image](./images/retraction_test_dlg.png) +In the dialog, you can select the start and end retraction length, as well as the retraction length increment step. The default values are 0mm for the start retraction length, 2mm for the end retraction length, and 0.1mm for the step. These values are suitable for most direct drive extruders. However, for Bowden extruders, you may want to increase the start and end retraction lengths to 1mm and 6mm, respectively, and set the step to 0.2mm. + +**Note**: When testing filaments such as PLA or ABS that have minimal oozing, the retraction settings can be highly effective. You may find that the retraction tower appears clean right from the start. In such situations, setting the retraction length to 0.2mm - 0.4mm using Orca Slicer should suffice. +On the other hand, if there is still a lot of stringing at the top of the tower, it is recommended to dry your filament and ensure that your nozzle is properly installed without any leaks. +![image](./images/retraction_test_print.jpg) + +# Orca Tolerance Test +This tolerance test is specifically designed to assess the dimensional accuracy of your printer and filament. The model comprises a base and a hexagon tester. The base contains six hexagon hole, each with a different tolerance: 0.0mm, 0.05mm, 0.1mm, 0.2mm, 0.3mm, and 0.4mm. The dimensions of the hexagon tester are illustrated in the image. +![image](./images/tolerance_hole.jpg) + +You can assess the tolerance using either an M6 Allen key or the printed hexagon tester. +![image](./images/OrcaToleranceTes_m6.jpg) +![image](./images/OrcaToleranceTest_print.jpg) + +# Advanced Calibration + +## Max Volumetric speed +This is a test designed to calibrate the maximum volumetric speed of the specific filament. The generic or 3rd party filament types may not have the correct volumetric flow rate set in the filament. This test will help you to find the maximum volumetric speed of the filament. + +You will be promted to enter the settings for the test: start volumetric speed, end volumentric speed, and step. It is recommended to use the default values (5mm³/s start, 20mm³/s end, with a step of 0.5), unless you already have an idea of the lower or upper limit for your filament. Select "OK", slice the plate, and send it to the printer. + +Once printed, take note of where the layers begin to fail and where the quality begins to suffer. Pay attention to changes from matte to shiny as well. + +![image](./images/vmf_measurement_point.jpg) + +Using calipers or a ruler, measure the height of the print at that point. Use the following calculation to determine the correct max flow value: `start + (height-measured * step)` . For example in the photo below, and using the default setting values, the print quality began to suffer at 19mm measured, so the calculation would be: `5 + (19 * 0.5)` , or `13mm³/s` using the default values. Enter your number into the "Max volumetric speed" value in the filament settings. + +![image](./images/caliper_sample_mvf.jpg) + +You can also return to OrcaSlicer in the "Preview" tab, make sure the color scheme "flow" is selected. Scroll down to the layer height that you measured, and click on the toolhead slider. This will indicate the max flow level for your filmanet. + +![image](./images/max_volumetric_flow.jpg) + + #### *NOTE You may also choose to conservatively reduce the flow by 5-10% to ensure print quality.* *** *Credits:* -- *Flowrate test is inspired by [SuperSlicer](https://github.com/supermerill/SuperSlicer)* -- *PA Line method is inspired by [K-factor Calibration Pattern](https://marlinfw.org/tools/lin_advance/k-factor.html)* -- *PA Tower method is inspired by [Klipper](https://www.klipper3d.org/Pressure_Advance.html)* -- *Temp tower model is remixed from [Smart compact temperature calibration tower](https://www.thingiverse.com/thing:2729076) +- *The Flowrate test and retraction test is inspired by [SuperSlicer](https://github.com/supermerill/SuperSlicer)* +- *The PA Line method is inspired by [K-factor Calibration Pattern](https://marlinfw.org/tools/lin_advance/k-factor.html)* +- *The PA Tower method is inspired by [Klipper](https://www.klipper3d.org/Pressure_Advance.html)* +- *The temp tower model is remixed from [Smart compact temperature calibration tower](https://www.thingiverse.com/thing:2729076) +- *The max flowrate test was inspired by Stefan(CNC Kitchen), and the model used in the test is a remix of his [Extrusion Test Structure](https://www.printables.com/model/342075-extrusion-test-structure). - *chapgpt* ;) diff --git a/doc/Home.md b/doc/Home.md index 6c3d6bf723..3f911caa8e 100644 --- a/doc/Home.md +++ b/doc/Home.md @@ -1,12 +1,7 @@ -Welcome to the documentation wiki! +Welcome to the OrcaSlicer WIKI! We have divided it roughly into the following pages: * [Calibration](wiki/Calibration) -* [How to build - Linux et al](wiki/How-to-build---Linux-et-al) -* [How to build Mac OS](wiki/How-to-build---Mac-OS) -* [How to build Windows](wiki/How-to-build---Windows) -* [Localization guide](wiki/Localization_guide) -* [release_notes_cn](wiki/release_notes_cn) -* [release_notes_en](wiki/release_notes_en) * [Seam](wiki/Seam) +* [How to build Orca Slicer](wiki/How-to-build) diff --git a/doc/How to build b/doc/How to build new file mode 100644 index 0000000000..a7c05b0f5d --- /dev/null +++ b/doc/How to build @@ -0,0 +1,11 @@ +# How to compile +- Windows 64-bit + - Tools needed: Visual Studio 2019, Cmake, git, Strawberry Perl. + - Run `build_release.bat` in `x64 Native Tools Command Prompt for VS 2019` + +- Mac 64-bit + - Tools needed: Xcode, Cmake, git, gettext + - run `build_release_macos.sh` + +- Ubuntu + - run `BuildLinux.sh -udisr` \ No newline at end of file diff --git a/doc/How to build - Linux et al.md b/doc/How to build - Linux et al.md deleted file mode 100644 index 0c276bce00..0000000000 --- a/doc/How to build - Linux et al.md +++ /dev/null @@ -1,4 +0,0 @@ - -# Building Orca Slicer on UNIX/Linux - -Currently Linux version is not verified, you can try it referring to [PrusaSlicer'S linux building guide](https://github.com/prusa3d/PrusaSlicer/blob/master/doc/How%20to%20build%20-%20Linux%20et%20al.md) \ No newline at end of file diff --git a/doc/How to build - Mac OS.md b/doc/How to build - Mac OS.md deleted file mode 100644 index 43009d32fa..0000000000 --- a/doc/How to build - Mac OS.md +++ /dev/null @@ -1,41 +0,0 @@ - -# Building Orca Slicer on Mac OS - -## Enviroment setup -Install Following tools: -- Xcode from app store -- Cmake -- git -- gettext - -Cmake, git, gettext can be installed from brew(brew install cmake git gettext) - -## building the deps -You need to build the dependence of OrcaSlicer first. (Only needs for the first time) - -Suppose you download the codes into /Users/_username_/work/projects/BambuStudio -create a directory to store the dependence built: /Users/_username_/work/projects/OrcaSlicer_dep -**(Please make sure to replace the username with the one on your computer)** - -`cd BambuStudio/deps` -`mkdir build;cd build` - -for arm64 architecture -`cmake ../ -DDESTDIR="/Users/username/work/projects/OrcaSlicer_dep" -DOPENSSL_ARCH="darwin64-arm64-cc"` -for x86 architeccture -`cmake ../ -DDESTDIR="/Users/username/work/projects/OrcaSlicer_dep" -DOPENSSL_ARCH="darwin64-x86_64-cc"` -`make -jN` (N can be a number between 1 and the max cpu number) - -## building the Orca Slicer -create a directory to store the installed files at /Users/username/work/projects/BambuStudio/install_dir -`cd BambuStudio` -`mkdir install_dir` -`mkdir build;cd build` - -building it use cmake -`cmake .. -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="/Users/username/work/projects/OrcaSlicer_dep/usr/local" -DCMAKE_INSTALL_PREFIX="../install_dir" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="/Users/username/work/projects/OrcaSlicer_dep/usr/local" -DCMAKE_MACOSX_BUNDLE=on` -`cmake --build . --target install --config Release -jN` - -building it use xcode -`cmake .. -GXcode -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="/Users/username/work/projects/OrcaSlicer_dep/usr/local" -DCMAKE_INSTALL_PREFIX="../install_dir" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="/Users/username/work/projects/OrcaSlicer_dep/usr/local" -DCMAKE_MACOSX_BUNDLE=on` -then building it using Xcode \ No newline at end of file diff --git a/doc/How to build - Windows.md b/doc/How to build - Windows.md deleted file mode 100644 index cfac395636..0000000000 --- a/doc/How to build - Windows.md +++ /dev/null @@ -1,35 +0,0 @@ -# Building Orca Slicer on Windows - -## Enviroment setup -Install Following tools: -- Visual Studio Community 2019 from [visualstudio.microsoft.com/vs/](https://visualstudio.microsoft.com/vs/) (Older versions are not supported as Orca Slicer requires support for C++17, and newer versions should also be ok); -- Cmake from [cmake.org](https://cmake.org/download/) -- Git from [gitforwindows.org](https://gitforwindows.org/) -- Perl from [strawberryperl](https://strawberryperl.com/) - -## building the deps -Suppose you download the codes into D:/work/Projects/BambuStudio -create a directory to store the dependence built: D:/work/Projects/OrcaSlicer_dep - -`cd BambuStudio/deps` -`mkdir build;cd build` -`cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="D:/work/Projects/OrcaSlicer_dep" -DCMAKE_BUILD_TYPE=Release` -`msbuild /m ALL_BUILD.vcxproj` - -It takes "00:14:27.37" to finish it on my machine (11th Gen Intel(R) Core(TM) i9-11900 @2.50GHz 2.50 GHz, with 32.0 GB DDR) - -## building the Orca Slicer -create a directory to store the installed files at D:/work/Projects/BambuStudio/install_dir -`cd BambuStudio` -`mkdir install_dir` -`mkdir build;cd build` - -set -DWIN10SDK_PATH to your windows sdk path(for example: C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0) in below command: -`cmake .. -G "Visual Studio 16 2019" -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="D:/work/Projects/OrcaSlicer_dep/usr/local" -DCMAKE_INSTALL_PREFIX="../install_dir" -DCMAKE_BUILD_TYPE=Release -DWIN10SDK_PATH="C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0"` - -then build it using command -`cmake --build . --target install --config Release` - -or building it under the Visual Studio 2019 -(set the OrcaSlicer_app_gui as start project) -![image](https://user-images.githubusercontent.com/106916061/179185940-06135b47-f2a4-415a-9be4-666680fa0f9a.png) \ No newline at end of file diff --git a/doc/images/OrcaToleranceTes_m6.jpg b/doc/images/OrcaToleranceTes_m6.jpg new file mode 100644 index 0000000000..7cd70d8a23 Binary files /dev/null and b/doc/images/OrcaToleranceTes_m6.jpg differ diff --git a/doc/images/OrcaToleranceTest_print.jpg b/doc/images/OrcaToleranceTest_print.jpg new file mode 100644 index 0000000000..4fc2244160 Binary files /dev/null and b/doc/images/OrcaToleranceTest_print.jpg differ diff --git a/doc/images/caliper_sample_mvf.jpg b/doc/images/caliper_sample_mvf.jpg new file mode 100644 index 0000000000..718a124077 Binary files /dev/null and b/doc/images/caliper_sample_mvf.jpg differ diff --git a/doc/images/max_volumetric_flow.jpg b/doc/images/max_volumetric_flow.jpg new file mode 100644 index 0000000000..54d850cd95 Binary files /dev/null and b/doc/images/max_volumetric_flow.jpg differ diff --git a/doc/images/retraction_test.gif b/doc/images/retraction_test.gif new file mode 100644 index 0000000000..4095982ab6 Binary files /dev/null and b/doc/images/retraction_test.gif differ diff --git a/doc/images/retraction_test_dlg.png b/doc/images/retraction_test_dlg.png new file mode 100644 index 0000000000..85dcfdd2c1 Binary files /dev/null and b/doc/images/retraction_test_dlg.png differ diff --git a/doc/images/retraction_test_print.jpg b/doc/images/retraction_test_print.jpg new file mode 100644 index 0000000000..b60eff8c91 Binary files /dev/null and b/doc/images/retraction_test_print.jpg differ diff --git a/doc/images/temp_tower_test.gif b/doc/images/temp_tower_test.gif new file mode 100644 index 0000000000..c93a0dab52 Binary files /dev/null and b/doc/images/temp_tower_test.gif differ diff --git a/doc/images/tolerance_hole.jpg b/doc/images/tolerance_hole.jpg new file mode 100644 index 0000000000..041e271984 Binary files /dev/null and b/doc/images/tolerance_hole.jpg differ diff --git a/doc/images/vmf_measurement_point.jpg b/doc/images/vmf_measurement_point.jpg new file mode 100644 index 0000000000..c9af518e54 Binary files /dev/null and b/doc/images/vmf_measurement_point.jpg differ diff --git a/doc/release_notes_cn.md b/doc/release_notes_cn.md deleted file mode 100644 index b5c3b9b391..0000000000 --- a/doc/release_notes_cn.md +++ /dev/null @@ -1,18 +0,0 @@ -**新功能** -1. 3D文字工具 -2. 对象和拷贝间的数据共享 -3. 参数表格 -4. 用户指南 -5. 支持Arachne特性 - -**改进** -1. 支持导出通用的3mf格式,兼容其他切片软件 -2. 优化混合支撑和树状支撑的生成速度 -3. 支持不停靠工具头的延迟摄影 -4. 支持纹理PEI热床 -5. 支持导入和导出预设 -6. 支持随机位置的接缝设置 -7. 支持匈牙利语 -8. 一些关键问题修复 - -详细信息请查看:https://github.com/bambulab/BambuStudio/releases diff --git a/doc/release_notes_en.md b/doc/release_notes_en.md deleted file mode 100644 index 89d801b2d4..0000000000 --- a/doc/release_notes_en.md +++ /dev/null @@ -1,18 +0,0 @@ -**New Features** -1. 3D text tool -2. Shared data between an object and its copies -3. Parameter table -4. User manual -5. Arachne feature - -**Improvements** -1. Added support for exporting generic 3mf that is compatible with other slicers -2. Optimized the performance of hybrid and tree support -3. Added traditional timelapse mode -4. Added support for Textured PEI plate -5. Added support for export/import preset -6. Added random seam position -7. Added Magyar translations -8. Fixed some known bugs - -For details, please check https://github.com/bambulab/BambuStudio/releases diff --git a/resources/calib/retraction/retraction_tower.stl b/resources/calib/retraction/retraction_tower.stl index e6239bdf8b..bae70d5924 100644 Binary files a/resources/calib/retraction/retraction_tower.stl and b/resources/calib/retraction/retraction_tower.stl differ diff --git a/resources/calib/tolerance_test/OrcaToleranceTest.stl b/resources/calib/tolerance_test/OrcaToleranceTest.stl new file mode 100644 index 0000000000..3f4e87eb94 Binary files /dev/null and b/resources/calib/tolerance_test/OrcaToleranceTest.stl differ diff --git a/resources/i18n/cs/Orcaslicer.mo b/resources/i18n/cs/OrcaSlicer.mo similarity index 58% rename from resources/i18n/cs/Orcaslicer.mo rename to resources/i18n/cs/OrcaSlicer.mo index 7e89f04069..475e3029b5 100644 Binary files a/resources/i18n/cs/Orcaslicer.mo and b/resources/i18n/cs/OrcaSlicer.mo differ diff --git a/resources/i18n/de/OrcaSlicer.mo b/resources/i18n/de/OrcaSlicer.mo index 4fa6370899..aabe1a8780 100644 Binary files a/resources/i18n/de/OrcaSlicer.mo and b/resources/i18n/de/OrcaSlicer.mo differ diff --git a/resources/i18n/es/OrcaSlicer.mo b/resources/i18n/es/OrcaSlicer.mo index 1bb8e90306..c78460c573 100644 Binary files a/resources/i18n/es/OrcaSlicer.mo and b/resources/i18n/es/OrcaSlicer.mo differ diff --git a/resources/i18n/fr/OrcaSlicer.mo b/resources/i18n/fr/OrcaSlicer.mo index 67135f560c..fac5c113ab 100644 Binary files a/resources/i18n/fr/OrcaSlicer.mo and b/resources/i18n/fr/OrcaSlicer.mo differ diff --git a/resources/i18n/ja/OrcaSlicer.mo b/resources/i18n/ja/OrcaSlicer.mo index 401c138f7c..0a7a1b2a62 100644 Binary files a/resources/i18n/ja/OrcaSlicer.mo and b/resources/i18n/ja/OrcaSlicer.mo differ diff --git a/resources/i18n/zh_cn/OrcaSlicer.mo b/resources/i18n/zh_cn/OrcaSlicer.mo index f79478b4af..809985a652 100644 Binary files a/resources/i18n/zh_cn/OrcaSlicer.mo and b/resources/i18n/zh_cn/OrcaSlicer.mo differ diff --git a/resources/images/OrcaSlicer_32px.png b/resources/images/OrcaSlicer_32px.png new file mode 100644 index 0000000000..424fd4f63a Binary files /dev/null and b/resources/images/OrcaSlicer_32px.png differ diff --git a/resources/profiles/Anycubic.json b/resources/profiles/Anycubic.json index 1f64da3e12..3d690b91a3 100644 --- a/resources/profiles/Anycubic.json +++ b/resources/profiles/Anycubic.json @@ -1,22 +1,102 @@ { "name": "Anycubic", - "version": "01.04.04.00", + "version": "01.05.00.00", "force_update": "0", "description": "Anycubic configurations", "machine_model_list": [ + { + "name": "Anycubic i3 Mega S", + "sub_path": "machine/Anycubic i3 Mega S.json" + }, + { + "name": "Anycubic Chiron", + "sub_path": "machine/Anycubic Chiron.json" + }, + { + "name": "Anycubic Vyper", + "sub_path": "machine/Anycubic Vyper.json" + }, + { + "name": "Anycubic Kobra Max", + "sub_path": "machine/Anycubic Kobra Max.json" + }, { "name": "Anycubic 4Max Pro", "sub_path": "machine/Anycubic 4Max Pro.json" + }, + { + "name": "Anycubic 4Max Pro 2", + "sub_path": "machine/Anycubic 4Max Pro 2.json" } ], "process_list": [ { "name": "fdm_process_common", "sub_path": "process/fdm_process_common.json" + }, + { + "name": "0.15mm Optimal @Anycubic i3MegaS", + "sub_path": "process/0.15mm Optimal @Anycubic i3MegaS.json" + }, + { + "name": "0.15mm Optimal @Anycubic Chiron", + "sub_path": "process/0.15mm Optimal @Anycubic Chiron.json" + }, + { + "name": "0.15mm Optimal @Anycubic Vyper", + "sub_path": "process/0.15mm Optimal @Anycubic Vyper.json" + }, + { + "name": "0.15mm Optimal @Anycubic KobraMax", + "sub_path": "process/0.15mm Optimal @Anycubic KobraMax.json" + }, + { + "name": "0.15mm Optimal @Anycubic 4MaxPro2", + "sub_path": "process/0.15mm Optimal @Anycubic 4MaxPro2.json" + }, + { + "name": "0.20mm Standard @Anycubic i3MegaS", + "sub_path": "process/0.20mm Standard @Anycubic i3MegaS.json" + }, + { + "name": "0.20mm Standard @Anycubic Chiron", + "sub_path": "process/0.20mm Standard @Anycubic Chiron.json" + }, + { + "name": "0.20mm Standard @Anycubic Vyper", + "sub_path": "process/0.20mm Standard @Anycubic Vyper.json" + }, + { + "name": "0.20mm Standard @Anycubic KobraMax", + "sub_path": "process/0.20mm Standard @Anycubic KobraMax.json" }, { - "name": "0.20mm Standard @4MaxPro", - "sub_path": "process/0.20mm Standard @4MaxPro.json" + "name": "0.20mm Standard @Anycubic 4MaxPro", + "sub_path": "process/0.20mm Standard @Anycubic 4MaxPro.json" + }, + { + "name": "0.20mm Standard @Anycubic 4MaxPro2", + "sub_path": "process/0.20mm Standard @Anycubic 4MaxPro2.json" + }, + { + "name": "0.30mm Draft @Anycubic i3MegaS", + "sub_path": "process/0.30mm Draft @Anycubic i3MegaS.json" + }, + { + "name": "0.30mm Draft @Anycubic Chiron", + "sub_path": "process/0.30mm Draft @Anycubic Chiron.json" + }, + { + "name": "0.30mm Draft @Anycubic Vyper", + "sub_path": "process/0.30mm Draft @Anycubic Vyper.json" + }, + { + "name": "0.30mm Draft @Anycubic KobraMax", + "sub_path": "process/0.30mm Draft @Anycubic KobraMax.json" + }, + { + "name": "0.30mm Draft @Anycubic 4MaxPro2", + "sub_path": "process/0.30mm Draft @Anycubic 4MaxPro2.json" } ], "filament_list": [ @@ -101,10 +181,30 @@ { "name": "fdm_machine_common", "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "Anycubic i3 Mega S 0.4 nozzle", + "sub_path": "machine/Anycubic i3 Mega S 0.4 nozzle.json" + }, + { + "name": "Anycubic Chiron 0.4 nozzle", + "sub_path": "machine/Anycubic Chiron 0.4 nozzle.json" + }, + { + "name": "Anycubic Vyper 0.4 nozzle", + "sub_path": "machine/Anycubic Vyper 0.4 nozzle.json" + }, + { + "name": "Anycubic Kobra Max 0.4 nozzle", + "sub_path": "machine/Anycubic Kobra Max 0.4 nozzle.json" }, { "name": "Anycubic 4Max Pro 0.4 nozzle", "sub_path": "machine/Anycubic 4Max Pro 0.4 nozzle.json" + }, + { + "name": "Anycubic 4Max Pro 2 0.4 nozzle", + "sub_path": "machine/Anycubic 4Max Pro 2 0.4 nozzle.json" } ] } diff --git a/resources/profiles/Anycubic/Anycubic 4Max Pro 2_cover.png b/resources/profiles/Anycubic/Anycubic 4Max Pro 2_cover.png new file mode 100644 index 0000000000..c2e65c32f3 Binary files /dev/null and b/resources/profiles/Anycubic/Anycubic 4Max Pro 2_cover.png differ diff --git a/resources/profiles/Anycubic/Anycubic 4Max Pro_cover.png b/resources/profiles/Anycubic/Anycubic 4Max Pro_cover.png index 62dd64382c..f172cd4cb9 100644 Binary files a/resources/profiles/Anycubic/Anycubic 4Max Pro_cover.png and b/resources/profiles/Anycubic/Anycubic 4Max Pro_cover.png differ diff --git a/resources/profiles/Anycubic/Anycubic Chiron_cover.png b/resources/profiles/Anycubic/Anycubic Chiron_cover.png new file mode 100644 index 0000000000..3212a54d15 Binary files /dev/null and b/resources/profiles/Anycubic/Anycubic Chiron_cover.png differ diff --git a/resources/profiles/Anycubic/Anycubic Kobra Max_cover.png b/resources/profiles/Anycubic/Anycubic Kobra Max_cover.png new file mode 100644 index 0000000000..304b137c05 Binary files /dev/null and b/resources/profiles/Anycubic/Anycubic Kobra Max_cover.png differ diff --git a/resources/profiles/Anycubic/Anycubic Vyper_cover.png b/resources/profiles/Anycubic/Anycubic Vyper_cover.png new file mode 100644 index 0000000000..d35217c260 Binary files /dev/null and b/resources/profiles/Anycubic/Anycubic Vyper_cover.png differ diff --git a/resources/profiles/Anycubic/Anycubic i3 Mega S_cover.png b/resources/profiles/Anycubic/Anycubic i3 Mega S_cover.png new file mode 100644 index 0000000000..8e2f3b5541 Binary files /dev/null and b/resources/profiles/Anycubic/Anycubic i3 Mega S_cover.png differ diff --git a/resources/profiles/Anycubic/anycubic_4maxpro2_buildplate_model.stl b/resources/profiles/Anycubic/anycubic_4maxpro2_buildplate_model.stl new file mode 100644 index 0000000000..31f34fd8fa Binary files /dev/null and b/resources/profiles/Anycubic/anycubic_4maxpro2_buildplate_model.stl differ diff --git a/resources/profiles/Anycubic/anycubic_4maxpro2_buildplate_texture.png b/resources/profiles/Anycubic/anycubic_4maxpro2_buildplate_texture.png new file mode 100644 index 0000000000..372657d1b7 Binary files /dev/null and b/resources/profiles/Anycubic/anycubic_4maxpro2_buildplate_texture.png differ diff --git a/resources/profiles/Anycubic/anycubic_4maxpro_buildplate_model.stl b/resources/profiles/Anycubic/anycubic_4maxpro_buildplate_model.stl new file mode 100644 index 0000000000..065a28b509 Binary files /dev/null and b/resources/profiles/Anycubic/anycubic_4maxpro_buildplate_model.stl differ diff --git a/resources/profiles/Anycubic/anycubic_4maxpro_buildplate_texture.png b/resources/profiles/Anycubic/anycubic_4maxpro_buildplate_texture.png new file mode 100644 index 0000000000..731b3f1982 Binary files /dev/null and b/resources/profiles/Anycubic/anycubic_4maxpro_buildplate_texture.png differ diff --git a/resources/profiles/Anycubic/anycubic_chiron_buildplate_model.stl b/resources/profiles/Anycubic/anycubic_chiron_buildplate_model.stl new file mode 100644 index 0000000000..6e06cd6982 Binary files /dev/null and b/resources/profiles/Anycubic/anycubic_chiron_buildplate_model.stl differ diff --git a/resources/profiles/Anycubic/anycubic_chiron_buildplate_texture.png b/resources/profiles/Anycubic/anycubic_chiron_buildplate_texture.png new file mode 100644 index 0000000000..2e0b29c6bb Binary files /dev/null and b/resources/profiles/Anycubic/anycubic_chiron_buildplate_texture.png differ diff --git a/resources/profiles/Anycubic/anycubic_i3megas_buildplate_model.stl b/resources/profiles/Anycubic/anycubic_i3megas_buildplate_model.stl new file mode 100644 index 0000000000..b6dc71f0ec Binary files /dev/null and b/resources/profiles/Anycubic/anycubic_i3megas_buildplate_model.stl differ diff --git a/resources/profiles/Anycubic/anycubic_i3megas_buildplate_texture.png b/resources/profiles/Anycubic/anycubic_i3megas_buildplate_texture.png new file mode 100644 index 0000000000..6bdfdfd540 Binary files /dev/null and b/resources/profiles/Anycubic/anycubic_i3megas_buildplate_texture.png differ diff --git a/resources/profiles/Anycubic/anycubic_kobramax_buildplate_model.stl b/resources/profiles/Anycubic/anycubic_kobramax_buildplate_model.stl new file mode 100644 index 0000000000..08756e7158 Binary files /dev/null and b/resources/profiles/Anycubic/anycubic_kobramax_buildplate_model.stl differ diff --git a/resources/profiles/Anycubic/anycubic_kobramax_buildplate_texture.png b/resources/profiles/Anycubic/anycubic_kobramax_buildplate_texture.png new file mode 100644 index 0000000000..2e0b29c6bb Binary files /dev/null and b/resources/profiles/Anycubic/anycubic_kobramax_buildplate_texture.png differ diff --git a/resources/profiles/Anycubic/anycubic_vyper_buildplate_model.stl b/resources/profiles/Anycubic/anycubic_vyper_buildplate_model.stl new file mode 100644 index 0000000000..3e92a9155a Binary files /dev/null and b/resources/profiles/Anycubic/anycubic_vyper_buildplate_model.stl differ diff --git a/resources/profiles/Anycubic/anycubic_vyper_buildplate_texture.png b/resources/profiles/Anycubic/anycubic_vyper_buildplate_texture.png new file mode 100644 index 0000000000..7a0845fc79 Binary files /dev/null and b/resources/profiles/Anycubic/anycubic_vyper_buildplate_texture.png differ diff --git a/resources/profiles/Anycubic/filament/Anycubic Generic ABS.json b/resources/profiles/Anycubic/filament/Anycubic Generic ABS.json index 6f1c87edad..69a60126df 100644 --- a/resources/profiles/Anycubic/filament/Anycubic Generic ABS.json +++ b/resources/profiles/Anycubic/filament/Anycubic Generic ABS.json @@ -13,6 +13,11 @@ "12" ], "compatible_printers": [ - "Anycubic 4Max Pro 0.4 nozzle" + "Anycubic i3 Mega S 0.4 nozzle", + "Anycubic Chiron 0.4 nozzle", + "Anycubic Vyper 0.4 nozzle", + "Anycubic Kobra Max 0.4 nozzle", + "Anycubic 4Max Pro 0.4 nozzle", + "Anycubic 4Max Pro 2 0.4 nozzle" ] } diff --git a/resources/profiles/Anycubic/filament/Anycubic Generic ASA.json b/resources/profiles/Anycubic/filament/Anycubic Generic ASA.json index 3715401e9f..6fee020862 100644 --- a/resources/profiles/Anycubic/filament/Anycubic Generic ASA.json +++ b/resources/profiles/Anycubic/filament/Anycubic Generic ASA.json @@ -13,6 +13,11 @@ "12" ], "compatible_printers": [ - "Anycubic 4Max Pro 0.4 nozzle" + "Anycubic i3 Mega S 0.4 nozzle", + "Anycubic Chiron 0.4 nozzle", + "Anycubic Vyper 0.4 nozzle", + "Anycubic Kobra Max 0.4 nozzle", + "Anycubic 4Max Pro 0.4 nozzle", + "Anycubic 4Max Pro 2 0.4 nozzle" ] } diff --git a/resources/profiles/Anycubic/filament/Anycubic Generic PA-CF.json b/resources/profiles/Anycubic/filament/Anycubic Generic PA-CF.json index f087023a97..e967f2c0f9 100644 --- a/resources/profiles/Anycubic/filament/Anycubic Generic PA-CF.json +++ b/resources/profiles/Anycubic/filament/Anycubic Generic PA-CF.json @@ -19,6 +19,11 @@ "8" ], "compatible_printers": [ - "Anycubic 4Max Pro 0.4 nozzle" + "Anycubic i3 Mega S 0.4 nozzle", + "Anycubic Chiron 0.4 nozzle", + "Anycubic Vyper 0.4 nozzle", + "Anycubic Kobra Max 0.4 nozzle", + "Anycubic 4Max Pro 0.4 nozzle", + "Anycubic 4Max Pro 2 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Anycubic/filament/Anycubic Generic PA.json b/resources/profiles/Anycubic/filament/Anycubic Generic PA.json index e1d8881e09..9a02620d90 100644 --- a/resources/profiles/Anycubic/filament/Anycubic Generic PA.json +++ b/resources/profiles/Anycubic/filament/Anycubic Generic PA.json @@ -16,6 +16,11 @@ "12" ], "compatible_printers": [ - "Anycubic 4Max Pro 0.4 nozzle" + "Anycubic i3 Mega S 0.4 nozzle", + "Anycubic Chiron 0.4 nozzle", + "Anycubic Vyper 0.4 nozzle", + "Anycubic Kobra Max 0.4 nozzle", + "Anycubic 4Max Pro 0.4 nozzle", + "Anycubic 4Max Pro 2 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Anycubic/filament/Anycubic Generic PC.json b/resources/profiles/Anycubic/filament/Anycubic Generic PC.json index 107998c7ec..b11e09b5a3 100644 --- a/resources/profiles/Anycubic/filament/Anycubic Generic PC.json +++ b/resources/profiles/Anycubic/filament/Anycubic Generic PC.json @@ -13,6 +13,11 @@ "0.94" ], "compatible_printers": [ - "Anycubic 4Max Pro 0.4 nozzle" + "Anycubic i3 Mega S 0.4 nozzle", + "Anycubic Chiron 0.4 nozzle", + "Anycubic Vyper 0.4 nozzle", + "Anycubic Kobra Max 0.4 nozzle", + "Anycubic 4Max Pro 0.4 nozzle", + "Anycubic 4Max Pro 2 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Anycubic/filament/Anycubic Generic PETG.json b/resources/profiles/Anycubic/filament/Anycubic Generic PETG.json index 71e0b3ff2e..bebf5baf22 100644 --- a/resources/profiles/Anycubic/filament/Anycubic Generic PETG.json +++ b/resources/profiles/Anycubic/filament/Anycubic Generic PETG.json @@ -43,6 +43,11 @@ "; filament start gcode\n" ], "compatible_printers": [ - "Anycubic 4Max Pro 0.4 nozzle" + "Anycubic i3 Mega S 0.4 nozzle", + "Anycubic Chiron 0.4 nozzle", + "Anycubic Vyper 0.4 nozzle", + "Anycubic Kobra Max 0.4 nozzle", + "Anycubic 4Max Pro 0.4 nozzle", + "Anycubic 4Max Pro 2 0.4 nozzle" ] } diff --git a/resources/profiles/Anycubic/filament/Anycubic Generic PLA-CF.json b/resources/profiles/Anycubic/filament/Anycubic Generic PLA-CF.json index 4a320f3c50..46b0b2c35f 100644 --- a/resources/profiles/Anycubic/filament/Anycubic Generic PLA-CF.json +++ b/resources/profiles/Anycubic/filament/Anycubic Generic PLA-CF.json @@ -19,6 +19,11 @@ "7" ], "compatible_printers": [ - "Anycubic 4Max Pro 0.4 nozzle" + "Anycubic i3 Mega S 0.4 nozzle", + "Anycubic Chiron 0.4 nozzle", + "Anycubic Vyper 0.4 nozzle", + "Anycubic Kobra Max 0.4 nozzle", + "Anycubic 4Max Pro 0.4 nozzle", + "Anycubic 4Max Pro 2 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Anycubic/filament/Anycubic Generic PLA.json b/resources/profiles/Anycubic/filament/Anycubic Generic PLA.json index 27911c79d0..103455ff75 100644 --- a/resources/profiles/Anycubic/filament/Anycubic Generic PLA.json +++ b/resources/profiles/Anycubic/filament/Anycubic Generic PLA.json @@ -16,6 +16,11 @@ "8" ], "compatible_printers": [ - "Anycubic 4Max Pro 0.4 nozzle" + "Anycubic i3 Mega S 0.4 nozzle", + "Anycubic Chiron 0.4 nozzle", + "Anycubic Vyper 0.4 nozzle", + "Anycubic Kobra Max 0.4 nozzle", + "Anycubic 4Max Pro 0.4 nozzle", + "Anycubic 4Max Pro 2 0.4 nozzle" ] } diff --git a/resources/profiles/Anycubic/filament/Anycubic Generic PVA.json b/resources/profiles/Anycubic/filament/Anycubic Generic PVA.json index 3ba220bc32..424a29a109 100644 --- a/resources/profiles/Anycubic/filament/Anycubic Generic PVA.json +++ b/resources/profiles/Anycubic/filament/Anycubic Generic PVA.json @@ -19,6 +19,11 @@ "10" ], "compatible_printers": [ - "Anycubic 4Max Pro 0.4 nozzle" + "Anycubic i3 Mega S 0.4 nozzle", + "Anycubic Chiron 0.4 nozzle", + "Anycubic Vyper 0.4 nozzle", + "Anycubic Kobra Max 0.4 nozzle", + "Anycubic 4Max Pro 0.4 nozzle", + "Anycubic 4Max Pro 2 0.4 nozzle" ] } diff --git a/resources/profiles/Anycubic/filament/Anycubic Generic TPU.json b/resources/profiles/Anycubic/filament/Anycubic Generic TPU.json index 1177b0138f..bbbadf46ab 100644 --- a/resources/profiles/Anycubic/filament/Anycubic Generic TPU.json +++ b/resources/profiles/Anycubic/filament/Anycubic Generic TPU.json @@ -10,6 +10,11 @@ "3.2" ], "compatible_printers": [ - "Anycubic 4Max Pro 0.4 nozzle" + "Anycubic i3 Mega S 0.4 nozzle", + "Anycubic Chiron 0.4 nozzle", + "Anycubic Vyper 0.4 nozzle", + "Anycubic Kobra Max 0.4 nozzle", + "Anycubic 4Max Pro 0.4 nozzle", + "Anycubic 4Max Pro 2 0.4 nozzle" ] } diff --git a/resources/profiles/Anycubic/machine/Anycubic 4Max Pro 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic 4Max Pro 0.4 nozzle.json index 61f58627c1..87965146cd 100644 --- a/resources/profiles/Anycubic/machine/Anycubic 4Max Pro 0.4 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic 4Max Pro 0.4 nozzle.json @@ -6,7 +6,7 @@ "instantiation": "true", "inherits": "fdm_machine_common", "printer_model": "Anycubic 4Max Pro", - "default_print_profile": "0.20mm Standard @4MaxPro", + "default_print_profile": "0.20mm Standard @Anycubic 4MaxPro", "nozzle_diameter": [ "0.4" ], diff --git a/resources/profiles/Anycubic/machine/Anycubic 4Max Pro 2 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic 4Max Pro 2 0.4 nozzle.json new file mode 100644 index 0000000000..144ca30f68 --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic 4Max Pro 2 0.4 nozzle.json @@ -0,0 +1,112 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Anycubic 4Max Pro 2 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Anycubic 4Max Pro 2", + "default_print_profile": "0.20mm Standard @Anycubic 4MaxPro2", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "270x0", + "270x210", + "0x210" + ], + "printable_height": "190", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "machine_max_acceleration_extruding": [ + "1250", + "1250" + ], + "machine_max_acceleration_retracting": [ + "1250", + "1250" + ], + "machine_max_acceleration_travel": [ + "1500", + "1500" + ], + "machine_max_acceleration_x": [ + "900", + "900" + ], + "machine_max_acceleration_y": [ + "900", + "900" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "120", + "120" + ], + "machine_max_speed_x": [ + "200", + "200" + ], + "machine_max_speed_y": [ + "200", + "200" + ], + "machine_max_speed_z": [ + "16", + "16" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "6", + "6" + ], + "machine_max_jerk_y": [ + "6", + "6" + ], + "machine_max_jerk_z": [ + "0.2", + "0.2" + ], + "max_layer_height": [ + "0.3" + ], + "min_layer_height": [ + "0.07" + ], + "printer_settings_id": "Anycubic", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "0%" + ], + "retraction_length": [ + "2.5" + ], + "retract_length_toolchange": [ + "10" + ], + "retraction_speed": [ + "35" + ], + "deretraction_speed": [ + "25" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "M600", + "machine_pause_gcode": "M601", + "default_filament_profile": [ + "Anycubic Generic PLA" + ], + "machine_start_gcode": "G21 ; metric values\nG90 ; absolute positioning\nM82 ; set extruder to absolute mode\nM140 S[first_layer_bed_temperature] ; set bed temp\nG28 X0 Y0 ; home X and Y\nG28 Z0 ; home Z\nG1 Z30 F{machine_max_speed_z[0]*60} ; move Z a bit down to not blow on the bed edge while heating\nG1 X10 F3900 ; let some space on x to prevent the filament cooling exhaust from beeing blocked by the servo motor\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp\nM104 S[nozzle_temperature_initial_layer] ; set extruder temp\nM106 S80 ; turn on fan to prevent air nozzle melt while heating up\nM109 S[nozzle_temperature_initial_layer] ; wait for extruder temp\nM107 ; start with the fan off\nG28 X0 ; goto X home again\nG92 E0 ; zero the extruded length\nG1 Z0.2 F360 ; move plattform upwards\n; extrude material next to the plattform (comment or remove following lines to disable)\nG1 F180 E20 ; extrude some material next to the plattform\nG92 E0 ; zero the extruded length\nG1 E-[retraction_length] F{retraction_speed[0]*60} ; do a filament retract\nG92 E0 ; zero the extruded length again\nG1 X5 F3900 ; move sideways to get rid of that string\nG1 E[retraction_length] F{retraction_speed[0]*60} ; do a filament deretract with retract parameters\nG92 E0 ; zero the extruded length again\n; draw intro line (comment or remove following lines to disable)\nG1 X30 E5 F700 ; draw intro line\nG92 E0 ; zero the extruded length\nG1 E-[retraction_length] F{retraction_speed[0]*60} ; do a filament retract\nG1 X40 Z2.0 ; move away from the introline\nG92 E0 ; zero the extruded length again\nG1 E[retraction_length] F{retraction_speed[0]*60} ; do a filament deretract with retract parameters\n; end of intro line code\nM117 Printing...\nG5", + "machine_end_gcode": "M104 S0 ; turn off extruder heating\nM140 S0 ; turn off bed heating\nM107 ; turn off fans\nG91 ; relative positioning\nG0 Z+0.5 ; move Z up a tiny bit\nG90 ; absolute positioning\nG0 X135 Y105 F{machine_max_speed_x[0]*60} ; move extruder to center position\nG0 Z190.5 F{machine_max_speed_z[0]*60} ; lower the plattform to Z min\nM84 ; steppers off\nG90 ; absolute positioning\n", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/machine/Anycubic 4Max Pro 2.json b/resources/profiles/Anycubic/machine/Anycubic 4Max Pro 2.json new file mode 100644 index 0000000000..81c1bb887f --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic 4Max Pro 2.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Anycubic 4Max Pro 2", + "model_id": "Anycubic-4Max-Pro-2", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Anycubic", + "bed_model": "anycubic_4maxpro2_buildplate_model.stl", + "bed_texture": "anycubic_4maxpro2_buildplate_texture.png", + "hotend_model": "", + "default_materials": "Anycubic Generic ABS;Anycubic Generic PLA;Anycubic Generic PLA-CF;Anycubic Generic PETG;Anycubic Generic TPU;Anycubic Generic ASA;Anycubic Generic PC;Anycubic Generic PVA;Anycubic Generic PA;Anycubic Generic PA-CF" +} diff --git a/resources/profiles/Anycubic/machine/Anycubic 4Max Pro.json b/resources/profiles/Anycubic/machine/Anycubic 4Max Pro.json index 31a10f5640..a88850c2eb 100644 --- a/resources/profiles/Anycubic/machine/Anycubic 4Max Pro.json +++ b/resources/profiles/Anycubic/machine/Anycubic 4Max Pro.json @@ -5,8 +5,8 @@ "nozzle_diameter": "0.4", "machine_tech": "FFF", "family": "Anycubic", - "bed_model": "", - "bed_texture": "", + "bed_model": "anycubic_4maxpro_buildplate_model.stl", + "bed_texture": "anycubic_4maxpro_buildplate_texture.png", "hotend_model": "", "default_materials": "Anycubic Generic ABS;Anycubic Generic PLA;Anycubic Generic PLA-CF;Anycubic Generic PETG;Anycubic Generic TPU;Anycubic Generic ASA;Anycubic Generic PC;Anycubic Generic PVA;Anycubic Generic PA;Anycubic Generic PA-CF" } diff --git a/resources/profiles/Anycubic/machine/Anycubic Chiron 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Chiron 0.4 nozzle.json new file mode 100644 index 0000000000..0f437d53fa --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic Chiron 0.4 nozzle.json @@ -0,0 +1,118 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Anycubic Chiron 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Anycubic Chiron", + "default_print_profile": "0.20mm Standard @Anycubic Chiron", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "400x0", + "400x400", + "0x400" + ], + "printable_height": "450", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "1250", + "1250" + ], + "machine_max_acceleration_retracting": [ + "1250", + "1250" + ], + "machine_max_acceleration_travel": [ + "1500", + "1250" + ], + "machine_max_acceleration_x": [ + "1000", + "960" + ], + "machine_max_acceleration_y": [ + "1000", + "960" + ], + "machine_max_acceleration_z": [ + "200", + "200" + ], + "machine_max_speed_e": [ + "120", + "120" + ], + "machine_max_speed_x": [ + "300", + "100" + ], + "machine_max_speed_y": [ + "300", + "100" + ], + "machine_max_speed_z": [ + "12", + "12" + ], + "machine_max_jerk_e": [ + "4.5", + "4.5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.3" + ], + "min_layer_height": [ + "0.1" + ], + "printer_settings_id": "Anycubic", + "retraction_minimum_travel": [ + "1" + ], + "retract_before_wipe": [ + "0%" + ], + "retraction_length": [ + "2" + ], + "retract_length_toolchange": [ + "4" + ], + "retraction_speed": [ + "40" + ], + "deretraction_speed": [ + "0" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "M600", + "machine_pause_gcode": "M601", + "default_filament_profile": [ + "Anycubic Generic PLA" + ], + "machine_start_gcode": "M104 S140;start the nozzle preheat and don't wait\nG21;metric values\nG90;absolute positioning\nM82;set extruder to absolute mode\nM107 ;start with the fan off\nG28;home all\nM190 S[bed_temperature_initial_layer_single]; set wait for bed temp\nM109 S[nozzle_temperature_initial_layer] ; wait for extruder temp\nG1 Z15.0 F3600 ;move the platform down 15mm\nG92 E0;zero the extruded length\nG1 F200 E40;extrude 40mm of feed stock\nG92 E0;zero the extruded length again\nG1 F3600", + "machine_end_gcode": "M104 S0;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91;relative positioning\nG1 E-4 F300;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+10 F3600 ;move Z up a bit\nG90;absolute positioning\nG1 X-10 F3000; get the head off the bed\nG1 F3000 Y400;kick the bed out\nM84;steppers off", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\n\n", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/machine/Anycubic Chiron.json b/resources/profiles/Anycubic/machine/Anycubic Chiron.json new file mode 100644 index 0000000000..31dfe260ae --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic Chiron.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Anycubic Chiron", + "model_id": "Anycubic-Chiron", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Anycubic", + "bed_model": "anycubic_chiron_buildplate_model.stl", + "bed_texture": "anycubic_chiron_buildplate_texture.png", + "hotend_model": "", + "default_materials": "Anycubic Generic ABS;Anycubic Generic PLA;Anycubic Generic PLA-CF;Anycubic Generic PETG;Anycubic Generic TPU;Anycubic Generic ASA;Anycubic Generic PC;Anycubic Generic PVA;Anycubic Generic PA;Anycubic Generic PA-CF" +} diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra Max 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra Max 0.4 nozzle.json new file mode 100644 index 0000000000..e1c2fa6f2c --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra Max 0.4 nozzle.json @@ -0,0 +1,118 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Anycubic Kobra Max 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Anycubic Kobra Max", + "default_print_profile": "0.20mm Standard @Anycubic KobraMax", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "400x0", + "400x400", + "0x400" + ], + "printable_height": "450", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "machine_max_acceleration_e": [ + "3000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "4000", + "1250" + ], + "machine_max_acceleration_retracting": [ + "1000", + "1250" + ], + "machine_max_acceleration_travel": [ + "4000", + "1250" + ], + "machine_max_acceleration_x": [ + "700", + "960" + ], + "machine_max_acceleration_y": [ + "600", + "960" + ], + "machine_max_acceleration_z": [ + "100", + "200" + ], + "machine_max_speed_e": [ + "60", + "120" + ], + "machine_max_speed_x": [ + "300", + "100" + ], + "machine_max_speed_y": [ + "300", + "100" + ], + "machine_max_speed_z": [ + "40", + "12" + ], + "machine_max_jerk_e": [ + "5", + "4.5" + ], + "machine_max_jerk_x": [ + "20", + "8" + ], + "machine_max_jerk_y": [ + "20", + "8" + ], + "machine_max_jerk_z": [ + "0.3", + "0.4" + ], + "max_layer_height": [ + "0.3" + ], + "min_layer_height": [ + "0.15" + ], + "printer_settings_id": "Anycubic", + "retraction_minimum_travel": [ + "5" + ], + "retract_before_wipe": [ + "70%" + ], + "retraction_length": [ + "6" + ], + "retract_length_toolchange": [ + "4" + ], + "retraction_speed": [ + "40" + ], + "deretraction_speed": [ + "40" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "M600", + "machine_pause_gcode": "M601", + "default_filament_profile": [ + "Anycubic Generic PLA" + ], + "machine_start_gcode": "M104 S140;start the nozzle preheat and don't wait\nG21;metric values\nG90;absolute positioning\nM82;set extruder to absolute mode\nM107;start with the fan off\nG28;home all\nM190 S[bed_temperature_initial_layer_single] ; set wait for bed temp\nM355 S1;turn on the case light\nM109 S[nozzle_temperature_initial_layer]; wait for extruder temp\nG1 Z15.0 F1000 ;move the nozzle up 15mm\nG92 E0;zero the extruded length\nG1 F100 E60;extrude 60mm of feed stock\nG92 E0;zero the extruded length again", + "machine_end_gcode": "M104 S0;extruder heater off\nM140 S0;heated bed heater off (if you have it)\nG91;relative positioning\nG1 Z+10 F3600 ;move Z up a bit\nG90;absolute positioning\nG1 X10 F3000; get the head off the bed\nG1 F3000 Y400 ;kick the bed out\nM84;steppers off\nM355 S0;turn off the case light", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;G92 E0.0\n;[layer_z]\n\n", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra Max.json b/resources/profiles/Anycubic/machine/Anycubic Kobra Max.json new file mode 100644 index 0000000000..f5a897af86 --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra Max.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Anycubic Kobra Max", + "model_id": "Anycubic-Kobra-Max", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Anycubic", + "bed_model": "anycubic_kobramax_buildplate_model.stl", + "bed_texture": "anycubic_kobramax_buildplate_texture.png", + "hotend_model": "", + "default_materials": "Anycubic Generic ABS;Anycubic Generic PLA;Anycubic Generic PLA-CF;Anycubic Generic PETG;Anycubic Generic TPU;Anycubic Generic ASA;Anycubic Generic PC;Anycubic Generic PVA;Anycubic Generic PA;Anycubic Generic PA-CF" +} diff --git a/resources/profiles/Anycubic/machine/Anycubic Vyper 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Vyper 0.4 nozzle.json new file mode 100644 index 0000000000..6dddc9e4ed --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic Vyper 0.4 nozzle.json @@ -0,0 +1,114 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Anycubic Vyper 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Anycubic Vyper", + "default_print_profile": "0.20mm Standard @Anycubic Vyper", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "250x0", + "250x255", + "0x255" + ], + "printable_height": "265", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "machine_max_acceleration_extruding": [ + "1250", + "1250" + ], + "machine_max_acceleration_retracting": [ + "1250", + "1250" + ], + "machine_max_acceleration_travel": [ + "1000", + "1000" + ], + "machine_max_acceleration_x": [ + "1000", + "1000" + ], + "machine_max_acceleration_y": [ + "1000", + "1000" + ], + "machine_max_acceleration_z": [ + "200", + "200" + ], + "machine_max_speed_e": [ + "60", + "60" + ], + "machine_max_speed_x": [ + "200", + "200" + ], + "machine_max_speed_y": [ + "200", + "200" + ], + "machine_max_speed_z": [ + "10", + "10" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "printer_settings_id": "Anycubic", + "retraction_minimum_travel": [ + "1.5" + ], + "retract_before_wipe": [ + "0%" + ], + "retraction_length": [ + "3" + ], + "retract_length_toolchange": [ + "10" + ], + "retraction_speed": [ + "40" + ], + "deretraction_speed": [ + "40" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "M600", + "machine_pause_gcode": "M601", + "default_filament_profile": [ + "Anycubic Generic PLA" + ], + "machine_start_gcode": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG0 Z0.2 F1800 ; move nozzle to print position\nG92 E0 ; specify current extruder position as zero\nG1 Y10 X180 E50 F1200 ; extrude a line in front of the printer\nG92 E0 ; specify current extruder position as zero\nG0 Z20 F6000 ; move head up\nG1 E-7 F2400 ; retract\nG04 S2 ; wait 2s\nG0 X0 F6000 ; wipe from oozed filament\nG1 E-1 F2400 ; undo some of the retraction to avoid oozing\nG1 F6000 ; set travel speed to move to start printing point\nM117", + "machine_end_gcode": "G4 ; wait\nG92 E0\nG1{if max_layer_z < printable_height} Z{z_offset+min(max_layer_z+30, printable_height)}{endif} ; move print head up\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG1 X0 Y200 F3000 ; home X axis\nM84 ; disable motors", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/machine/Anycubic Vyper.json b/resources/profiles/Anycubic/machine/Anycubic Vyper.json new file mode 100644 index 0000000000..15e5cc12ad --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic Vyper.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Anycubic Vyper", + "model_id": "Anycubic-Vyper", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Anycubic", + "bed_model": "anycubic_vyper_buildplate_model.stl", + "bed_texture": "anycubic_vyper_buildplate_texture.png", + "hotend_model": "", + "default_materials": "Anycubic Generic ABS;Anycubic Generic PLA;Anycubic Generic PLA-CF;Anycubic Generic PETG;Anycubic Generic TPU;Anycubic Generic ASA;Anycubic Generic PC;Anycubic Generic PVA;Anycubic Generic PA;Anycubic Generic PA-CF" +} diff --git a/resources/profiles/Anycubic/machine/Anycubic i3 Mega S 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic i3 Mega S 0.4 nozzle.json new file mode 100644 index 0000000000..2281ae72ed --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic i3 Mega S 0.4 nozzle.json @@ -0,0 +1,118 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Anycubic i3 Mega S 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Anycubic i3 Mega S", + "default_print_profile": "0.20mm Standard @Anycubic i3MegaS", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "210x0", + "210x210", + "0x210" + ], + "printable_height": "205", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "machine_max_acceleration_e": [ + "10000", + "10000" + ], + "machine_max_acceleration_extruding": [ + "1250", + "1250" + ], + "machine_max_acceleration_retracting": [ + "1250", + "1250" + ], + "machine_max_acceleration_travel": [ + "1000", + "1000" + ], + "machine_max_acceleration_x": [ + "3000", + "3000" + ], + "machine_max_acceleration_y": [ + "2000", + "2000" + ], + "machine_max_acceleration_z": [ + "60", + "60" + ], + "machine_max_speed_e": [ + "30", + "30" + ], + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "8", + "8" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "10", + "10" + ], + "machine_max_jerk_y": [ + "10", + "10" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.36" + ], + "min_layer_height": [ + "0.08" + ], + "printer_settings_id": "Anycubic", + "retraction_minimum_travel": [ + "1.5" + ], + "retract_before_wipe": [ + "60%" + ], + "retraction_length": [ + "6" + ], + "retract_length_toolchange": [ + "1" + ], + "retraction_speed": [ + "40" + ], + "deretraction_speed": [ + "50" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "M600", + "machine_pause_gcode": "M25", + "default_filament_profile": [ + "Anycubic Generic PLA" + ], + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM204 S[machine_max_acceleration_extruding] T[machine_max_acceleration_retracting]\nM104 S[nozzle_temperature_initial_layer] ; set extruder temp\nM140 S[bed_temperature_initial_layer_single] ; set bed temp\nG28 ; home all\nG1 Y1.0 Z0.3 F1000 ; move print head up\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp\nM109 S[nozzle_temperature_initial_layer] ; wait for extruder temp\nG92 E0.0\n; initial load\nG1 X205.0 E19 F1000\nG1 Y1.6\nG1 X5.0 E19 F1000\nG92 E0.0\n; intro line\nG1 Y2.0 Z0.2 F1000\nG1 X65.0 E9.0 F1000\nG1 X105.0 E12.5 F1000\nG92 E0.0", + "machine_end_gcode": "G1 E-1.0 F2100 ; retract\nG92 E0.0\nG1{if max_layer_z < printable_height} Z{z_offset+min(max_layer_z+30, printable_height)}{endif} E-34.0 F720 ; move print head up & retract filament\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG1 X0 Y105 F3000 ; park print head\nM84 ; disable motors", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\n\n", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/machine/Anycubic i3 Mega S.json b/resources/profiles/Anycubic/machine/Anycubic i3 Mega S.json new file mode 100644 index 0000000000..cad44fd0db --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic i3 Mega S.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Anycubic i3 Mega S", + "model_id": "Anycubic-i3-Mega-S", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Anycubic", + "bed_model": "anycubic_i3megas_buildplate_model.stl", + "bed_texture": "anycubic_i3megas_buildplate_texture.png", + "hotend_model": "", + "default_materials": "Anycubic Generic ABS;Anycubic Generic PLA;Anycubic Generic PLA-CF;Anycubic Generic PETG;Anycubic Generic TPU;Anycubic Generic ASA;Anycubic Generic PC;Anycubic Generic PVA;Anycubic Generic PA;Anycubic Generic PA-CF" +} diff --git a/resources/profiles/Anycubic/machine/fdm_machine_common.json b/resources/profiles/Anycubic/machine/fdm_machine_common.json index 5ca37e5f16..89cad31412 100644 --- a/resources/profiles/Anycubic/machine/fdm_machine_common.json +++ b/resources/profiles/Anycubic/machine/fdm_machine_common.json @@ -131,7 +131,7 @@ "change_filament_gcode": "", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "machine_pause_gcode": "M400 U1", + "machine_pause_gcode": "M400 U1\n", "wipe": [ "1" ], diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic 4MaxPro2.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic 4MaxPro2.json new file mode 100644 index 0000000000..be8b0aac9d --- /dev/null +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic 4MaxPro2.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Optimal @Anycubic 4MaxPro2", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.15", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bridge_flow": "0.65", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "900", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "300", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.65", + "initial_layer_print_height": "0.3", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "45", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "7", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "45", + "travel_speed": "60", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Anycubic 4Max Pro 2 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Chiron.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Chiron.json new file mode 100644 index 0000000000..b3667590a7 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Chiron.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Optimal @Anycubic Chiron", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.15", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bridge_flow": "1", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1000", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.45", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "800", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "3", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.15", + "support_filament": "0", + "support_line_width": "0.35", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.15", + "support_speed": "50", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.35", + "top_shell_layers": "7", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "40", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "180", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Anycubic Chiron 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraMax.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraMax.json new file mode 100644 index 0000000000..15b7801cf0 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraMax.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Optimal @Anycubic KobraMax", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.15", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "1.2", + "bridge_flow": "1", + "bridge_speed": "45", + "brim_width": "8", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1000", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.4", + "infill_wall_overlap": "10%", + "interface_shells": "0", + "ironing_flow": "10%", + "ironing_spacing": "0.08", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.4", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "4", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.15", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.15", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.15", + "support_speed": "70", + "support_threshold_angle": "65", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "5", + "top_shell_thickness": "1.2", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "70", + "top_surface_speed": "40", + "gap_infill_speed": "30", + "sparse_infill_speed": "70", + "travel_speed": "120", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Anycubic Kobra Max 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Vyper.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Vyper.json new file mode 100644 index 0000000000..160f549fc4 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Vyper.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Optimal @Anycubic Vyper", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.15", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "1.2", + "bridge_flow": "1", + "bridge_speed": "45", + "brim_width": "8", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1000", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.4", + "infill_wall_overlap": "10%", + "interface_shells": "0", + "ironing_flow": "10%", + "ironing_spacing": "0.08", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.4", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "4", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.15", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.15", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.15", + "support_speed": "70", + "support_threshold_angle": "65", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "5", + "top_shell_thickness": "1.2", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "70", + "top_surface_speed": "40", + "gap_infill_speed": "30", + "sparse_infill_speed": "70", + "travel_speed": "120", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Anycubic Vyper 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic i3MegaS.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic i3MegaS.json new file mode 100644 index 0000000000..292fcb6be1 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic i3MegaS.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Optimal @Anycubic i3MegaS", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.15", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bridge_flow": "1", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1000", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.45", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "800", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "3", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.15", + "support_filament": "0", + "support_line_width": "0.35", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.15", + "support_speed": "50", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.35", + "top_shell_layers": "7", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "40", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "180", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Anycubic i3 Mega S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @4MaxPro.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic 4MaxPro.json similarity index 90% rename from resources/profiles/Anycubic/process/0.20mm Standard @4MaxPro.json rename to resources/profiles/Anycubic/process/0.20mm Standard @Anycubic 4MaxPro.json index ff4bae252f..4af7097839 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @4MaxPro.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic 4MaxPro.json @@ -1,7 +1,7 @@ { "type": "process", "setting_id": "GP004", - "name": "0.20mm Standard @4MaxPro", + "name": "0.20mm Standard @Anycubic 4MaxPro", "from": "system", "instantiation": "true", "inherits": "fdm_process_common", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic 4MaxPro2.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic 4MaxPro2.json new file mode 100644 index 0000000000..43692c24d2 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic 4MaxPro2.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Anycubic 4MaxPro2", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.65", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "900", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "300", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.65", + "initial_layer_print_height": "0.3", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "45", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "45", + "travel_speed": "60", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Anycubic 4Max Pro 2 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Chiron.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Chiron.json new file mode 100644 index 0000000000..2f779f3fd9 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Chiron.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Anycubic Chiron", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.5", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1000", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.45", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "800", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "3", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.35", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "50", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.35", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "40", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "180", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Anycubic Chiron 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraMax.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraMax.json new file mode 100644 index 0000000000..db0932b2b6 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraMax.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Anycubic KobraMax", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "1.2", + "bridge_flow": "1", + "bridge_speed": "45", + "brim_width": "8", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1000", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.4", + "infill_wall_overlap": "10%", + "interface_shells": "0", + "ironing_flow": "10%", + "ironing_spacing": "0.08", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.4", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "4", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "70", + "support_threshold_angle": "65", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "5", + "top_shell_thickness": "1.2", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "70", + "top_surface_speed": "40", + "gap_infill_speed": "30", + "sparse_infill_speed": "70", + "travel_speed": "120", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Anycubic Kobra Max 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Vyper.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Vyper.json new file mode 100644 index 0000000000..aeeec8f919 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Vyper.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Anycubic Vyper", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "1.2", + "bridge_flow": "1", + "bridge_speed": "45", + "brim_width": "8", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1000", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.4", + "infill_wall_overlap": "10%", + "interface_shells": "0", + "ironing_flow": "10%", + "ironing_spacing": "0.08", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.4", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "4", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "70", + "support_threshold_angle": "65", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "5", + "top_shell_thickness": "1.2", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "70", + "top_surface_speed": "40", + "gap_infill_speed": "30", + "sparse_infill_speed": "70", + "travel_speed": "120", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Anycubic Vyper 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic i3MegaS.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic i3MegaS.json new file mode 100644 index 0000000000..cc3ac1c3f6 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic i3MegaS.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Anycubic i3MegaS", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.5", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1000", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.45", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "800", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "3", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.35", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "50", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.35", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "40", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "180", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Anycubic i3 Mega S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic 4MaxPro2.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic 4MaxPro2.json new file mode 100644 index 0000000000..4bb7ffdc1b --- /dev/null +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic 4MaxPro2.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.30mm Draft @Anycubic 4MaxPro2", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.3", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.65", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "900", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "300", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.65", + "initial_layer_print_height": "0.3", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.3", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.3", + "support_speed": "45", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "45", + "travel_speed": "60", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Anycubic 4Max Pro 2 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Chiron.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Chiron.json new file mode 100644 index 0000000000..292d2356b1 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Chiron.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.30mm Draft @Anycubic Chiron", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.3", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.5", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1000", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.6", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.5", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "800", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.5", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.5", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "3", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.3", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.3", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "45", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.35", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "35", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "40", + "gap_infill_speed": "30", + "sparse_infill_speed": "85", + "travel_speed": "180", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Anycubic Chiron 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraMax.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraMax.json new file mode 100644 index 0000000000..afb12834f0 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraMax.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.30mm Draft @Anycubic KobraMax", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.3", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "1.2", + "bridge_flow": "1", + "bridge_speed": "45", + "brim_width": "8", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1000", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.4", + "infill_wall_overlap": "10%", + "interface_shells": "0", + "ironing_flow": "10%", + "ironing_spacing": "0.08", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.4", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "4", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.3", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.3", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.3", + "support_speed": "70", + "support_threshold_angle": "65", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "5", + "top_shell_thickness": "1.2", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "70", + "top_surface_speed": "40", + "gap_infill_speed": "30", + "sparse_infill_speed": "70", + "travel_speed": "120", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Anycubic Kobra Max 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Vyper.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Vyper.json new file mode 100644 index 0000000000..74e47e1918 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Vyper.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.30mm Draft @Anycubic Vyper", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.3", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "1.2", + "bridge_flow": "1", + "bridge_speed": "45", + "brim_width": "8", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1000", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.4", + "infill_wall_overlap": "10%", + "interface_shells": "0", + "ironing_flow": "10%", + "ironing_spacing": "0.08", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.4", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "4", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.3", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.3", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.3", + "support_speed": "70", + "support_threshold_angle": "65", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "5", + "top_shell_thickness": "1.2", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "70", + "top_surface_speed": "40", + "gap_infill_speed": "30", + "sparse_infill_speed": "70", + "travel_speed": "120", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Anycubic Vyper 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic i3MegaS.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic i3MegaS.json new file mode 100644 index 0000000000..49a67625f2 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic i3MegaS.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.30mm Draft @Anycubic i3MegaS", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.3", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.5", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1000", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.6", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.5", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "800", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.5", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.5", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "3", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.3", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.3", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "45", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.35", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "35", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "40", + "gap_infill_speed": "30", + "sparse_infill_speed": "85", + "travel_speed": "180", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Anycubic i3 Mega S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Artillery.json b/resources/profiles/Artillery.json index bf3e903fd5..cc118760d3 100644 --- a/resources/profiles/Artillery.json +++ b/resources/profiles/Artillery.json @@ -4,6 +4,10 @@ "force_update": "0", "description": "Artillery configurations", "machine_model_list": [ + { + "name": "Artillery Sidewinder X1", + "sub_path": "machine/Artillery Sidewinder X1.json" + }, { "name": "Artillery Genius", "sub_path": "machine/Artillery Genius.json" @@ -21,6 +25,10 @@ { "name": "fdm_process_common", "sub_path": "process/fdm_process_common.json" + }, + { + "name": "0.16mm Optimal @Artillery X1", + "sub_path": "process/0.16mm Optimal @Artillery X1.json" }, { "name": "0.15mm Optimal @Artillery Genius", @@ -29,6 +37,10 @@ { "name": "0.16mm Optimal @Artillery Hornet", "sub_path": "process/0.16mm Optimal @Artillery Hornet.json" + }, + { + "name": "0.20mm Standard @Artillery X1", + "sub_path": "process/0.20mm Standard @Artillery X1.json" }, { "name": "0.20mm Standard @Artillery Genius", @@ -41,6 +53,10 @@ { "name": "0.20mm Standard @Artillery Hornet", "sub_path": "process/0.20mm Standard @Artillery Hornet.json" + }, + { + "name": "0.24mm Draft @Artillery X1", + "sub_path": "process/0.24mm Draft @Artillery X1.json" }, { "name": "0.25mm Draft @Artillery Genius", @@ -105,6 +121,10 @@ { "name": "fdm_machine_common", "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "Artillery Sidewinder X1 0.4 nozzle", + "sub_path": "machine/Artillery Sidewinder X1 0.4 nozzle.json" }, { "name": "Artillery Genius 0.4 nozzle", diff --git a/resources/profiles/Artillery/Artillery Sidewinder X1_cover.png b/resources/profiles/Artillery/Artillery Sidewinder X1_cover.png new file mode 100644 index 0000000000..9b0a1c255a Binary files /dev/null and b/resources/profiles/Artillery/Artillery Sidewinder X1_cover.png differ diff --git a/resources/profiles/Artillery/SW-x2.png b/resources/profiles/Artillery/SW-x2.png deleted file mode 100644 index 56054f68ef..0000000000 Binary files a/resources/profiles/Artillery/SW-x2.png and /dev/null differ diff --git a/resources/profiles/Artillery/artillery_sidewinderx1_buildplate_model.stl b/resources/profiles/Artillery/artillery_sidewinderx1_buildplate_model.stl new file mode 100644 index 0000000000..f99bd8dfc2 Binary files /dev/null and b/resources/profiles/Artillery/artillery_sidewinderx1_buildplate_model.stl differ diff --git a/resources/profiles/Artillery/artillery_sidewinderx1_buildplate_texture.png b/resources/profiles/Artillery/artillery_sidewinderx1_buildplate_texture.png new file mode 100644 index 0000000000..1b6ddf7482 Binary files /dev/null and b/resources/profiles/Artillery/artillery_sidewinderx1_buildplate_texture.png differ diff --git a/resources/profiles/Artillery/filament/Artillery Generic ABS.json b/resources/profiles/Artillery/filament/Artillery Generic ABS.json index 470e835c69..525a4f5d0e 100644 --- a/resources/profiles/Artillery/filament/Artillery Generic ABS.json +++ b/resources/profiles/Artillery/filament/Artillery Generic ABS.json @@ -13,6 +13,7 @@ "12" ], "compatible_printers": [ + "Artillery Sidewinder X1 0.4 nozzle", "Artillery Genius 0.4 nozzle", "Artillery Sidewinder X2 0.4 nozzle", "Artillery Hornet 0.4 nozzle" diff --git a/resources/profiles/Artillery/filament/Artillery Generic ASA.json b/resources/profiles/Artillery/filament/Artillery Generic ASA.json index 968ec22b20..c066bdf043 100644 --- a/resources/profiles/Artillery/filament/Artillery Generic ASA.json +++ b/resources/profiles/Artillery/filament/Artillery Generic ASA.json @@ -13,6 +13,7 @@ "12" ], "compatible_printers": [ + "Artillery Sidewinder X1 0.4 nozzle", "Artillery Genius 0.4 nozzle", "Artillery Sidewinder X2 0.4 nozzle", "Artillery Hornet 0.4 nozzle" diff --git a/resources/profiles/Artillery/filament/Artillery Generic PETG.json b/resources/profiles/Artillery/filament/Artillery Generic PETG.json index 2237b070cd..e194f318c3 100644 --- a/resources/profiles/Artillery/filament/Artillery Generic PETG.json +++ b/resources/profiles/Artillery/filament/Artillery Generic PETG.json @@ -43,6 +43,7 @@ "; filament start gcode\n" ], "compatible_printers": [ + "Artillery Sidewinder X1 0.4 nozzle", "Artillery Genius 0.4 nozzle", "Artillery Sidewinder X2 0.4 nozzle", "Artillery Hornet 0.4 nozzle" diff --git a/resources/profiles/Artillery/filament/Artillery Generic PLA-CF.json b/resources/profiles/Artillery/filament/Artillery Generic PLA-CF.json index 0d33140b85..c6c547a0e0 100644 --- a/resources/profiles/Artillery/filament/Artillery Generic PLA-CF.json +++ b/resources/profiles/Artillery/filament/Artillery Generic PLA-CF.json @@ -19,6 +19,7 @@ "7" ], "compatible_printers": [ + "Artillery Sidewinder X1 0.4 nozzle", "Artillery Genius 0.4 nozzle", "Artillery Sidewinder X2 0.4 nozzle", "Artillery Hornet 0.4 nozzle" diff --git a/resources/profiles/Artillery/filament/Artillery Generic PLA.json b/resources/profiles/Artillery/filament/Artillery Generic PLA.json index cb4777aa8b..1bbbf65e75 100644 --- a/resources/profiles/Artillery/filament/Artillery Generic PLA.json +++ b/resources/profiles/Artillery/filament/Artillery Generic PLA.json @@ -16,6 +16,7 @@ "8" ], "compatible_printers": [ + "Artillery Sidewinder X1 0.4 nozzle", "Artillery Genius 0.4 nozzle", "Artillery Sidewinder X2 0.4 nozzle", "Artillery Hornet 0.4 nozzle" diff --git a/resources/profiles/Artillery/filament/Artillery Generic TPU.json b/resources/profiles/Artillery/filament/Artillery Generic TPU.json index 18461fb71a..bbcf802f52 100644 --- a/resources/profiles/Artillery/filament/Artillery Generic TPU.json +++ b/resources/profiles/Artillery/filament/Artillery Generic TPU.json @@ -10,6 +10,7 @@ "3.2" ], "compatible_printers": [ + "Artillery Sidewinder X1 0.4 nozzle", "Artillery Genius 0.4 nozzle", "Artillery Sidewinder X2 0.4 nozzle", "Artillery Hornet 0.4 nozzle" diff --git a/resources/profiles/Artillery/machine/Artillery Genius 0.4 nozzle.json b/resources/profiles/Artillery/machine/Artillery Genius 0.4 nozzle.json index 08bb8356c9..3bef62d860 100644 --- a/resources/profiles/Artillery/machine/Artillery Genius 0.4 nozzle.json +++ b/resources/profiles/Artillery/machine/Artillery Genius 0.4 nozzle.json @@ -106,7 +106,7 @@ "default_filament_profile": [ "Artillery Generic PLA" ], - "machine_start_gcode": "M83; extruder relative mode\nG28; home all axes\nM109 S[nozzle_temperature_initial_layer]; hotend temperature\nM140 S[hot_plate_temp_initial_layer]; heatbed temperature\nM190 S[hot_plate_temp_initial_layer]; wait for the bed to heat up\nM109 S[nozzle_temperature_initial_layer]; wait for the extruder to heat up\nG92 E0; reset extruder\nG1 X20 Y5 Z0.3 F5000.0; move to start-line position\nG1 Z0.3 F1000; print height\nG1 X200 Y5 F1500.0 E15; draw 1st line\nG1 X200 Y5.3 Z0.3 F5000.0; move to side a little\nG1 X5.3 Y5.3 Z0.3 F1500.0 E30; draw 2nd line\nG1 Z3 F3000; move z up little to prevent scratching of surface", + "machine_start_gcode": "M83; extruder relative mode\nG28; home all axes\nM109 S[nozzle_temperature_initial_layer]; hotend temperature\nM140 S[bed_temperature_initial_layer_single]; heatbed temperature\nM190 S[bed_temperature_initial_layer_single]; wait for the bed to heat up\nM109 S[nozzle_temperature_initial_layer]; wait for the extruder to heat up\nG92 E0; reset extruder\nG1 X20 Y5 Z0.3 F5000.0; move to start-line position\nG1 Z0.3 F1000; print height\nG1 X200 Y5 F1500.0 E15; draw 1st line\nG1 X200 Y5.3 Z0.3 F5000.0; move to side a little\nG1 X5.3 Y5.3 Z0.3 F1500.0 E30; draw 2nd line\nG1 Z3 F3000; move z up little to prevent scratching of surface", "machine_end_gcode": "G91; Relative positionning\nG1 E-2 Z0.2 F2400; Retract and raise Z\nG1 X5 Y5 F3000; Wipe out\nG1 Z10; Raise Z more\nG90; Absolute positionning\nG1 X0 Y100; Present print\nM106 S0; Turn-off fan\nM104 S0; Turn-off hotend\nM140 S0; Turn-off bed\nM84 X Y E; Disable all steppers but Z", "layer_change_gcode": "", "scan_first_layer": "0" diff --git a/resources/profiles/Artillery/machine/Artillery Sidewinder X1 0.4 nozzle.json b/resources/profiles/Artillery/machine/Artillery Sidewinder X1 0.4 nozzle.json new file mode 100644 index 0000000000..e97a22f38f --- /dev/null +++ b/resources/profiles/Artillery/machine/Artillery Sidewinder X1 0.4 nozzle.json @@ -0,0 +1,118 @@ +{ + "type": "machine", + "setting_id": "GM003", + "name": "Artillery Sidewinder X1 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Artillery Sidewinder X1", + "default_print_profile": "0.20mm Standard @Artillery X1", + "nozzle_diameter": [ + "0.4" + ], + "bed_exclude_area": [ + "0x0" + ], + "printable_area": [ + "0x0", + "300x0", + "300x300", + "0x300" + ], + "printable_height": "400", + "nozzle_type": "hardened_steel", + "auxiliary_fan": "0", + "machine_max_acceleration_extruding": [ + "1250", + "1250" + ], + "machine_max_acceleration_retracting": [ + "1250", + "1250" + ], + "machine_max_acceleration_travel": [ + "1000", + "1000" + ], + "machine_max_acceleration_x": [ + "1000", + "960" + ], + "machine_max_acceleration_y": [ + "1000", + "960" + ], + "machine_max_acceleration_z": [ + "1000", + "1000" + ], + "machine_max_speed_e": [ + "120", + "120" + ], + "machine_max_speed_x": [ + "200", + "100" + ], + "machine_max_speed_y": [ + "200", + "100" + ], + "machine_max_speed_z": [ + "12", + "12" + ], + "machine_max_jerk_e": [ + "1.5", + "1.5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.25" + ], + "min_layer_height": [ + "0.07" + ], + "printer_settings_id": "Artillery", + "retraction_minimum_travel": [ + "1" + ], + "retract_before_wipe": [ + "0%" + ], + "retraction_length": [ + "0.8" + ], + "retract_length_toolchange": [ + "4" + ], + "retraction_speed": [ + "35" + ], + "deretraction_speed": [ + "0" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "machine_pause_gcode": "M0", + "default_filament_profile": [ + "Artillery Generic PLA" + ], + "machine_start_gcode": "; Initial setups\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM220 S100 ; reset speed factor to 100%\nM221 S100 ; reset extrusion rate to 100%\n\n; Set the heating\nM190 S[bed_temperature_initial_layer_single] ; wait for bed to heat up\nM104 S[nozzle_temperature_initial_layer] ; start nozzle heating but don't wait\n\n; Home\nG1 Z3 F3000 ; move z up little to prevent scratching of surface\nG28 ; home all axes\nG1 X3 Y3 F5000 ; move to corner of the bed to avoid ooze over centre\n\n; Wait for final heating\nM109 S[nozzle_temperature_initial_layer] ; wait for the nozzle to heat up\nM190 S[bed_temperature_initial_layer_single] ; wait for the bed to heat up\n\n; Return to prime position, Prime line routine\nG92 E0 ; Reset Extruder\nG1 Z3 F3000 ; move z up little to prevent scratching of surface\nG1 X10 Y.5 Z0.25 F5000.0 ; Move to start position\nG1 X100 Y.5 Z0.25 F1500.0 E15 ; Draw the first line\nG1 X100 Y.2 Z0.25 F5000.0 ; Move to side a little\nG1 X10 Y.2 Z0.25 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nM221 S{if layer_height<0.075}100{else}95{endif}", + "machine_end_gcode": "G4 ; wait\nG92 E0 ; prepare to retract\nG1 E-0.5 F3000; retract to avoid stringing\n\n; Anti-stringing end wiggle\nG91 ; use relative coordinates\nG1 X1 Y1 F1200\n\n; Raise nozzle and present bed\n{if layer_z < printable_height}G1 Z{z_offset+min(layer_z+120, printable_height)}{endif} ; Move print head up\nG90 ; use absolute coordinates\n\n; Reset print setting overrides\nM200 D0 ; disable volumetric e\nM220 S100 ; reset speed factor to 100%\nM221 S100 ; reset extrusion rate to 100%\n\n; Shut down printer\nM106 S0 ; turn-off fan\nM104 S0 ; turn-off hotend\nM140 S0 ; turn-off bed\nM150 P0 ; turn off led\nM85 S0 ; deactivate idle timeout\nM84 ; disable motors\n", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" + } + diff --git a/resources/profiles/Artillery/machine/Artillery Sidewinder X1.json b/resources/profiles/Artillery/machine/Artillery Sidewinder X1.json new file mode 100644 index 0000000000..5b992b48e7 --- /dev/null +++ b/resources/profiles/Artillery/machine/Artillery Sidewinder X1.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Artillery Sidewinder X1", + "model_id": "Artillery-Sidewinder-X1", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Artillery", + "bed_model": "artillery_sidewinderx1_buildplate_model.stl", + "bed_texture": "artillery_sidewinderx1_buildplate_texture.png", + "hotend_model": "", + "default_materials": "Artillery Generic ABS;Artillery Generic PLA;Artillery Generic PLA-CF;Artillery Generic PETG;Artillery Generic TPU;Artillery Generic ASA" +} diff --git a/resources/profiles/Artillery/machine/Artillery Sidewinder X2 0.4 nozzle.json b/resources/profiles/Artillery/machine/Artillery Sidewinder X2 0.4 nozzle.json index d8c398cd17..75f01e0ad6 100644 --- a/resources/profiles/Artillery/machine/Artillery Sidewinder X2 0.4 nozzle.json +++ b/resources/profiles/Artillery/machine/Artillery Sidewinder X2 0.4 nozzle.json @@ -20,11 +20,99 @@ "0x300" ], "printable_height": "400", - "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer]\nG28", - "machine_end_gcode": "; config end gcode\nM104 S0\nM140 S0\n;Retract the filament\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84", - "layer_change_gcode": "", - "scan_first_layer": "0", - "nozzle_type": "hardened_steel", - "auxiliary_fan": "0" + "nozzle_type": "hardened_steel", + "auxiliary_fan": "0", + "machine_max_acceleration_extruding": [ + "1250", + "1250" + ], + "machine_max_acceleration_retracting": [ + "1250", + "1250" + ], + "machine_max_acceleration_travel": [ + "1000", + "1000" + ], + "machine_max_acceleration_x": [ + "1000", + "960" + ], + "machine_max_acceleration_y": [ + "1000", + "960" + ], + "machine_max_acceleration_z": [ + "1000", + "1000" + ], + "machine_max_speed_e": [ + "120", + "120" + ], + "machine_max_speed_x": [ + "200", + "100" + ], + "machine_max_speed_y": [ + "200", + "100" + ], + "machine_max_speed_z": [ + "12", + "12" + ], + "machine_max_jerk_e": [ + "1.5", + "1.5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.25" + ], + "min_layer_height": [ + "0.07" + ], + "printer_settings_id": "Artillery", + "retraction_minimum_travel": [ + "1" + ], + "retract_before_wipe": [ + "0%" + ], + "retraction_length": [ + "0.8" + ], + "retract_length_toolchange": [ + "4" + ], + "retraction_speed": [ + "35" + ], + "deretraction_speed": [ + "0" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "machine_pause_gcode": "M0", + "default_filament_profile": [ + "Artillery Generic PLA" + ], + "machine_start_gcode": "; Initial setups\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM900 K0.12 ; K factor\nM900 W[line_width] H[layer_height] D[filament_diameter]\nM200 D0 ; disable volumetric e\nM220 S100 ; reset speed factor to 100%\nM221 S100 ; reset extrusion rate to 100%\n\n; Set the heating\nM190 S[bed_temperature_initial_layer_single] ; wait for bed to heat up\nM104 S[nozzle_temperature_initial_layer] ; start nozzle heating but don't wait\n\n; Home\nG1 Z3 F3000 ; move z up little to prevent scratching of surface\nG28 ; home all axes\nG1 X3 Y3 F5000 ; move to corner of the bed to avoid ooze over centre\n\n; Wait for final heating\nM109 S[nozzle_temperature_initial_layer] ; wait for the nozzle to heat up\nM190 S[bed_temperature_initial_layer_single] ; wait for the bed to heat up\n\n;Auto bed Leveling\n@BEDLEVELVISUALIZER\nG29 ; ABL T\nM420 S1 Z3 ; reload and fade mesh bed leveling until it reach 3mm Z\n\n; Return to prime position, Prime line routine\nG92 E0 ; Reset Extruder\nG1 Z3 F3000 ; move z up little to prevent scratching of surface\nG1 X10 Y.5 Z0.25 F5000.0 ; Move to start position\nG1 X100 Y.5 Z0.25 F1500.0 E15 ; Draw the first line\nG1 X100 Y.2 Z0.25 F5000.0 ; Move to side a little\nG1 X10 Y.2 Z0.25 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nM221 S{if layer_height<0.075}100{else}95{endif}", + "machine_end_gcode": "G4 ; wait\nG92 E0 ; prepare to retract\nG1 E-0.5 F3000; retract to avoid stringing\n\n; Anti-stringing end wiggle\nG91 ; use relative coordinates\nG1 X1 Y1 F1200\n\n; Raise nozzle and present bed\n{if layer_z < printable_height}G1 Z{z_offset+min(layer_z+120, printable_height)}{endif} ; Move print head up\nG90 ; use absolute coordinates\n\n; Reset print setting overrides\nM200 D0 ; disable volumetric e\nM220 S100 ; reset speed factor to 100%\nM221 S100 ; reset extrusion rate to 100%\n\n; Shut down printer\nM106 S0 ; turn-off fan\nM104 S0 ; turn-off hotend\nM140 S0 ; turn-off bed\nM150 P0 ; turn off led\nM85 S0 ; deactivate idle timeout\nM84 ; disable motors\n", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" } diff --git a/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius.json b/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius.json index c50debc45d..c8035f28e5 100644 --- a/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius.json +++ b/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius.json @@ -79,7 +79,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "60", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Artillery/process/0.16mm Optimal @Artillery Hornet.json b/resources/profiles/Artillery/process/0.16mm Optimal @Artillery Hornet.json index 1ced316a58..d94a11efe6 100644 --- a/resources/profiles/Artillery/process/0.16mm Optimal @Artillery Hornet.json +++ b/resources/profiles/Artillery/process/0.16mm Optimal @Artillery Hornet.json @@ -79,7 +79,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "40", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Artillery/process/0.16mm Optimal @Artillery X1.json b/resources/profiles/Artillery/process/0.16mm Optimal @Artillery X1.json new file mode 100644 index 0000000000..765c5cf427 --- /dev/null +++ b/resources/profiles/Artillery/process/0.16mm Optimal @Artillery X1.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.16mm Optimal @Artillery X1", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_common", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.16", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "7", + "bottom_shell_thickness": "0", + "bridge_flow": "1", + "bridge_speed": "70", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "500", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.5", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "0", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.25", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "15%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "4", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "6", + "skirt_height": "1", + "skirt_loops": "3", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "1", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "1", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "40", + "support_threshold_angle": "30", + "support_object_xy_distance": "50%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "60", + "inner_wall_speed": "60", + "internal_solid_infill_speed": "30", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Artillery Sidewinder X1 0.4 nozzle" + ] +} diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius.json index 9f1b4e5bd1..08a9832adf 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius.json @@ -79,7 +79,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "60", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery Hornet.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery Hornet.json index f15a3c56ff..569cf6a84d 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery Hornet.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery Hornet.json @@ -79,7 +79,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "40", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X1.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X1.json new file mode 100644 index 0000000000..07c8c46ddd --- /dev/null +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X1.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Artillery X1", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_common", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "1", + "bridge_speed": "70", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "500", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.5", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "0", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.25", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "15%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "4", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "6", + "skirt_height": "1", + "skirt_loops": "3", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "1", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "1", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "40", + "support_threshold_angle": "30", + "support_object_xy_distance": "50%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "60", + "inner_wall_speed": "60", + "internal_solid_infill_speed": "30", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Artillery Sidewinder X1 0.4 nozzle" + ] +} diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X2.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X2.json index deda996e28..889e1ff25e 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X2.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X2.json @@ -1,30 +1,108 @@ { - "type": "process", - "setting_id": "GP004", - "name": "0.20mm Standard @Artillery X2", - "from": "system", - "instantiation": "true", - "inherits": "fdm_process_common", - "internal_solid_infill_speed": "200", - "gap_infill_speed": "40", - "bottom_shell_layers": "4", - "default_acceleration": "2500", - "default_jerk": "12", - "initial_layer_acceleration": "1000", - "initial_layer_infill_speed": "125", - "initial_layer_speed": "50", - "inner_wall_acceleration": "1000", - "inner_wall_speed": "250", - "outer_wall_acceleration": "1000", - "outer_wall_speed": "150", - "small_perimeter_speed": "50%", - "sparse_infill_speed": "250", - "top_surface_acceleration": "1500", - "top_surface_speed": "150", - "travel_acceleration": "2500", - "travel_jerk": "9", - "travel_speed": "250", - "compatible_printers": [ - "Artillery Sidewinder X2 0.4 nozzle" - ] -} + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Artillery X2", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_common", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "1", + "bridge_speed": "70", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "500", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.5", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "0", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.25", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "15%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "4", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "6", + "skirt_height": "1", + "skirt_loops": "3", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "1", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "1", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "40", + "support_threshold_angle": "30", + "support_object_xy_distance": "50%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "60", + "inner_wall_speed": "60", + "internal_solid_infill_speed": "30", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Artillery Sidewinder X2 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Artillery/process/0.24mm Draft @Artillery Hornet.json b/resources/profiles/Artillery/process/0.24mm Draft @Artillery Hornet.json index 90ae0bb24d..86971d70a4 100644 --- a/resources/profiles/Artillery/process/0.24mm Draft @Artillery Hornet.json +++ b/resources/profiles/Artillery/process/0.24mm Draft @Artillery Hornet.json @@ -79,7 +79,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "40", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Artillery/process/0.24mm Draft @Artillery X1.json b/resources/profiles/Artillery/process/0.24mm Draft @Artillery X1.json new file mode 100644 index 0000000000..250c65c3cd --- /dev/null +++ b/resources/profiles/Artillery/process/0.24mm Draft @Artillery X1.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @Artillery X1", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_common", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.24", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "1", + "bridge_speed": "70", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "500", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.5", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "0", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.25", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "15%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "4", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "6", + "skirt_height": "1", + "skirt_loops": "3", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.24", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "1", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "1", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "40", + "support_threshold_angle": "30", + "support_object_xy_distance": "50%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "60", + "inner_wall_speed": "60", + "internal_solid_infill_speed": "30", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Artillery Sidewinder X1 0.4 nozzle" + ] +} diff --git a/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius.json b/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius.json index 07442b3821..317ebc8fb0 100644 --- a/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius.json +++ b/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius.json @@ -79,7 +79,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "60", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/BBL.json b/resources/profiles/BBL.json index fbfbf38e0b..017470de67 100644 --- a/resources/profiles/BBL.json +++ b/resources/profiles/BBL.json @@ -868,6 +868,38 @@ { "name": "Bambu PET-CF @BBL P1P", "sub_path": "filament/P1P/Bambu PET-CF @BBL P1P.json" + }, + { + "name":"Bambu Support For PLA @base", + "sub_path":"filament/Bambu Support For PLA @base.json" + }, + { + "name":"Bambu Support For PLA @BBL X1C 0.2 nozzle", + "sub_path":"filament/Bambu Support For PLA @BBL X1C 0.2 nozzle.json" + }, + { + "name":"Bambu Support For PLA @BBL X1C", + "sub_path":"filament/Bambu Support For PLA @BBL X1C.json" + }, + { + "name":"Bambu Support For PLA @BBL P1P 0.2 nozzle", + "sub_path":"filament/P1P/Bambu Support For PLA @BBL P1P 0.2 nozzle.json" + }, + { + "name":"Bambu Support For PLA @BBL P1P", + "sub_path":"filament/P1P/Bambu Support For PLA @BBL P1P.json" + }, + { + "name":"Bambu Support For PA/PET @base", + "sub_path":"filament/Bambu Support For PA PET @base.json" + }, + { + "name":"Bambu Support For PA/PET @BBL P1P", + "sub_path":"filament/P1P/Bambu Support For PA PET @BBL P1P.json" + }, + { + "name":"Bambu Support For PA/PET @BBL X1C", + "sub_path":"filament/Bambu Support For PA PET @BBL X1C.json" } ], "machine_list": [ diff --git a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL X1C.json b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL X1C.json new file mode 100644 index 0000000000..bbf5d836ac --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL X1C.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "setting_id": "GFSS03_00", + "name": "Bambu Support For PA/PET @BBL X1C", + "from": "system", + "instantiation": "true", + "inherits": "Bambu Support For PA/PET @base", + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu Support For PA PET @base.json b/resources/profiles/BBL/filament/Bambu Support For PA PET @base.json new file mode 100644 index 0000000000..5ba24bd8d3 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PA PET @base.json @@ -0,0 +1,35 @@ +{ + "type": "filament", + "filament_id": "GFS03", + "name": "Bambu Support For PA/PET @base", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_pa", + "required_nozzle_HRC": [ + "3" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "filament_density": [ + "1.22" + ], + "filament_is_support": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "fan_cooling_layer_time": [ + "10" + ], + "filament_cost": [ + "34.99" + ], + "slow_down_layer_time":[ + "6" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X1C 0.2 nozzle.json new file mode 100644 index 0000000000..7903c25650 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X1C 0.2 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "setting_id": "GFSS02_01", + "name": "Bambu Support For PLA @BBL X1C 0.2 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "Bambu Support For PLA @base", + "filament_max_volumetric_speed": [ + "0.5" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature": [ + "240" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X1C.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X1C.json new file mode 100644 index 0000000000..61cf0a8ab6 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X1C.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "setting_id": "GFSS02_02", + "name": "Bambu Support For PLA @BBL X1C", + "from": "system", + "instantiation": "true", + "inherits": "Bambu Support For PLA @base", + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @base.json b/resources/profiles/BBL/filament/Bambu Support For PLA @base.json new file mode 100644 index 0000000000..5a49fef271 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @base.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "filament_id": "GFS02", + "name": "Bambu Support For PLA @base", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_pla", + "filament_vendor": [ + "Bambu Lab" + ], + "filament_density": [ + "1.30" + ], + "filament_is_support": [ + "1" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "filament_cost": [ + "69.98" + ], + "slow_down_layer_time": [ + "8" + ] +} diff --git a/resources/profiles/BBL/filament/P1P/Bambu Support For PA PET @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu Support For PA PET @BBL P1P.json new file mode 100644 index 0000000000..e59d77e2dc --- /dev/null +++ b/resources/profiles/BBL/filament/P1P/Bambu Support For PA PET @BBL P1P.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "setting_id": "GFSS03_01", + "name": "Bambu Support For PA/PET @BBL P1P", + "from": "system", + "instantiation": "true", + "inherits": "Bambu Support For PA/PET @base", + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/P1P/Bambu Support For PLA @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu Support For PLA @BBL P1P 0.2 nozzle.json new file mode 100644 index 0000000000..0b73e5f494 --- /dev/null +++ b/resources/profiles/BBL/filament/P1P/Bambu Support For PLA @BBL P1P 0.2 nozzle.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "setting_id": "GFSS02_11", + "name": "Bambu Support For PLA @BBL P1P 0.2 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "Bambu Support For PLA @base", + "filament_max_volumetric_speed": [ + "0.5" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature": [ + "240" + ], + "hot_plate_temp" : [ + "65" + ], + "hot_plate_temp_initial_layer" : [ + "65" + ], + "textured_plate_temp" : [ + "65" + ], + "textured_plate_temp_initial_layer" : [ + "65" + ], + "fan_min_speed": [ + "50" + ], + "fan_cooling_layer_time": [ + "80" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu Support For PLA @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu Support For PLA @BBL P1P.json new file mode 100644 index 0000000000..19ebe7afc1 --- /dev/null +++ b/resources/profiles/BBL/filament/P1P/Bambu Support For PLA @BBL P1P.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "setting_id": "GFSS02_12", + "name": "Bambu Support For PLA @BBL P1P", + "from": "system", + "instantiation": "true", + "inherits": "Bambu Support For PLA @base", + "hot_plate_temp" : [ + "65" + ], + "hot_plate_temp_initial_layer" : [ + "65" + ], + "textured_plate_temp" : [ + "65" + ], + "textured_plate_temp_initial_layer" : [ + "65" + ], + "fan_min_speed": [ + "50" + ], + "fan_cooling_layer_time": [ + "80" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json index 380f00d7f5..07c26c7236 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json @@ -26,7 +26,7 @@ "retraction_minimum_travel": [ "5" ], - "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230323 =====================\n;===== turn on the HB fan =================\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp to turn on the HB fan\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z-0.04 ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression", + "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230425 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z-0.04 ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression", "upward_compatible_machine":[ "Bambu Lab X1 0.2 nozzle", "Bambu Lab X1 Carbon 0.2 nozzle" diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json index be49085835..b90157cf3f 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json @@ -23,7 +23,7 @@ "0x28" ], "extruder_clearance_max_radius": "56", - "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230323 =====================\n;===== turn on the HB fan =================\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp to turn on the HB fan\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression", + "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230425 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression", "scan_first_layer": "0", "machine_load_filament_time": "29", "machine_unload_filament_time": "28", diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json index d5e2180d11..5c55f9e45b 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json @@ -26,7 +26,7 @@ "retraction_minimum_travel": [ "3" ], - "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230323 =====================\n;===== turn on the HB fan =================\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp to turn on the HB fan\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression", + "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230425 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression", "nozzle_type": "hardened_steel", "nozzle_hrc": "55", "upward_compatible_machine":[ diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json index cb10e3e27a..92867bd3cf 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json @@ -29,7 +29,7 @@ "retract_length_toolchange": [ "3" ], - "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230323 =====================\n;===== turn on the HB fan =================\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp to turn on the HB fan\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression", + "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230425 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression", "nozzle_type": "hardened_steel", "nozzle_hrc": "55", "upward_compatible_machine":[ diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json index d727b43d07..5f9ff32645 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json @@ -26,7 +26,7 @@ "retraction_minimum_travel": [ "5" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230322 =====================\n;===== turn on the HB fan =================\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp to turn on the HB fan\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E0.933\n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.018\n G1 F1200.0 X28.500 Y19.500 Z0.200 E0.933\n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.091\n G1 F1200.0 X31.000 Y49.000 Z0.200 E1.080\n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.238\n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.403\n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.183\n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.403\n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.201\n G1 F1200.0 X48.000 Y20.000 Z0.200 E1.061\n G1 F1200.0 X30.000 Y20.000 Z0.200 E0.659\n G1 F1200.0 X30.000 Y41.000 Z0.200 E0.769\n G1 F1200.0 X50.000 Y41.000 Z0.200 E0.732\n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.256\n G1 F1200.0 X30.000 Y34.000 Z0.200 E0.732\n G1 F1500.000 E-0.800\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y20.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y22.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y24.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230425 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E0.933\n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.018\n G1 F1200.0 X28.500 Y19.500 Z0.200 E0.933\n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.091\n G1 F1200.0 X31.000 Y49.000 Z0.200 E1.080\n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.238\n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.403\n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.183\n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.403\n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.201\n G1 F1200.0 X48.000 Y20.000 Z0.200 E1.061\n G1 F1200.0 X30.000 Y20.000 Z0.200 E0.659\n G1 F1200.0 X30.000 Y41.000 Z0.200 E0.769\n G1 F1200.0 X50.000 Y41.000 Z0.200 E0.732\n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.256\n G1 F1200.0 X30.000 Y34.000 Z0.200 E0.732\n G1 F1500.000 E-0.800\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y20.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y22.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y24.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", "nozzle_type": "stainless_steel", "upward_compatible_machine":[ "Bambu Lab P1P 0.2 nozzle", diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json index e77c8c8566..d504610c0f 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json @@ -26,7 +26,7 @@ "20", "20" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230322 =====================\n;===== turn on the HB fan =================\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp to turn on the HB fan\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on \nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY \n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1 \nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90 \nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000 \n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E0.933 \n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.018 \n G1 F1200.0 X28.500 Y19.500 Z0.200 E0.933 \n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.091 \n G1 F1200.0 X31.000 Y49.000 Z0.200 E1.080 \n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.238 \n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.403 \n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.183 \n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.403 \n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.201 \n G1 F1200.0 X48.000 Y20.000 Z0.200 E1.061 \n G1 F1200.0 X30.000 Y20.000 Z0.200 E0.659 \n G1 F1200.0 X30.000 Y41.000 Z0.200 E0.769 \n G1 F1200.0 X50.000 Y41.000 Z0.200 E0.732 \n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.256 \n G1 F1200.0 X30.000 Y34.000 Z0.200 E0.732 \n G1 F1500.000 E-0.800 \n\n ;=========== extruder cali extrusion ================== \n T1000 \n M83 \n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800 \n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800 \n G0 Z1\n G0 X180 Z0.3 F18000\n \n M900 L1000.0 M1.0\n M900 K0.040 \n G0 X45.000 F30000 \n G0 Y20.000 F30000 \n G1 F1500.000 E0.800 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 F1500.000 E-0.800 \n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos \n G1 Z0.3\n M400\n\n G0 X45.000 F30000 \n M900 K0.020 \n G0 X45.000 F30000 \n G0 Y22.000 F30000 \n G1 F1500.000 E0.800 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 F1500.000 E-0.800 \n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos \n G1 Z0.3\n M400\n\n G0 X45.000 F30000 \n M900 K0.000 \n G0 X45.000 F30000 \n G0 Y24.000 F30000 \n G1 F1500.000 E0.800 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos \n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM104 S140\n\n\n;=========== laser and rgb calibration =========== \nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1 \n G0 F6000 X40.000 Y54.500 Z0.000 \n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500 \n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P1 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P200 \n M971 S5 P3 \n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P2 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P500 \n M971 S5 P4 \n M963 S1 \n M400 P1500 \n M964 \n T1100 \n G0 F6000 X40.000 Y54.500 Z0.000 \n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500 \n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P1 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P200 \n M971 S5 P3 \n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P2 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P500 \n M971 S5 P4 \n M963 S1 \n M400 P1500 \n M964 \n T1100 \n G1 Z3 F3000 \n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100 \n M400 P400 \n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400 \n M960 S1 P1 \n M400 P50 \n\n M969 S1 N3 A2000 \n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100 \n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000 \n T1000 \n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623 \n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n M973 S4 \n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan \nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90 \nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60} \nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230425 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on \nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY \n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1 \nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90 \nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000 \n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E0.933 \n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.018 \n G1 F1200.0 X28.500 Y19.500 Z0.200 E0.933 \n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.091 \n G1 F1200.0 X31.000 Y49.000 Z0.200 E1.080 \n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.238 \n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.403 \n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.183 \n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.403 \n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.201 \n G1 F1200.0 X48.000 Y20.000 Z0.200 E1.061 \n G1 F1200.0 X30.000 Y20.000 Z0.200 E0.659 \n G1 F1200.0 X30.000 Y41.000 Z0.200 E0.769 \n G1 F1200.0 X50.000 Y41.000 Z0.200 E0.732 \n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.256 \n G1 F1200.0 X30.000 Y34.000 Z0.200 E0.732 \n G1 F1500.000 E-0.800 \n\n ;=========== extruder cali extrusion ================== \n T1000 \n M83 \n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800 \n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800 \n G0 Z1\n G0 X180 Z0.3 F18000\n \n M900 L1000.0 M1.0\n M900 K0.040 \n G0 X45.000 F30000 \n G0 Y20.000 F30000 \n G1 F1500.000 E0.800 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 F1500.000 E-0.800 \n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos \n G1 Z0.3\n M400\n\n G0 X45.000 F30000 \n M900 K0.020 \n G0 X45.000 F30000 \n G0 Y22.000 F30000 \n G1 F1500.000 E0.800 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 F1500.000 E-0.800 \n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos \n G1 Z0.3\n M400\n\n G0 X45.000 F30000 \n M900 K0.000 \n G0 X45.000 F30000 \n G0 Y24.000 F30000 \n G1 F1500.000 E0.800 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos \n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM104 S140\n\n\n;=========== laser and rgb calibration =========== \nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1 \n G0 F6000 X40.000 Y54.500 Z0.000 \n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500 \n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P1 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P200 \n M971 S5 P3 \n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P2 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P500 \n M971 S5 P4 \n M963 S1 \n M400 P1500 \n M964 \n T1100 \n G0 F6000 X40.000 Y54.500 Z0.000 \n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500 \n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P1 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P200 \n M971 S5 P3 \n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P2 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P500 \n M971 S5 P4 \n M963 S1 \n M400 P1500 \n M964 \n T1100 \n G1 Z3 F3000 \n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100 \n M400 P400 \n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400 \n M960 S1 P1 \n M400 P50 \n\n M969 S1 N3 A2000 \n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100 \n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000 \n T1000 \n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623 \n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n M973 S4 \n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan \nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90 \nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60} \nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", "scan_first_layer": "1", "machine_load_filament_time": "29", "machine_unload_filament_time": "28", diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json index bfc3bfa467..3aaebcd2c2 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json @@ -26,7 +26,7 @@ "retraction_minimum_travel": [ "3" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230322 =====================\n;===== turn on the HB fan =================\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp to turn on the HB fan\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E1.679\n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.032\n G1 F1200.0 X28.500 Y19.500 Z0.200 E1.679\n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.164\n G1 F1200.0 X31.000 Y49.000 Z0.200 E1.944\n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.428\n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.725\n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.329\n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.725\n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.362\n G1 F1200.0 X48.000 Y20.000 Z0.200 E1.910\n G1 F1200.0 X30.000 Y20.000 Z0.200 E1.186\n G1 F1200.0 X30.000 Y41.000 Z0.200 E1.384\n G1 F1200.0 X50.000 Y41.000 Z0.200 E1.318\n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.461\n G1 F1200.0 X30.000 Y34.000 Z0.200 E1.318\n G1 F1500.000 E-0.800\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y20.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y22.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y24.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230425 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E1.679\n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.032\n G1 F1200.0 X28.500 Y19.500 Z0.200 E1.679\n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.164\n G1 F1200.0 X31.000 Y49.000 Z0.200 E1.944\n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.428\n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.725\n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.329\n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.725\n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.362\n G1 F1200.0 X48.000 Y20.000 Z0.200 E1.910\n G1 F1200.0 X30.000 Y20.000 Z0.200 E1.186\n G1 F1200.0 X30.000 Y41.000 Z0.200 E1.384\n G1 F1200.0 X50.000 Y41.000 Z0.200 E1.318\n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.461\n G1 F1200.0 X30.000 Y34.000 Z0.200 E1.318\n G1 F1500.000 E-0.800\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y20.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y22.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y24.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", "nozzle_type": "hardened_steel", "nozzle_hrc": "55", "upward_compatible_machine":[ diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json index b11a5b9313..1c4225d3ee 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json @@ -29,7 +29,7 @@ "retract_length_toolchange": [ "3" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230322 =====================\n;===== turn on the HB fan =================\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp to turn on the HB fan\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E1.8660\n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.0360\n G1 F1200.0 X28.500 Y19.500 Z0.200 E1.8660\n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.1820\n G1 F1200.0 X31.000 Y49.000 Z0.200 E2.1600\n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.4760\n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.8060\n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.3660\n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.8060\n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.4020\n G1 F1200.0 X48.000 Y20.000 Z0.200 E2.1220\n G1 F1200.0 X30.000 Y20.000 Z0.200 E1.3180\n G1 F1200.0 X30.000 Y41.000 Z0.200 E1.5380\n G1 F1200.0 X50.000 Y41.000 Z0.200 E1.4640\n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.5120\n G1 F1200.0 X30.000 Y34.000 Z0.200 E1.4640\n G1 F1500.000 E-0.800\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y20.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y22.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y24.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230425 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E1.8660\n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.0360\n G1 F1200.0 X28.500 Y19.500 Z0.200 E1.8660\n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.1820\n G1 F1200.0 X31.000 Y49.000 Z0.200 E2.1600\n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.4760\n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.8060\n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.3660\n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.8060\n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.4020\n G1 F1200.0 X48.000 Y20.000 Z0.200 E2.1220\n G1 F1200.0 X30.000 Y20.000 Z0.200 E1.3180\n G1 F1200.0 X30.000 Y41.000 Z0.200 E1.5380\n G1 F1200.0 X50.000 Y41.000 Z0.200 E1.4640\n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.5120\n G1 F1200.0 X30.000 Y34.000 Z0.200 E1.4640\n G1 F1500.000 E-0.800\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y20.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y22.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y24.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", "nozzle_type": "hardened_steel", "nozzle_hrc": "55", "upward_compatible_machine":[ diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json index fd99ccab49..f34ba14f2e 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json @@ -26,7 +26,7 @@ "retraction_minimum_travel": [ "5" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230322 =====================\n;===== turn on the HB fan =================\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp to turn on the HB fan\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E0.933\n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.018\n G1 F1200.0 X28.500 Y19.500 Z0.200 E0.933\n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.091\n G1 F1200.0 X31.000 Y49.000 Z0.200 E1.080\n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.238\n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.403\n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.183\n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.403\n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.201\n G1 F1200.0 X48.000 Y20.000 Z0.200 E1.061\n G1 F1200.0 X30.000 Y20.000 Z0.200 E0.659\n G1 F1200.0 X30.000 Y41.000 Z0.200 E0.769\n G1 F1200.0 X50.000 Y41.000 Z0.200 E0.732\n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.256\n G1 F1200.0 X30.000 Y34.000 Z0.200 E0.732\n G1 F1500.000 E-0.800\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y20.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y22.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y24.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230425 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E0.933\n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.018\n G1 F1200.0 X28.500 Y19.500 Z0.200 E0.933\n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.091\n G1 F1200.0 X31.000 Y49.000 Z0.200 E1.080\n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.238\n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.403\n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.183\n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.403\n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.201\n G1 F1200.0 X48.000 Y20.000 Z0.200 E1.061\n G1 F1200.0 X30.000 Y20.000 Z0.200 E0.659\n G1 F1200.0 X30.000 Y41.000 Z0.200 E0.769\n G1 F1200.0 X50.000 Y41.000 Z0.200 E0.732\n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.256\n G1 F1200.0 X30.000 Y34.000 Z0.200 E0.732\n G1 F1500.000 E-0.800\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y20.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y22.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y24.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", "nozzle_type": "stainless_steel", "nozzle_hrc": "20", "upward_compatible_machine":[ diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json index 0b079aca78..58a0464c3e 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json @@ -26,7 +26,7 @@ "20", "20" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230322 =====================\n;===== turn on the HB fan =================\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp to turn on the HB fan\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on \nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY \n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1 \nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90 \nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000 \n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E0.933 \n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.018 \n G1 F1200.0 X28.500 Y19.500 Z0.200 E0.933 \n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.091 \n G1 F1200.0 X31.000 Y49.000 Z0.200 E1.080 \n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.238 \n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.403 \n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.183 \n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.403 \n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.201 \n G1 F1200.0 X48.000 Y20.000 Z0.200 E1.061 \n G1 F1200.0 X30.000 Y20.000 Z0.200 E0.659 \n G1 F1200.0 X30.000 Y41.000 Z0.200 E0.769 \n G1 F1200.0 X50.000 Y41.000 Z0.200 E0.732 \n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.256 \n G1 F1200.0 X30.000 Y34.000 Z0.200 E0.732 \n G1 F1500.000 E-0.800 \n\n ;=========== extruder cali extrusion ================== \n T1000 \n M83 \n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800 \n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800 \n G0 Z1\n G0 X180 Z0.3 F18000\n \n M900 L1000.0 M1.0\n M900 K0.040 \n G0 X45.000 F30000 \n G0 Y20.000 F30000 \n G1 F1500.000 E0.800 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 F1500.000 E-0.800 \n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos \n G1 Z0.3\n M400\n\n G0 X45.000 F30000 \n M900 K0.020 \n G0 X45.000 F30000 \n G0 Y22.000 F30000 \n G1 F1500.000 E0.800 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 F1500.000 E-0.800 \n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos \n G1 Z0.3\n M400\n\n G0 X45.000 F30000 \n M900 K0.000 \n G0 X45.000 F30000 \n G0 Y24.000 F30000 \n G1 F1500.000 E0.800 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos \n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM104 S140\n\n\n;=========== laser and rgb calibration =========== \nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1 \n G0 F6000 X40.000 Y54.500 Z0.000 \n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500 \n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P1 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P200 \n M971 S5 P3 \n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P2 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P500 \n M971 S5 P4 \n M963 S1 \n M400 P1500 \n M964 \n T1100 \n G0 F6000 X40.000 Y54.500 Z0.000 \n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500 \n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P1 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P200 \n M971 S5 P3 \n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P2 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P500 \n M971 S5 P4 \n M963 S1 \n M400 P1500 \n M964 \n T1100 \n G1 Z3 F3000 \n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100 \n M400 P400 \n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400 \n M960 S1 P1 \n M400 P50 \n\n M969 S1 N3 A2000 \n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100 \n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000 \n T1000 \n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623 \n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n M973 S4 \n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan \nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90 \nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60} \nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230425 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on \nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY \n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1 \nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90 \nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000 \n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E0.933 \n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.018 \n G1 F1200.0 X28.500 Y19.500 Z0.200 E0.933 \n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.091 \n G1 F1200.0 X31.000 Y49.000 Z0.200 E1.080 \n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.238 \n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.403 \n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.183 \n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.403 \n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.201 \n G1 F1200.0 X48.000 Y20.000 Z0.200 E1.061 \n G1 F1200.0 X30.000 Y20.000 Z0.200 E0.659 \n G1 F1200.0 X30.000 Y41.000 Z0.200 E0.769 \n G1 F1200.0 X50.000 Y41.000 Z0.200 E0.732 \n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.256 \n G1 F1200.0 X30.000 Y34.000 Z0.200 E0.732 \n G1 F1500.000 E-0.800 \n\n ;=========== extruder cali extrusion ================== \n T1000 \n M83 \n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800 \n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800 \n G0 Z1\n G0 X180 Z0.3 F18000\n \n M900 L1000.0 M1.0\n M900 K0.040 \n G0 X45.000 F30000 \n G0 Y20.000 F30000 \n G1 F1500.000 E0.800 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 F1500.000 E-0.800 \n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos \n G1 Z0.3\n M400\n\n G0 X45.000 F30000 \n M900 K0.020 \n G0 X45.000 F30000 \n G0 Y22.000 F30000 \n G1 F1500.000 E0.800 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 F1500.000 E-0.800 \n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos \n G1 Z0.3\n M400\n\n G0 X45.000 F30000 \n M900 K0.000 \n G0 X45.000 F30000 \n G0 Y24.000 F30000 \n G1 F1500.000 E0.800 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos \n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM104 S140\n\n\n;=========== laser and rgb calibration =========== \nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1 \n G0 F6000 X40.000 Y54.500 Z0.000 \n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500 \n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P1 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P200 \n M971 S5 P3 \n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P2 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P500 \n M971 S5 P4 \n M963 S1 \n M400 P1500 \n M964 \n T1100 \n G0 F6000 X40.000 Y54.500 Z0.000 \n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500 \n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P1 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P200 \n M971 S5 P3 \n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P2 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P500 \n M971 S5 P4 \n M963 S1 \n M400 P1500 \n M964 \n T1100 \n G1 Z3 F3000 \n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100 \n M400 P400 \n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400 \n M960 S1 P1 \n M400 P50 \n\n M969 S1 N3 A2000 \n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100 \n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000 \n T1000 \n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623 \n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n M973 S4 \n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan \nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90 \nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60} \nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", "scan_first_layer": "1", "machine_load_filament_time": "29", "machine_unload_filament_time": "28", diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json index 53ebc5f479..ac7a701175 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json @@ -26,7 +26,7 @@ "retraction_minimum_travel": [ "3" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230322 =====================\n;===== turn on the HB fan =================\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp to turn on the HB fan\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E1.679\n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.032\n G1 F1200.0 X28.500 Y19.500 Z0.200 E1.679\n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.164\n G1 F1200.0 X31.000 Y49.000 Z0.200 E1.944\n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.428\n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.725\n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.329\n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.725\n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.362\n G1 F1200.0 X48.000 Y20.000 Z0.200 E1.910\n G1 F1200.0 X30.000 Y20.000 Z0.200 E1.186\n G1 F1200.0 X30.000 Y41.000 Z0.200 E1.384\n G1 F1200.0 X50.000 Y41.000 Z0.200 E1.318\n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.461\n G1 F1200.0 X30.000 Y34.000 Z0.200 E1.318\n G1 F1500.000 E-0.800\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y20.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y22.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y24.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230425 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E1.679\n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.032\n G1 F1200.0 X28.500 Y19.500 Z0.200 E1.679\n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.164\n G1 F1200.0 X31.000 Y49.000 Z0.200 E1.944\n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.428\n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.725\n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.329\n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.725\n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.362\n G1 F1200.0 X48.000 Y20.000 Z0.200 E1.910\n G1 F1200.0 X30.000 Y20.000 Z0.200 E1.186\n G1 F1200.0 X30.000 Y41.000 Z0.200 E1.384\n G1 F1200.0 X50.000 Y41.000 Z0.200 E1.318\n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.461\n G1 F1200.0 X30.000 Y34.000 Z0.200 E1.318\n G1 F1500.000 E-0.800\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y20.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y22.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y24.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", "upward_compatible_machine":[ "Bambu Lab P1P 0.6 nozzle", "Bambu Lab X1 0.6 nozzle" diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json index 1da5d4cb6e..428c360f8a 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json @@ -29,7 +29,7 @@ "retract_length_toolchange": [ "3" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230322 =====================\n;===== turn on the HB fan =================\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp to turn on the HB fan\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E1.8660\n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.0360\n G1 F1200.0 X28.500 Y19.500 Z0.200 E1.8660\n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.1820\n G1 F1200.0 X31.000 Y49.000 Z0.200 E2.1600\n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.4760\n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.8060\n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.3660\n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.8060\n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.4020\n G1 F1200.0 X48.000 Y20.000 Z0.200 E2.1220\n G1 F1200.0 X30.000 Y20.000 Z0.200 E1.3180\n G1 F1200.0 X30.000 Y41.000 Z0.200 E1.5380\n G1 F1200.0 X50.000 Y41.000 Z0.200 E1.4640\n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.5120\n G1 F1200.0 X30.000 Y34.000 Z0.200 E1.4640\n G1 F1500.000 E-0.800\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y20.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y22.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y24.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230425 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E1.8660\n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.0360\n G1 F1200.0 X28.500 Y19.500 Z0.200 E1.8660\n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.1820\n G1 F1200.0 X31.000 Y49.000 Z0.200 E2.1600\n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.4760\n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.8060\n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.3660\n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.8060\n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.4020\n G1 F1200.0 X48.000 Y20.000 Z0.200 E2.1220\n G1 F1200.0 X30.000 Y20.000 Z0.200 E1.3180\n G1 F1200.0 X30.000 Y41.000 Z0.200 E1.5380\n G1 F1200.0 X50.000 Y41.000 Z0.200 E1.4640\n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.5120\n G1 F1200.0 X30.000 Y34.000 Z0.200 E1.4640\n G1 F1500.000 E-0.800\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y20.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y22.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y24.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X40.000 Y54.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P1\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1\n G0 Y37.50\n M400 P200\n M971 S5 P2\n M960 S0 P0\n M960 S2 P1\n G0 Y54.50\n M400 P500\n M971 S5 P4\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", "upward_compatible_machine":[ "Bambu Lab P1P 0.8 nozzle", "Bambu Lab X1 0.8 nozzle" diff --git a/resources/profiles/BIQU.json b/resources/profiles/BIQU.json new file mode 100644 index 0000000000..864a31c2a4 --- /dev/null +++ b/resources/profiles/BIQU.json @@ -0,0 +1,194 @@ +{ + "name": "BIQU", + "version": "01.01.00.00", + "force_update": "0", + "description": "BIQU configurations", + "machine_model_list": [ + { + "name": "BIQU B1", + "sub_path": "machine/BIQU B1.json" + }, + { + "name": "BIQU BX", + "sub_path": "machine/BIQU BX.json" + }, + { + "name": "BIQU Hurakan", + "sub_path": "machine/BIQU Hurakan.json" + } + ], + "process_list": [ + { + "name": "fdm_process_common", + "sub_path": "process/fdm_process_common.json" + }, + { + "name": "fdm_process_biqu_common", + "sub_path": "process/fdm_process_biqu_common.json" + }, + { + "name": "fdm_process_hurakan_common", + "sub_path": "process/fdm_process_hurakan_common.json" + }, + { + "name": "0.12mm Fine @BIQU BX (0.4 nozzle)", + "sub_path": "process/0.12mm Fine @BIQU BX (0.4 nozzle).json" + }, + { + "name": "0.15mm Optimal @BIQU BX (0.4 nozzle)", + "sub_path": "process/0.15mm Optimal @BIQU BX (0.4 nozzle).json" + }, + { + "name": "0.20mm Standard @BIQU BX (0.4 nozzle)", + "sub_path": "process/0.20mm Standard @BIQU BX (0.4 nozzle).json" + }, + { + "name": "0.24mm Draft @BIQU BX (0.4 nozzle)", + "sub_path": "process/0.24mm Draft @BIQU BX (0.4 nozzle).json" + }, + { + "name": "0.12mm Fine @BIQU B1 (0.4 nozzle)", + "sub_path": "process/0.12mm Fine @BIQU B1 (0.4 nozzle).json" + }, + { + "name": "0.15mm Optimal @BIQU B1 (0.4 nozzle)", + "sub_path": "process/0.15mm Optimal @BIQU B1 (0.4 nozzle).json" + }, + { + "name": "0.20mm Standard @BIQU B1 (0.4 nozzle)", + "sub_path": "process/0.20mm Standard @BIQU B1 (0.4 nozzle).json" + }, + { + "name": "0.24mm Draft @BIQU B1 (0.4 nozzle)", + "sub_path": "process/0.24mm Draft @BIQU B1 (0.4 nozzle).json" + }, + { + "name": "0.12mm Fine @BIQU Hurakan (0.4 nozzle)", + "sub_path": "process/0.12mm Fine @BIQU Hurakan (0.4 nozzle).json" + }, + { + "name": "0.15mm Optimal @BIQU Hurakan (0.4 nozzle)", + "sub_path": "process/0.15mm Optimal @BIQU Hurakan (0.4 nozzle).json" + }, + { + "name": "0.20mm Standard @BIQU Hurakan (0.4 nozzle)", + "sub_path": "process/0.20mm Standard @BIQU Hurakan (0.4 nozzle).json" + }, + { + "name": "0.24mm Draft @BIQU Hurakan (0.4 nozzle)", + "sub_path": "process/0.24mm Draft @BIQU Hurakan (0.4 nozzle).json" + } + ], + "filament_list": [ + { + "name": "fdm_filament_common", + "sub_path": "filament/fdm_filament_common.json" + }, + { + "name": "fdm_filament_abs", + "sub_path": "filament/fdm_filament_abs.json" + }, + { + "name": "fdm_filament_asa", + "sub_path": "filament/fdm_filament_asa.json" + }, + { + "name": "fdm_filament_pa", + "sub_path": "filament/fdm_filament_pa.json" + }, + { + "name": "fdm_filament_pc", + "sub_path": "filament/fdm_filament_pc.json" + }, + { + "name": "fdm_filament_pet", + "sub_path": "filament/fdm_filament_pet.json" + }, + { + "name": "fdm_filament_pla", + "sub_path": "filament/fdm_filament_pla.json" + }, + { + "name": "fdm_filament_pva", + "sub_path": "filament/fdm_filament_pva.json" + }, + { + "name": "fdm_filament_tpu", + "sub_path": "filament/fdm_filament_tpu.json" + }, + { + "name": "BIQU Generic ABS", + "sub_path": "filament/BIQU Generic ABS.json" + }, + { + "name": "BIQU Generic ASA", + "sub_path": "filament/BIQU Generic ASA.json" + }, + { + "name": "BIQU Generic PA", + "sub_path": "filament/BIQU Generic PA.json" + }, + { + "name": "BIQU Generic PA-CF", + "sub_path": "filament/BIQU Generic PA-CF.json" + }, + { + "name": "BIQU Generic PC", + "sub_path": "filament/BIQU Generic PC.json" + }, + { + "name": "BIQU Generic PETG", + "sub_path": "filament/BIQU Generic PETG.json" + }, + { + "name": "BIQU Generic PETG-CF", + "sub_path": "filament/BIQU Generic PETG-CF.json" + }, + { + "name": "BIQU Generic PLA Silk", + "sub_path": "filament/BIQU Generic PLA Silk.json" + }, + { + "name": "BIQU Generic PLA", + "sub_path": "filament/BIQU Generic PLA.json" + }, + { + "name": "BIQU Generic PLA-CF", + "sub_path": "filament/BIQU Generic PLA-CF.json" + }, + { + "name": "BIQU Generic PVA", + "sub_path": "filament/BIQU Generic PVA.json" + }, + { + "name": "BIQU Generic TPU", + "sub_path": "filament/BIQU Generic TPU.json" + } + ], + "machine_list": [ + { + "name": "fdm_machine_common", + "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "fdm_biqu_common", + "sub_path": "machine/fdm_biqu_common.json" + }, + { + "name": "fdm_klipper_common", + "sub_path": "machine/fdm_klipper_common.json" + }, + { + "name": "BIQU BX (0.4 nozzle)", + "sub_path": "machine/BIQU BX (0.4 nozzle).json" + }, + { + "name": "BIQU B1 (0.4 nozzle)", + "sub_path": "machine/BIQU B1 (0.4 nozzle).json" + }, + { + "name": "BIQU Hurakan (0.4 nozzle)", + "sub_path": "machine/BIQU Hurakan (0.4 nozzle).json" + } + ] +} diff --git a/resources/profiles/BIQU/BIQU B1_cover.png b/resources/profiles/BIQU/BIQU B1_cover.png new file mode 100644 index 0000000000..5a896fe6d8 Binary files /dev/null and b/resources/profiles/BIQU/BIQU B1_cover.png differ diff --git a/resources/profiles/BIQU/BIQU BX_cover.png b/resources/profiles/BIQU/BIQU BX_cover.png new file mode 100644 index 0000000000..ea21ac04f0 Binary files /dev/null and b/resources/profiles/BIQU/BIQU BX_cover.png differ diff --git a/resources/profiles/BIQU/BIQU Hurakan_cover.png b/resources/profiles/BIQU/BIQU Hurakan_cover.png new file mode 100644 index 0000000000..c351f36eea Binary files /dev/null and b/resources/profiles/BIQU/BIQU Hurakan_cover.png differ diff --git a/resources/profiles/BIQU/BIQU_B1_buildplate_model.stl b/resources/profiles/BIQU/BIQU_B1_buildplate_model.stl new file mode 100644 index 0000000000..e2a291503f Binary files /dev/null and b/resources/profiles/BIQU/BIQU_B1_buildplate_model.stl differ diff --git a/resources/profiles/BIQU/BIQU_B1_buildplate_texture.png b/resources/profiles/BIQU/BIQU_B1_buildplate_texture.png new file mode 100644 index 0000000000..c632bd0247 Binary files /dev/null and b/resources/profiles/BIQU/BIQU_B1_buildplate_texture.png differ diff --git a/resources/profiles/BIQU/BIQU_BX_buildplate_model.stl b/resources/profiles/BIQU/BIQU_BX_buildplate_model.stl new file mode 100644 index 0000000000..5c89afc48c Binary files /dev/null and b/resources/profiles/BIQU/BIQU_BX_buildplate_model.stl differ diff --git a/resources/profiles/BIQU/BIQU_BX_buildplate_texture.png b/resources/profiles/BIQU/BIQU_BX_buildplate_texture.png new file mode 100644 index 0000000000..fbaebca820 Binary files /dev/null and b/resources/profiles/BIQU/BIQU_BX_buildplate_texture.png differ diff --git a/resources/profiles/BIQU/BIQU_Hurakan_buildplate_model.stl b/resources/profiles/BIQU/BIQU_Hurakan_buildplate_model.stl new file mode 100644 index 0000000000..46268d09ea Binary files /dev/null and b/resources/profiles/BIQU/BIQU_Hurakan_buildplate_model.stl differ diff --git a/resources/profiles/BIQU/BIQU_Hurakan_buildplate_texture.png b/resources/profiles/BIQU/BIQU_Hurakan_buildplate_texture.png new file mode 100644 index 0000000000..3dfe07f8d8 Binary files /dev/null and b/resources/profiles/BIQU/BIQU_Hurakan_buildplate_texture.png differ diff --git a/resources/profiles/BIQU/filament/BIQU Generic ABS.json b/resources/profiles/BIQU/filament/BIQU Generic ABS.json new file mode 100644 index 0000000000..9db0d1dcdb --- /dev/null +++ b/resources/profiles/BIQU/filament/BIQU Generic ABS.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "filament_id": "GFB99", + "setting_id": "GFSA04", + "name": "BIQU Generic ABS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_abs", + "filament_flow_ratio": [ + "0.926" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "compatible_printers": [ + "BIQU BX (0.4 nozzle)", + "BIQU B1 (0.4 nozzle)", + "BIQU Hurakan (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/filament/BIQU Generic ASA.json b/resources/profiles/BIQU/filament/BIQU Generic ASA.json new file mode 100644 index 0000000000..b0281bf899 --- /dev/null +++ b/resources/profiles/BIQU/filament/BIQU Generic ASA.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "filament_id": "GFB99", + "setting_id": "GFSA04", + "name": "BIQU Generic ASA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_asa", + "filament_max_volumetric_speed": [ + "12" + ], + "filament_flow_ratio": [ + "0.926" + ], + "compatible_printers": [ + "BIQU BX (0.4 nozzle)", + "BIQU B1 (0.4 nozzle)", + "BIQU Hurakan (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/filament/BIQU Generic PA-CF.json b/resources/profiles/BIQU/filament/BIQU Generic PA-CF.json new file mode 100644 index 0000000000..55344dfae0 --- /dev/null +++ b/resources/profiles/BIQU/filament/BIQU Generic PA-CF.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "filament_id": "GFN98", + "setting_id": "GFSN99", + "name": "BIQU Generic PA-CF", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_type": [ + "PA-CF" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature": [ + "290" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "0%" + ], + "overhang_fan_speed": [ + "40" + ], + "fan_cooling_layer_time": [ + "5" + ], + "full_fan_speed_layer": [ + "2" + ], + "compatible_printers": [ + "BIQU BX (0.4 nozzle)", + "BIQU B1 (0.4 nozzle)", + "BIQU Hurakan (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/filament/BIQU Generic PA.json b/resources/profiles/BIQU/filament/BIQU Generic PA.json new file mode 100644 index 0000000000..6b8db4e32e --- /dev/null +++ b/resources/profiles/BIQU/filament/BIQU Generic PA.json @@ -0,0 +1,26 @@ +{ + "type": "filament", + "filament_id": "GFN99", + "setting_id": "GFSN98", + "name": "BIQU Generic PA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "required_nozzle_HRC": [ + "3" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "compatible_printers": [ + "BIQU BX (0.4 nozzle)", + "BIQU B1 (0.4 nozzle)", + "BIQU Hurakan (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/filament/BIQU Generic PC.json b/resources/profiles/BIQU/filament/BIQU Generic PC.json new file mode 100644 index 0000000000..e70c31a11a --- /dev/null +++ b/resources/profiles/BIQU/filament/BIQU Generic PC.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "filament_id": "GFC99", + "setting_id": "GFSC99", + "name": "BIQU Generic PC", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_max_volumetric_speed": [ + "16" + ], + "filament_flow_ratio": [ + "0.94" + ], + "compatible_printers": [ + "BIQU BX (0.4 nozzle)", + "BIQU B1 (0.4 nozzle)", + "BIQU Hurakan (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/filament/BIQU Generic PETG-CF.json b/resources/profiles/BIQU/filament/BIQU Generic PETG-CF.json new file mode 100644 index 0000000000..0d72df1e96 --- /dev/null +++ b/resources/profiles/BIQU/filament/BIQU Generic PETG-CF.json @@ -0,0 +1,89 @@ +{ + "type": "filament", + "filament_id": "GFG98", + "setting_id": "GFSG50", + "name": "BIQU Generic PETG-CF", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "temperature_vitrification": [ + "75" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "90" + ], + "cool_plate_temp" : [ + "0" + ], + "eng_plate_temp" : [ + "70" + ], + "hot_plate_temp" : [ + "70" + ], + "textured_plate_temp" : [ + "70" + ], + "cool_plate_temp_initial_layer" : [ + "0" + ], + "eng_plate_temp_initial_layer" : [ + "70" + ], + "hot_plate_temp_initial_layer" : [ + "70" + ], + "textured_plate_temp_initial_layer" : [ + "70" + ], + "required_nozzle_HRC": [ + "40" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "filament_type": [ + "PETG-CF" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "nozzle_temperature": [ + "255" + ], + "filament_cost": [ + "34.99" + ], + "filament_density": [ + "1.25" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "slow_down_layer_time": [ + "6" + ], + "fan_cooling_layer_time": [ + "20" + ], + "compatible_printers": [ + "BIQU BX (0.4 nozzle)", + "BIQU B1 (0.4 nozzle)", + "BIQU Hurakan (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/filament/BIQU Generic PETG.json b/resources/profiles/BIQU/filament/BIQU Generic PETG.json new file mode 100644 index 0000000000..0a358a7580 --- /dev/null +++ b/resources/profiles/BIQU/filament/BIQU Generic PETG.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "filament_id": "GFG99", + "setting_id": "GFSG99", + "name": "BIQU Generic PETG", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "compatible_printers": [ + "BIQU BX (0.4 nozzle)", + "BIQU B1 (0.4 nozzle)", + "BIQU Hurakan (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/filament/BIQU Generic PLA Silk.json b/resources/profiles/BIQU/filament/BIQU Generic PLA Silk.json new file mode 100644 index 0000000000..9e4f780789 --- /dev/null +++ b/resources/profiles/BIQU/filament/BIQU Generic PLA Silk.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "filament_id": "GFA05", + "setting_id": "GFSL99_01", + "name": "BIQU Generic PLA Silk", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_max_volumetric_speed": [ + "7.5" + ], + "filament_retraction_length": [ + "0.5" + ], + "filament_flow_ratio": [ + "0.98" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming" + ], + "compatible_printers": [ + "BIQU BX (0.4 nozzle)", + "BIQU B1 (0.4 nozzle)", + "BIQU Hurakan (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/filament/BIQU Generic PLA-CF.json b/resources/profiles/BIQU/filament/BIQU Generic PLA-CF.json new file mode 100644 index 0000000000..bb63cd0324 --- /dev/null +++ b/resources/profiles/BIQU/filament/BIQU Generic PLA-CF.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "filament_id": "GFL98", + "setting_id": "GFSL98", + "name": "BIQU Generic PLA-CF", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "required_nozzle_HRC": [ + "40" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "slow_down_layer_time": [ + "7" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "temperature_vitrification": [ + "55" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}" + ], + "compatible_printers": [ + "BIQU BX (0.4 nozzle)", + "BIQU B1 (0.4 nozzle)", + "BIQU Hurakan (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/filament/BIQU Generic PLA.json b/resources/profiles/BIQU/filament/BIQU Generic PLA.json new file mode 100644 index 0000000000..fd2c5ba4c7 --- /dev/null +++ b/resources/profiles/BIQU/filament/BIQU Generic PLA.json @@ -0,0 +1,23 @@ +{ + "type": "filament", + "filament_id": "GFL99", + "setting_id": "GFSL99", + "name": "BIQU Generic PLA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "BIQU BX (0.4 nozzle)", + "BIQU B1 (0.4 nozzle)", + "BIQU Hurakan (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/filament/BIQU Generic PVA.json b/resources/profiles/BIQU/filament/BIQU Generic PVA.json new file mode 100644 index 0000000000..2ce1334b7a --- /dev/null +++ b/resources/profiles/BIQU/filament/BIQU Generic PVA.json @@ -0,0 +1,26 @@ +{ + "type": "filament", + "filament_id": "GFS99", + "setting_id": "GFSS99", + "name": "BIQU Generic PVA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pva", + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "10" + ], + "compatible_printers": [ + "BIQU BX (0.4 nozzle)", + "BIQU B1 (0.4 nozzle)", + "BIQU Hurakan (0.4 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/BIQU/filament/BIQU Generic TPU.json b/resources/profiles/BIQU/filament/BIQU Generic TPU.json new file mode 100644 index 0000000000..a218690d45 --- /dev/null +++ b/resources/profiles/BIQU/filament/BIQU Generic TPU.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "filament_id": "GFU99", + "setting_id": "GFSR99", + "name": "BIQU Generic TPU", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_tpu", + "filament_max_volumetric_speed": [ + "3.2" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}" + ], + "compatible_printers": [ + "BIQU BX (0.4 nozzle)", + "BIQU B1 (0.4 nozzle)", + "BIQU Hurakan (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/filament/fdm_filament_abs.json b/resources/profiles/BIQU/filament/fdm_filament_abs.json new file mode 100644 index 0000000000..b9d4eeda31 --- /dev/null +++ b/resources/profiles/BIQU/filament/fdm_filament_abs.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_abs", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "105" + ], + "eng_plate_temp" : [ + "105" + ], + "hot_plate_temp" : [ + "105" + ], + "textured_plate_temp" : [ + "105" + ], + "cool_plate_temp_initial_layer" : [ + "105" + ], + "eng_plate_temp_initial_layer" : [ + "105" + ], + "hot_plate_temp_initial_layer" : [ + "105" + ], + "textured_plate_temp_initial_layer" : [ + "105" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "30" + ], + "filament_max_volumetric_speed": [ + "28.6" + ], + "filament_type": [ + "ABS" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "80" + ], + "nozzle_temperature": [ + "260" + ], + "temperature_vitrification": [ + "110" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "3" + ] +} diff --git a/resources/profiles/BIQU/filament/fdm_filament_asa.json b/resources/profiles/BIQU/filament/fdm_filament_asa.json new file mode 100644 index 0000000000..a3a3c9a27d --- /dev/null +++ b/resources/profiles/BIQU/filament/fdm_filament_asa.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_asa", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "0" + ], + "eng_plate_temp" : [ + "90" + ], + "hot_plate_temp" : [ + "90" + ], + "textured_plate_temp" : [ + "90" + ], + "cool_plate_temp_initial_layer" : [ + "0" + ], + "eng_plate_temp_initial_layer" : [ + "90" + ], + "hot_plate_temp_initial_layer" : [ + "90" + ], + "textured_plate_temp_initial_layer" : [ + "90" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "35" + ], + "filament_max_volumetric_speed": [ + "28.6" + ], + "filament_type": [ + "ASA" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "80" + ], + "nozzle_temperature": [ + "260" + ], + "temperature_vitrification": [ + "100" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "3" + ] +} diff --git a/resources/profiles/BIQU/filament/fdm_filament_common.json b/resources/profiles/BIQU/filament/fdm_filament_common.json new file mode 100644 index 0000000000..9f77975119 --- /dev/null +++ b/resources/profiles/BIQU/filament/fdm_filament_common.json @@ -0,0 +1,144 @@ +{ + "type": "filament", + "name": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "cool_plate_temp" : [ + "60" + ], + "eng_plate_temp" : [ + "60" + ], + "hot_plate_temp" : [ + "60" + ], + "textured_plate_temp" : [ + "60" + ], + "cool_plate_temp_initial_layer" : [ + "60" + ], + "eng_plate_temp_initial_layer" : [ + "60" + ], + "hot_plate_temp_initial_layer" : [ + "60" + ], + "textured_plate_temp_initial_layer" : [ + "60" + ], + "overhang_fan_threshold": [ + "95%" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "fan_cooling_layer_time": [ + "60" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "0" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_max_volumetric_speed": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_settings_id": [ + "" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "bed_type": [ + "Cool Plate" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "full_fan_speed_layer": [ + "0" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "35" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "nozzle_temperature": [ + "200" + ], + "temperature_vitrification": [ + "100" + ] +} diff --git a/resources/profiles/BIQU/filament/fdm_filament_pa.json b/resources/profiles/BIQU/filament/fdm_filament_pa.json new file mode 100644 index 0000000000..fb2d02e700 --- /dev/null +++ b/resources/profiles/BIQU/filament/fdm_filament_pa.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_pa", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "required_nozzle_HRC": [ + "40" + ], + "cool_plate_temp" : [ + "0" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "textured_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "0" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "textured_plate_temp_initial_layer" : [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "4" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_type": [ + "PA" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "0" + ], + "overhang_fan_speed": [ + "30" + ], + "nozzle_temperature": [ + "290" + ], + "temperature_vitrification": [ + "108" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "nozzle_temperature_range_high": [ + "300" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "2" + ] +} diff --git a/resources/profiles/BIQU/filament/fdm_filament_pc.json b/resources/profiles/BIQU/filament/fdm_filament_pc.json new file mode 100644 index 0000000000..daf96f0164 --- /dev/null +++ b/resources/profiles/BIQU/filament/fdm_filament_pc.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_pc", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "0" + ], + "eng_plate_temp" : [ + "110" + ], + "hot_plate_temp" : [ + "110" + ], + "textured_plate_temp" : [ + "110" + ], + "cool_plate_temp_initial_layer" : [ + "0" + ], + "eng_plate_temp_initial_layer" : [ + "110" + ], + "hot_plate_temp_initial_layer" : [ + "110" + ], + "textured_plate_temp_initial_layer" : [ + "110" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "30" + ], + "filament_max_volumetric_speed": [ + "23.2" + ], + "filament_type": [ + "PC" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "60" + ], + "nozzle_temperature": [ + "280" + ], + "temperature_vitrification": [ + "120" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "2" + ] +} diff --git a/resources/profiles/BIQU/filament/fdm_filament_pet.json b/resources/profiles/BIQU/filament/fdm_filament_pet.json new file mode 100644 index 0000000000..bb2323e9c1 --- /dev/null +++ b/resources/profiles/BIQU/filament/fdm_filament_pet.json @@ -0,0 +1,82 @@ +{ + "type": "filament", + "name": "fdm_filament_pet", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "60" + ], + "eng_plate_temp" : [ + "0" + ], + "hot_plate_temp" : [ + "80" + ], + "textured_plate_temp" : [ + "80" + ], + "cool_plate_temp_initial_layer" : [ + "60" + ], + "eng_plate_temp_initial_layer" : [ + "0" + ], + "hot_plate_temp_initial_layer" : [ + "80" + ], + "textured_plate_temp_initial_layer" : [ + "80" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "20" + ], + "filament_max_volumetric_speed": [ + "25" + ], + "filament_type": [ + "PETG" + ], + "filament_density": [ + "1.27" + ], + "filament_cost": [ + "30" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "20" + ], + "overhang_fan_speed": [ + "100" + ], + "nozzle_temperature": [ + "255" + ], + "temperature_vitrification": [ + "80" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/BIQU/filament/fdm_filament_pla.json b/resources/profiles/BIQU/filament/fdm_filament_pla.json new file mode 100644 index 0000000000..82c6772f35 --- /dev/null +++ b/resources/profiles/BIQU/filament/fdm_filament_pla.json @@ -0,0 +1,94 @@ +{ + "type": "filament", + "name": "fdm_filament_pla", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "fan_cooling_layer_time": [ + "100" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PLA" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "cool_plate_temp" : [ + "60" + ], + "eng_plate_temp" : [ + "60" + ], + "hot_plate_temp" : [ + "60" + ], + "textured_plate_temp" : [ + "60" + ], + "cool_plate_temp_initial_layer" : [ + "60" + ], + "eng_plate_temp_initial_layer" : [ + "60" + ], + "hot_plate_temp_initial_layer" : [ + "60" + ], + "textured_plate_temp_initial_layer" : [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "220" + ], + "temperature_vitrification": [ + "60" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "4" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/BIQU/filament/fdm_filament_pva.json b/resources/profiles/BIQU/filament/fdm_filament_pva.json new file mode 100644 index 0000000000..fb84ccf0a4 --- /dev/null +++ b/resources/profiles/BIQU/filament/fdm_filament_pva.json @@ -0,0 +1,100 @@ +{ + "type": "filament", + "name": "fdm_filament_pva", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "35" + ], + "eng_plate_temp" : [ + "0" + ], + "hot_plate_temp" : [ + "55" + ], + "textured_plate_temp" : [ + "55" + ], + "cool_plate_temp_initial_layer" : [ + "35" + ], + "eng_plate_temp_initial_layer" : [ + "0" + ], + "hot_plate_temp_initial_layer" : [ + "55" + ], + "textured_plate_temp_initial_layer" : [ + "55" + ], + "fan_cooling_layer_time": [ + "100" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_soluble": [ + "1" + ], + "filament_is_support": [ + "1" + ], + "filament_type": [ + "PVA" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "220" + ], + "temperature_vitrification": [ + "55" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "4" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}" + ] +} diff --git a/resources/profiles/BIQU/filament/fdm_filament_tpu.json b/resources/profiles/BIQU/filament/fdm_filament_tpu.json new file mode 100644 index 0000000000..df97b1ccf4 --- /dev/null +++ b/resources/profiles/BIQU/filament/fdm_filament_tpu.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_tpu", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "30" + ], + "eng_plate_temp" : [ + "30" + ], + "hot_plate_temp" : [ + "35" + ], + "textured_plate_temp" : [ + "35" + ], + "cool_plate_temp_initial_layer" : [ + "30" + ], + "eng_plate_temp_initial_layer" : [ + "30" + ], + "hot_plate_temp_initial_layer" : [ + "35" + ], + "textured_plate_temp_initial_layer" : [ + "35" + ], + "fan_cooling_layer_time": [ + "100" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_type": [ + "TPU" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "filament_retraction_length": [ + "0.4" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "240" + ], + "temperature_vitrification": [ + "35" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}" + ] +} diff --git a/resources/profiles/BIQU/machine/BIQU B1 (0.4 nozzle).json b/resources/profiles/BIQU/machine/BIQU B1 (0.4 nozzle).json new file mode 100644 index 0000000000..52653b3b8f --- /dev/null +++ b/resources/profiles/BIQU/machine/BIQU B1 (0.4 nozzle).json @@ -0,0 +1,86 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "BIQU B1 (0.4 nozzle)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_biqu_common", + "printer_model": "BIQU B1", + "default_print_profile": "0.20mm Standard @BIQU B1 (0.4 nozzle)", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "235x0", + "235x235", + "0x235" + ], + "printable_height": "270", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "deretraction_speed": [ + "70" +], +"gcode_flavor": "marlin", +"machine_max_acceleration_e": [ + "10000" +], +"machine_max_acceleration_extruding": [ + "1000" +], +"machine_max_acceleration_retracting": [ + "1000" +], +"machine_max_acceleration_x": [ + "1000" +], +"machine_max_acceleration_y": [ + "1000" +], +"machine_max_acceleration_z": [ + "100" +], +"machine_max_speed_e": [ + "60" +], +"machine_max_speed_x": [ + "500" +], +"machine_max_speed_y": [ + "500" +], +"machine_max_speed_z": [ + "10" +], +"machine_max_jerk_e": [ + "5" +], +"machine_max_jerk_x": [ + "10" +], +"machine_max_jerk_y": [ + "10" +], +"machine_max_jerk_z": [ + "0.3" +], +"max_layer_height": [ + "0.32" +], +"min_layer_height": [ + "0.10" +], +"printer_variant": "0.4", +"retraction_minimum_travel": [ + "1.5" +], +"retraction_length": [ + "7" +], +"retraction_speed": [ + "70" +], +"machine_start_gcode": "; BIQU B1 Start G-code\nM117 Getting the bed up to temp!\nM140 S{material_bed_temperature_layer_0}; Set Heat Bed temperature\nM190 S{material_bed_temperature_layer_0}; Wait for Heat Bed temperature\nM117 Getting the extruder up to temp!\nM104 S{material_print_temperature_layer_0}; Set Extruder temperature\nG92 E0; Reset Extruder\nM117 Homing axes\nG28; Home all axes\nM109 S{material_print_temperature_layer_0}; Wait for Extruder temperature\nG1 Z2.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X4.1 Y20 Z0.3 F5000.0; Move to start position\nM117 Purging\nG1 X4.1 Y200.0 Z0.3 F1500.0 E15; Draw the first line\nG1 X4.4 Y200.0 Z0.3 F5000.0; Move to side a little\nG1 X4.4 Y20 Z0.3 F1500.0 E30; Draw the second line\nG92 E0; Reset Extruder\nM117 Lets make\nG1 Z2.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.3 F5000.0; Move over to prevent blob squish", +"machine_end_gcode": ";BIQU B1 Default End Gcode\nG91;Relative positioning\nG1 E-2 F2700;Retract a bit\nG1 E-2 Z0.2 F2400;Retract a bit more and raise Z\nG1 X5 Y5 F3000;Wipe out\nG1 Z10;Raise Z by 10mm\nG90;Return to absolute positioning\nG1 X0 Y{machine_depth};\nM106 S0;Turn-off fan\nM104 S0;Turn-off hotend\nM140 S0;Turn-off bed\nM84 X Y E;Disable all steppers but Z" +} \ No newline at end of file diff --git a/resources/profiles/BIQU/machine/BIQU B1.json b/resources/profiles/BIQU/machine/BIQU B1.json new file mode 100644 index 0000000000..c9cfe75c98 --- /dev/null +++ b/resources/profiles/BIQU/machine/BIQU B1.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "BIQU B1", + "model_id": "B1", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "BIQU", + "bed_model": "biqu_b1_buildplate_model.stl", + "bed_texture": "biqu_b1_buildplate_texture.png", + "hotend_model": "biqu_b1_hotend.stl", + "default_materials": "BIQU Generic PLA;BIQU Generic PETG;BIQU Generic ABS" +} diff --git a/resources/profiles/BIQU/machine/BIQU BX (0.4 nozzle).json b/resources/profiles/BIQU/machine/BIQU BX (0.4 nozzle).json new file mode 100644 index 0000000000..29250444d1 --- /dev/null +++ b/resources/profiles/BIQU/machine/BIQU BX (0.4 nozzle).json @@ -0,0 +1,86 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "BIQU BX (0.4 nozzle)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_biqu_common", + "printer_model": "BIQU BX", + "default_print_profile": "0.20mm Standard @BIQU BX (0.4 nozzle)", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "250x0", + "250x250", + "0x250" + ], + "printable_height": "250", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "deretraction_speed": [ + "70" +], +"gcode_flavor": "marlin", +"machine_max_acceleration_e": [ + "10000" +], +"machine_max_acceleration_extruding": [ + "1000" +], +"machine_max_acceleration_retracting": [ + "1000" +], +"machine_max_acceleration_x": [ + "1000" +], +"machine_max_acceleration_y": [ + "1000" +], +"machine_max_acceleration_z": [ + "100" +], +"machine_max_speed_e": [ + "60" +], +"machine_max_speed_x": [ + "500" +], +"machine_max_speed_y": [ + "500" +], +"machine_max_speed_z": [ + "10" +], +"machine_max_jerk_e": [ + "5" +], +"machine_max_jerk_x": [ + "10" +], +"machine_max_jerk_y": [ + "10" +], +"machine_max_jerk_z": [ + "0.3" +], +"max_layer_height": [ + "0.32" +], +"min_layer_height": [ + "0.10" +], +"printer_variant": "0.4", +"retraction_minimum_travel": [ + "1.5" +], +"retraction_length": [ + "1" +], +"retraction_speed": [ + "40" +], +"machine_start_gcode": "; BIQU BX Start G-code\n;M117 Initial homing sequence; Home so that the probe is positioned to heat\nG28\nM117 Probe heating position\nG0 X65 Y5 Z1; Move the probe to the heating position.\nM117 Getting the heaters up to temp!\nM104 S140; Set Extruder temperature, no wait\nM140 S60; Set Heat Bed temperature\nM190 S60; Wait for Heat Bed temperature\nM117 Waiting for probe to warm; Wait another 90s for the probe to absorb heat.\nG4 S90\nM117 Post warming re-home\nG28; Home all axes again after warming\nM117 Z-Dance of my people\nG34\nM117 ABL Probing\nG29\nM900 K0 L0 T0;Edit the K and L values if you have calibrated a k factor for your filament\nM900 T0 S0\nG1 Z2.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X4.1 Y10 Z0.3 F5000.0; Move to start position\nM117 Getting the extruder up to temp\nM140 S{material_bed_temperature_layer_0}; Set Heat Bed temperature\nM104 S{material_print_temperature_layer_0}; Set Extruder temperature\nM109 S{material_print_temperature_layer_0}; Wait for Extruder temperature\nM190 S{material_bed_temperature_layer_0}; Wait for Heat Bed temperature\nG92 E0; Reset Extruder\nM117 Purging\nG1 X4.1 Y200.0 Z0.3 F1500.0 E15; Draw the first line\nG1 X4.4 Y200.0 Z0.3 F5000.0; Move to side a little\nG1 X4.4 Y20 Z0.3 F1500.0 E30; Draw the second line\nG92 E0; Reset Extruder\nM117 Lets make\nG1 X8 Y20 Z0.3 F5000.0; Move over to prevent blob squish", +"machine_end_gcode": "; BIQU BX Default End Gcode\nG91;Relative positioning\nG1 E-2 F2700;Retract a bit\nG1 E-2 Z0.2 F2400;Retract a bit more and raise Z\nG1 X5 Y5 F3000;Wipe out\nG1 Z10;Raise Z by 10mm\nG90;Return to absolute positioning\nG1 X0 Y{machine_depth};TaDaaaa\nM106 S0;Turn-off fan\nM104 S0;Turn-off hotend\nM140 S0;Turn-off bed\nM84 X Y E;Disable all steppers but Z" +} \ No newline at end of file diff --git a/resources/profiles/BIQU/machine/BIQU BX.json b/resources/profiles/BIQU/machine/BIQU BX.json new file mode 100644 index 0000000000..e0d6e3d470 --- /dev/null +++ b/resources/profiles/BIQU/machine/BIQU BX.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "BIQU BX", + "model_id": "BX", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "BIQU", + "bed_model": "biqu_bx_buildplate_model.stl", + "bed_texture": "biqu_bx_buildplate_texture.png", + "hotend_model": "biqu_bx_hotend.stl", + "default_materials": "BIQU Generic PLA;BIQU Generic PETG;BIQU Generic ABS" +} diff --git a/resources/profiles/BIQU/machine/BIQU Hurakan (0.4 nozzle).json b/resources/profiles/BIQU/machine/BIQU Hurakan (0.4 nozzle).json new file mode 100644 index 0000000000..85ffe772ce --- /dev/null +++ b/resources/profiles/BIQU/machine/BIQU Hurakan (0.4 nozzle).json @@ -0,0 +1,151 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "BIQU Hurakan (0.4 nozzle)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_klipper_common", + "printer_model": "BIQU Hurakan", + "default_print_profile": "0.20mm Standard @BIQU Hurakan (0.4 nozzle)", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "220x0", + "220x220", + "0x220" + ], + "printable_height": "270", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "machine_max_acceleration_e": [ + "10000", + "10000" + ], + "machine_max_acceleration_extruding": [ + "3000", + "3000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "3000", + "3000" + ], + "machine_max_acceleration_x": [ + "3000", + "3000" + ], + "machine_max_acceleration_y": [ + "3000", + "3000" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "60", + "60" + ], + "machine_max_speed_x": [ + "180", + "180" + ], + "machine_max_speed_y": [ + "180", + "180" + ], + "machine_max_speed_z": [ + "15", + "15" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "extruder_clearance_radius": "50", + "extruder_clearance_height_to_rod": "60", + "extruder_clearance_height_to_lid": "350", + "printer_settings_id": "", + "printer_technology": "FFF", + "printer_variant": "0.4", + "retraction_minimum_travel": [ + "1" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "4.5" + ], + "retract_length_toolchange": [ + "1" + ], + "z_hop": [ + "0" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retraction_speed": [ + "40" + ], + "deretraction_speed": [ + "40" + ], + "z_hop_types": "Normal Lift", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "change_filament_gcode": "", + "machine_pause_gcode": "PAUSE\n", + "wipe": [ + "1" + ], + "default_filament_profile": [ + "BIQU Generic PLA" + ], + "bed_exclude_area": [ + "0x0" + ], + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\n", + "machine_end_gcode": "END_PRINT", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "scan_first_layer": "0" +} diff --git a/resources/profiles/BIQU/machine/BIQU Hurakan.json b/resources/profiles/BIQU/machine/BIQU Hurakan.json new file mode 100644 index 0000000000..ab3e2c804e --- /dev/null +++ b/resources/profiles/BIQU/machine/BIQU Hurakan.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "BIQU Hurakan", + "model_id": "Hurakan", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "BIQU", + "bed_model": "biqu_hurakan_buildplate_model.stl", + "bed_texture": "biqu_hurakan_buildplate_texture.png", + "hotend_model": "biqu_hurakan_hotend.stl", + "default_materials": "BIQU Generic PLA;BIQU Generic PETG;BIQU Generic ABS" +} diff --git a/resources/profiles/BIQU/machine/fdm_biqu_common.json b/resources/profiles/BIQU/machine/fdm_biqu_common.json new file mode 100644 index 0000000000..5da04e99c1 --- /dev/null +++ b/resources/profiles/BIQU/machine/fdm_biqu_common.json @@ -0,0 +1,138 @@ +{ + "type": "machine", + "name": "fdm_biqu_common", + "from": "system", + "instantiation": "false", + "inherits": "fdm_machine_common", + "gcode_flavor": "marlin", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "500", + "500" + ], + "machine_max_acceleration_retracting": [ + "1000", + "1000" + ], + "machine_max_acceleration_travel": [ + "500", + "500" + ], + "machine_max_acceleration_x": [ + "3000", + "3000" + ], + "machine_max_acceleration_y": [ + "3000", + "3000" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "60", + "60" + ], + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "10", + "10" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.08" + ], + "printable_height": "250", + "extruder_clearance_radius": "47", + "extruder_clearance_height_to_rod": "34", + "extruder_clearance_height_to_lid": "34", + "printer_settings_id": "", + "printer_technology": "FFF", + "printer_variant": "0.4", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "5" + ], + "retract_length_toolchange": [ + "2" + ], + "z_hop": [ + "0.4" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retraction_speed": [ + "60" + ], + "deretraction_speed": [ + "40" + ], + "silent_mode": "0", + "single_extruder_multi_material": "1", + "change_filament_gcode": "", + "machine_pause_gcode": "M25 ;pause print", + "wipe": [ + "1" + ], + "default_filament_profile": [ + "BIQU Generic PLA" + ], + "bed_exclude_area": [ + "0x0" + ], + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", + "layer_change_gcode": "", + "scan_first_layer": "0", + "nozzle_type": "undefine", + "auxiliary_fan": "0" +} diff --git a/resources/profiles/BIQU/machine/fdm_klipper_common.json b/resources/profiles/BIQU/machine/fdm_klipper_common.json new file mode 100644 index 0000000000..c5a8e969f5 --- /dev/null +++ b/resources/profiles/BIQU/machine/fdm_klipper_common.json @@ -0,0 +1,140 @@ +{ + "type": "machine", + "name": "fdm_klipper_common", + "from": "system", + "instantiation": "false", + "inherits": "fdm_machine_common", + "gcode_flavor": "klipper", + "use_firmware_retraction": "0", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "500", + "500" + ], + "machine_max_acceleration_retracting": [ + "1000", + "1000" + ], + "machine_max_acceleration_travel": [ + "1500", + "1250" + ], + "machine_max_acceleration_x": [ + "500", + "500" + ], + "machine_max_acceleration_y": [ + "500", + "500" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "60", + "60" + ], + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "10", + "10" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "extruder_clearance_radius": "50", + "extruder_clearance_height_to_rod": "60", + "extruder_clearance_height_to_lid": "350", + "printer_settings_id": "", + "printer_technology": "FFF", + "printer_variant": "0.4", + "retraction_minimum_travel": [ + "1" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "5" + ], + "retract_length_toolchange": [ + "1" + ], + "z_hop": [ + "0" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retraction_speed": [ + "60" + ], + "deretraction_speed": [ + "40" + ], + "z_hop_types": "Normal Lift", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "change_filament_gcode": "", + "machine_pause_gcode": "PAUSE\n", + "wipe": [ + "1" + ], + "default_filament_profile": [ + "BIQU Generic PLA" + ], + "bed_exclude_area": [ + "0x0" + ], + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\n", + "machine_end_gcode": "END_PRINT", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "scan_first_layer": "0", + "nozzle_type": "undefine", + "auxiliary_fan": "0" +} diff --git a/resources/profiles/BIQU/machine/fdm_machine_common.json b/resources/profiles/BIQU/machine/fdm_machine_common.json new file mode 100644 index 0000000000..a31cfc8144 --- /dev/null +++ b/resources/profiles/BIQU/machine/fdm_machine_common.json @@ -0,0 +1,116 @@ +{ + "type": "machine", + "name": "fdm_machine_common", + "from": "system", + "instantiation": "false", + "printer_technology": "FFF", + "deretraction_speed": [ + "40" + ], + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "gcode_flavor": "marlin", + "silent_mode": "0", + "machine_max_acceleration_e": [ + "5000" + ], + "machine_max_acceleration_extruding": [ + "10000" + ], + "machine_max_acceleration_retracting": [ + "1000" + ], + "machine_max_acceleration_x": [ + "10000" + ], + "machine_max_acceleration_y": [ + "10000" + ], + "machine_max_acceleration_z": [ + "100" + ], + "machine_max_speed_e": [ + "60" + ], + "machine_max_speed_x": [ + "500" + ], + "machine_max_speed_y": [ + "500" + ], + "machine_max_speed_z": [ + "10" + ], + "machine_max_jerk_e": [ + "5" + ], + "machine_max_jerk_x": [ + "8" + ], + "machine_max_jerk_y": [ + "8" + ], + "machine_max_jerk_z": [ + "0.4" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "printable_height": "250", + "extruder_clearance_radius": "65", + "extruder_clearance_height_to_rod": "36", + "extruder_clearance_height_to_lid": "140", + "nozzle_diameter": [ + "0.4" + ], + "printer_settings_id": "", + "printer_variant": "0.4", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "5" + ], + "retract_length_toolchange": [ + "1" + ], + "z_hop": [ + "0" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retraction_speed": [ + "60" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "wipe": [ + "1" + ], + "z_lift_type": "NormalLift", + "machine_start_gcode": "G0 Z20 F9000\nG92 E0; G1 E-10 F1200\nG28\nM970 Q1 A10 B10 C130 K0\nM970 Q1 A10 B131 C250 K1\nM974 Q1 S1 P0\nM970 Q0 A10 B10 C130 H20 K0\nM970 Q0 A10 B131 C250 K1\nM974 Q0 S1 P0\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nG29 ;Home\nG90;\nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S205;\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder \nG1 X110 Y110 Z2.0 F3000 ;Move Z Axis up", + "machine_end_gcode": "M400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-4.0 F3600; retract \nG91\nG1 Z3;\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nG90 \nG0 X110 Y200 F3600 \nprint_end" +} diff --git a/resources/profiles/BIQU/process/0.12mm Fine @BIQU B1 (0.4 nozzle).json b/resources/profiles/BIQU/process/0.12mm Fine @BIQU B1 (0.4 nozzle).json new file mode 100644 index 0000000000..178300d7b0 --- /dev/null +++ b/resources/profiles/BIQU/process/0.12mm Fine @BIQU B1 (0.4 nozzle).json @@ -0,0 +1,14 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @BIQU B1 (0.4 nozzle)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_biqu_common", + "layer_height": "0.12", + "bottom_shell_layers": "5", + "top_shell_layers": "6", + "compatible_printers": [ + "BIQU B1 (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/process/0.12mm Fine @BIQU BX (0.4 nozzle).json b/resources/profiles/BIQU/process/0.12mm Fine @BIQU BX (0.4 nozzle).json new file mode 100644 index 0000000000..eee743dabb --- /dev/null +++ b/resources/profiles/BIQU/process/0.12mm Fine @BIQU BX (0.4 nozzle).json @@ -0,0 +1,14 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @BIQU BX (0.4 nozzle)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_biqu_common", + "layer_height": "0.12", + "bottom_shell_layers": "5", + "top_shell_layers": "6", + "compatible_printers": [ + "BIQU BX (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/process/0.12mm Fine @BIQU Hurakan (0.4 nozzle).json b/resources/profiles/BIQU/process/0.12mm Fine @BIQU Hurakan (0.4 nozzle).json new file mode 100644 index 0000000000..ed3e38fd51 --- /dev/null +++ b/resources/profiles/BIQU/process/0.12mm Fine @BIQU Hurakan (0.4 nozzle).json @@ -0,0 +1,14 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @BIQU Hurakan (0.4 nozzle)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_biqu_common", + "layer_height": "0.12", + "bottom_shell_layers": "5", + "top_shell_layers": "6", + "compatible_printers": [ + "BIQU Hurakan (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/process/0.15mm Optimal @BIQU B1 (0.4 nozzle).json b/resources/profiles/BIQU/process/0.15mm Optimal @BIQU B1 (0.4 nozzle).json new file mode 100644 index 0000000000..467cd93327 --- /dev/null +++ b/resources/profiles/BIQU/process/0.15mm Optimal @BIQU B1 (0.4 nozzle).json @@ -0,0 +1,14 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Optimal @BIQU B1 (0.4 nozzle)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_biqu_common", + "bottom_shell_layers": "4", + "top_shell_layers": "5", + "layer_height": "0.15", + "compatible_printers": [ + "BIQU B1 (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/process/0.15mm Optimal @BIQU BX (0.4 nozzle).json b/resources/profiles/BIQU/process/0.15mm Optimal @BIQU BX (0.4 nozzle).json new file mode 100644 index 0000000000..3333991bc8 --- /dev/null +++ b/resources/profiles/BIQU/process/0.15mm Optimal @BIQU BX (0.4 nozzle).json @@ -0,0 +1,14 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Optimal @BIQU BX (0.4 nozzle)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_biqu_common", + "bottom_shell_layers": "4", + "top_shell_layers": "5", + "layer_height": "0.15", + "compatible_printers": [ + "BIQU BX (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/process/0.15mm Optimal @BIQU Hurakan (0.4 nozzle).json b/resources/profiles/BIQU/process/0.15mm Optimal @BIQU Hurakan (0.4 nozzle).json new file mode 100644 index 0000000000..4ad9fde878 --- /dev/null +++ b/resources/profiles/BIQU/process/0.15mm Optimal @BIQU Hurakan (0.4 nozzle).json @@ -0,0 +1,14 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Optimal @BIQU Hurakan (0.4 nozzle)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_hurakan_common", + "bottom_shell_layers": "4", + "top_shell_layers": "5", + "layer_height": "0.15", + "compatible_printers": [ + "BIQU Hurakan (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/process/0.20mm Standard @BIQU B1 (0.4 nozzle).json b/resources/profiles/BIQU/process/0.20mm Standard @BIQU B1 (0.4 nozzle).json new file mode 100644 index 0000000000..c541cacaa3 --- /dev/null +++ b/resources/profiles/BIQU/process/0.20mm Standard @BIQU B1 (0.4 nozzle).json @@ -0,0 +1,14 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @BIQU B1 (0.4 nozzle)", + "from": "system", + "inherits": "fdm_process_biqu_common", + "instantiation": "true", + "layer_height": "0.2", + "bottom_shell_layers": "3", + "top_shell_layers": "4", + "compatible_printers": [ + "BIQU B1 (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/process/0.20mm Standard @BIQU BX (0.4 nozzle).json b/resources/profiles/BIQU/process/0.20mm Standard @BIQU BX (0.4 nozzle).json new file mode 100644 index 0000000000..a7e03f2d2b --- /dev/null +++ b/resources/profiles/BIQU/process/0.20mm Standard @BIQU BX (0.4 nozzle).json @@ -0,0 +1,14 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @BIQU BX (0.4 nozzle)", + "from": "system", + "inherits": "fdm_process_biqu_common", + "instantiation": "true", + "layer_height": "0.2", + "bottom_shell_layers": "3", + "top_shell_layers": "4", + "compatible_printers": [ + "BIQU BX (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/process/0.20mm Standard @BIQU Hurakan (0.4 nozzle).json b/resources/profiles/BIQU/process/0.20mm Standard @BIQU Hurakan (0.4 nozzle).json new file mode 100644 index 0000000000..36d1224e79 --- /dev/null +++ b/resources/profiles/BIQU/process/0.20mm Standard @BIQU Hurakan (0.4 nozzle).json @@ -0,0 +1,14 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @BIQU Hurakan (0.4 nozzle)", + "from": "system", + "inherits": "fdm_process_hurakan_common", + "instantiation": "true", + "layer_height": "0.2", + "bottom_shell_layers": "3", + "top_shell_layers": "4", + "compatible_printers": [ + "BIQU Hurakan (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/process/0.24mm Draft @BIQU B1 (0.4 nozzle).json b/resources/profiles/BIQU/process/0.24mm Draft @BIQU B1 (0.4 nozzle).json new file mode 100644 index 0000000000..7939b37b88 --- /dev/null +++ b/resources/profiles/BIQU/process/0.24mm Draft @BIQU B1 (0.4 nozzle).json @@ -0,0 +1,15 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @BIQU B1 (0.4 nozzle)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_biqu_common", + "layer_height": "0.24", + "top_surface_line_width": "0.45", + "bottom_shell_layers": "3", + "top_shell_layers": "4", + "compatible_printers": [ + "BIQU B1 (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/process/0.24mm Draft @BIQU BX (0.4 nozzle).json b/resources/profiles/BIQU/process/0.24mm Draft @BIQU BX (0.4 nozzle).json new file mode 100644 index 0000000000..1241d93357 --- /dev/null +++ b/resources/profiles/BIQU/process/0.24mm Draft @BIQU BX (0.4 nozzle).json @@ -0,0 +1,15 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @BIQU BX (0.4 nozzle)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_biqu_common", + "layer_height": "0.24", + "top_surface_line_width": "0.45", + "bottom_shell_layers": "3", + "top_shell_layers": "4", + "compatible_printers": [ + "BIQU BX (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/process/0.24mm Draft @BIQU Hurakan (0.4 nozzle).json b/resources/profiles/BIQU/process/0.24mm Draft @BIQU Hurakan (0.4 nozzle).json new file mode 100644 index 0000000000..e9ac5c635a --- /dev/null +++ b/resources/profiles/BIQU/process/0.24mm Draft @BIQU Hurakan (0.4 nozzle).json @@ -0,0 +1,15 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @BIQU Hurakan (0.4 nozzle)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_hurakan_common", + "layer_height": "0.24", + "top_surface_line_width": "0.45", + "bottom_shell_layers": "3", + "top_shell_layers": "4", + "compatible_printers": [ + "BIQU Hurakan (0.4 nozzle)" + ] +} diff --git a/resources/profiles/BIQU/process/fdm_process_biqu_common.json b/resources/profiles/BIQU/process/fdm_process_biqu_common.json new file mode 100644 index 0000000000..7fef4b7f6a --- /dev/null +++ b/resources/profiles/BIQU/process/fdm_process_biqu_common.json @@ -0,0 +1,104 @@ +{ + "type": "process", + "name": "fdm_process_biqu_common", + "from": "system", + "instantiation": "false", + "inherits": "fdm_process_common", + "adaptive_layer_height": "0", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "500", + "top_surface_acceleration": "500", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "500", + "travel_acceleration": "700", + "inner_wall_acceleration": "500", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "layer_height": "0.2", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "1", + "minimum_sparse_infill_area": "15", + "internal_solid_infill_line_width": "0.4", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "150", + "support_threshold_angle": "30", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "initial_layer_speed": "15", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "35", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0" +} diff --git a/resources/profiles/BIQU/process/fdm_process_common.json b/resources/profiles/BIQU/process/fdm_process_common.json new file mode 100644 index 0000000000..7398bcd481 --- /dev/null +++ b/resources/profiles/BIQU/process/fdm_process_common.json @@ -0,0 +1,70 @@ +{ + "type": "process", + "name": "fdm_process_common", + "from": "system", + "instantiation": "false", + "adaptive_layer_height": "0", + "reduce_crossing_wall": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "5", + "compatible_printers": [], + "print_sequence": "by layer", + "default_acceleration": "10000", + "bridge_no_support": "0", + "elefant_foot_compensation": "0.1", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "120", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "20", + "gap_infill_speed": "30", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "sparse_infill_speed": "50", + "interface_shells": "0", + "detect_overhang_wall": "0", + "reduce_infill_retraction": "0", + "filename_format": "{input_filename_base}.gcode", + "wall_loops": "3", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "40", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "nearest", + "skirt_distance": "2", + "skirt_height": "2", + "minimum_sparse_infill_area": "0", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_speed": "40", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "support_filament": "0", + "support_line_width": "0.42", + "support_interface_filament": "0", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.15", + "support_interface_loop_pattern": "0", + "support_interface_top_layers": "2", + "support_interface_spacing": "0", + "support_interface_speed": "80", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "40", + "support_object_xy_distance": "0.5", + "detect_thin_wall": "0", + "top_surface_line_width": "0.4", + "top_surface_speed": "30", + "travel_speed": "400", + "enable_prime_tower": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0" +} diff --git a/resources/profiles/BIQU/process/fdm_process_hurakan_common.json b/resources/profiles/BIQU/process/fdm_process_hurakan_common.json new file mode 100644 index 0000000000..e1bf276aa6 --- /dev/null +++ b/resources/profiles/BIQU/process/fdm_process_hurakan_common.json @@ -0,0 +1,104 @@ +{ + "type": "process", + "name": "fdm_process_hurakan_common", + "from": "system", + "instantiation": "false", + "inherits": "fdm_process_biqu_common", + "adaptive_layer_height": "0", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "500", + "top_surface_acceleration": "500", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "500", + "travel_acceleration": "700", + "inner_wall_acceleration": "500", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "layer_height": "0.2", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "1", + "minimum_sparse_infill_area": "15", + "internal_solid_infill_line_width": "0.4", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "150", + "support_threshold_angle": "30", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "initial_layer_speed": "15", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "35", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0" +} diff --git a/resources/profiles/Creality/machine/Creality CR-10 V2 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality CR-10 V2 0.4 nozzle.json index 179f3f48d7..ded563e91b 100644 --- a/resources/profiles/Creality/machine/Creality CR-10 V2 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-10 V2 0.4 nozzle.json @@ -103,7 +103,7 @@ "default_filament_profile": [ "Creality Generic PLA" ], - "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[nozzle_temperature_initial_layer] ; set extruder temp\nM140 S[hot_plate_temp_initial_layer] ; set bed temp\nM190 S[hot_plate_temp_initial_layer] ; wait for bed temp\nM109 S[nozzle_temperature_initial_layer] ; wait for extruder temp\nG28 ; home all\nG1 Z2 F240\nG1 X2 Y10 F3000\nG1 Z0.28 F240\nG92 E0\nG1 Y190 E15 F1500 ; intro line\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E15 F1200 ; intro line\nG92 E0", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[nozzle_temperature_initial_layer] ; set extruder temp\nM140 S[bed_temperature_initial_layer_single] ; set bed temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp\nM109 S[nozzle_temperature_initial_layer] ; wait for extruder temp\nG28 ; home all\nG1 Z2 F240\nG1 X2 Y10 F3000\nG1 Z0.28 F240\nG92 E0\nG1 Y190 E15 F1500 ; intro line\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E15 F1200 ; intro line\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600{endif} ; Move print head up\nG1 X5 Y170 F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600{endif} ; Move print head further up\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", "scan_first_layer": "0" } \ No newline at end of file diff --git a/resources/profiles/Creality/machine/Creality Ender-3 S1 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 S1 0.4 nozzle.json index a9bb5c1e61..783367e78f 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 S1 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 S1 0.4 nozzle.json @@ -103,7 +103,7 @@ "default_filament_profile": [ "Creality Generic PLA" ], - "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S{hot_plate_temp_initial_layer} ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S{nozzle_temperature_initial_layer} ; set final nozzle temp\nM190 S{hot_plate_temp_initial_layer} ; wait for bed temp to stabilize\nM109 S{nozzle_temperature_initial_layer} ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", "scan_first_layer": "0" } \ No newline at end of file diff --git a/resources/profiles/Creality/machine/Creality Ender-3 S1 Pro 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 S1 Pro 0.4 nozzle.json index ac46154131..dedb887c0c 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 S1 Pro 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 S1 Pro 0.4 nozzle.json @@ -106,7 +106,7 @@ "default_filament_profile": [ "Creality Generic PLA" ], - "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nM140 S{hot_plate_temp_initial_layer} ; set final bed temp\nG4 S30 ; allow partial nozzle warmup\nG28 ; home all axis and restore leveling\nG1 Z50 F240\nG1 X2.0 Y10 F3000\nM104 S{nozzle_temperature_initial_layer} ; set final nozzle temp\nM190 S{hot_plate_temp_initial_layer} ; wait for bed temp to stabilize\nM109 S{nozzle_temperature_initial_layer} ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 X2.0 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 Y140 F5000\nG92 E0\nG1 X2.3 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S30 ; allow partial nozzle warmup\nG28 ; home all axis and restore leveling\nG1 Z50 F240\nG1 X2.0 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 X2.0 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 Y140 F5000\nG92 E0\nG1 X2.3 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", "scan_first_layer": "0" } \ No newline at end of file diff --git a/resources/profiles/Creality/machine/Creality Ender-5 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-5 0.4 nozzle.json index a44b8558a9..6fee3b5fc7 100644 --- a/resources/profiles/Creality/machine/Creality Ender-5 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-5 0.4 nozzle.json @@ -103,7 +103,7 @@ "default_filament_profile": [ "Creality Generic PLA" ], - "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S{hot_plate_temp_initial_layer} ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S{nozzle_temperature_initial_layer} ; set final nozzle temp\nM190 S{hot_plate_temp_initial_layer} ; wait for bed temp to stabilize\nM109 S{nozzle_temperature_initial_layer} ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", "scan_first_layer": "0" } \ No newline at end of file diff --git a/resources/profiles/Creality/machine/Creality Ender-5 Plus 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-5 Plus 0.4 nozzle.json index 0498c6cacd..3aae05417b 100644 --- a/resources/profiles/Creality/machine/Creality Ender-5 Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-5 Plus 0.4 nozzle.json @@ -106,7 +106,7 @@ "default_filament_profile": [ "Creality Generic PLA" ], - "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S{hot_plate_temp_initial_layer} ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S{nozzle_temperature_initial_layer} ; set final nozzle temp\nM190 S{hot_plate_temp_initial_layer} ; wait for bed temp to stabilize\nM109 S{nozzle_temperature_initial_layer} ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600{endif} ; Move print bed down\nG1 X50 Y50 F{travel_speed*60} ; move print head out of the way\n{if max_layer_z < printable_height-10}G1 Z{z_offset+ printable_height-10} F600{endif} ; Move print bed close to the bottom\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", "scan_first_layer": "0" } \ No newline at end of file diff --git a/resources/profiles/Creality/machine/Creality Ender-5 S1 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-5 S1 0.4 nozzle.json index e6771a1033..53cb64d9a8 100644 --- a/resources/profiles/Creality/machine/Creality Ender-5 S1 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-5 S1 0.4 nozzle.json @@ -103,7 +103,7 @@ "default_filament_profile": [ "Creality Generic PLA" ], - "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nM140 S{hot_plate_temp_initial_layer} ; set final bed temp\nG4 S30 ; allow partial nozzle warmup\nG28 ; home all axis and restore leveling\nG1 Z50 F240\nG1 X2.0 Y10 F3000\nM104 S{nozzle_temperature_initial_layer} ; set final nozzle temp\nM190 S{hot_plate_temp_initial_layer} ; wait for bed temp to stabilize\nM109 S{nozzle_temperature_initial_layer} ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 X2.0 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 Y140 F5000\nG92 E0\nG1 X2.3 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S30 ; allow partial nozzle warmup\nG28 ; home all axis and restore leveling\nG1 Z50 F240\nG1 X2.0 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 X2.0 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 Y140 F5000\nG92 E0\nG1 X2.3 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", "scan_first_layer": "0" } \ No newline at end of file diff --git a/resources/profiles/Creality/machine/Creality Ender-5S 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-5S 0.4 nozzle.json index 43f09722cc..3cbd1dc416 100644 --- a/resources/profiles/Creality/machine/Creality Ender-5S 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-5S 0.4 nozzle.json @@ -103,7 +103,7 @@ "default_filament_profile": [ "Creality Generic PLA" ], - "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S{hot_plate_temp_initial_layer} ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S{nozzle_temperature_initial_layer} ; set final nozzle temp\nM190 S{hot_plate_temp_initial_layer} ; wait for bed temp to stabilize\nM109 S{nozzle_temperature_initial_layer} ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", "scan_first_layer": "0" } \ No newline at end of file diff --git a/resources/profiles/Creality/machine/Creality Ender-6 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-6 0.4 nozzle.json index cef1f18dec..727a286d2e 100644 --- a/resources/profiles/Creality/machine/Creality Ender-6 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-6 0.4 nozzle.json @@ -103,7 +103,7 @@ "default_filament_profile": [ "Creality Generic PLA" ], - "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S{hot_plate_temp_initial_layer} ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S{nozzle_temperature_initial_layer} ; set final nozzle temp\nM190 S{hot_plate_temp_initial_layer} ; wait for bed temp to stabilize\nM109 S{nozzle_temperature_initial_layer} ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600{endif} ; Move print bed down\nG1 X50 Y50 F{travel_speed*60} ; move print head out of the way\n{if max_layer_z < printable_height-10}G1 Z{z_offset+ printable_height-10} F600{endif} ; Move print bed close to the bottom\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", "scan_first_layer": "0" } \ No newline at end of file diff --git a/resources/profiles/Custom/process/0.28mm Extra Draft @MyKlipper.json b/resources/profiles/Custom/process/0.28mm Extra Draft @MyKlipper.json index 580378ec46..7a1b4faff1 100644 --- a/resources/profiles/Custom/process/0.28mm Extra Draft @MyKlipper.json +++ b/resources/profiles/Custom/process/0.28mm Extra Draft @MyKlipper.json @@ -4,7 +4,7 @@ "name": "0.28mm Extra Draft @MyKlipper", "from": "system", "instantiation": "true", - "inherits": "fdm_process_marlin_common", + "inherits": "fdm_process_klipper_common", "layer_height": "0.28", "top_surface_line_width": "0.45", "bottom_shell_layers": "3", diff --git a/resources/profiles/Elegoo.json b/resources/profiles/Elegoo.json index 544d82f629..152e89f35c 100644 --- a/resources/profiles/Elegoo.json +++ b/resources/profiles/Elegoo.json @@ -1,10 +1,30 @@ { "name": "Elegoo", - "version": "01.00.00.03", + "version": "01.01.00.00", "force_update": "0", "description": "Elegoo configurations", "machine_model_list": [ { + "name": "Elegoo Neptune", + "sub_path": "machine/Elegoo Neptune.json" + }, + { + "name": "Elegoo Neptune X", + "sub_path": "machine/Elegoo Neptune X.json" + }, + { + "name": "Elegoo Neptune 2", + "sub_path": "machine/Elegoo Neptune 2.json" + }, + { + "name": "Elegoo Neptune 2S", + "sub_path": "machine/Elegoo Neptune 2S.json" + }, + { + "name": "Elegoo Neptune 2D", + "sub_path": "machine/Elegoo Neptune 2D.json" + }, + { "name": "Elegoo Neptune 3", "sub_path": "machine/Elegoo Neptune 3.json" }, @@ -29,6 +49,26 @@ { "name": "fdm_process_elegoo_common", "sub_path": "process/fdm_process_elegoo_common.json" + }, + { + "name": "0.08mm Extra Fine @Elegoo Neptune", + "sub_path": "process/0.08mm Extra Fine @Elegoo Neptune.json" + }, + { + "name": "0.08mm Extra Fine @Elegoo NeptuneX", + "sub_path": "process/0.08mm Extra Fine @Elegoo NeptuneX.json" + }, + { + "name": "0.08mm Extra Fine @Elegoo Neptune2", + "sub_path": "process/0.08mm Extra Fine @Elegoo Neptune2.json" + }, + { + "name": "0.08mm Extra Fine @Elegoo Neptune2S", + "sub_path": "process/0.08mm Extra Fine @Elegoo Neptune2S.json" + }, + { + "name": "0.08mm Extra Fine @Elegoo Neptune2D", + "sub_path": "process/0.08mm Extra Fine @Elegoo Neptune2D.json" }, { "name": "0.08mm Extra Fine @Elegoo Neptune3", @@ -45,6 +85,26 @@ { "name": "0.08mm Extra Fine @Elegoo Neptune3Max", "sub_path": "process/0.08mm Extra Fine @Elegoo Neptune3Max.json" + }, + { + "name": "0.12mm Fine @Elegoo Neptune", + "sub_path": "process/0.12mm Fine @Elegoo Neptune.json" + }, + { + "name": "0.12mm Fine @Elegoo NeptuneX", + "sub_path": "process/0.12mm Fine @Elegoo NeptuneX.json" + }, + { + "name": "0.12mm Fine @Elegoo Neptune2", + "sub_path": "process/0.12mm Fine @Elegoo Neptune2.json" + }, + { + "name": "0.12mm Fine @Elegoo Neptune2S", + "sub_path": "process/0.12mm Fine @Elegoo Neptune2S.json" + }, + { + "name": "0.12mm Fine @Elegoo Neptune2D", + "sub_path": "process/0.12mm Fine @Elegoo Neptune2D.json" }, { "name": "0.12mm Fine @Elegoo Neptune3", @@ -61,6 +121,26 @@ { "name": "0.12mm Fine @Elegoo Neptune3Max", "sub_path": "process/0.12mm Fine @Elegoo Neptune3Max.json" + }, + { + "name": "0.16mm Optimal @Elegoo Neptune", + "sub_path": "process/0.16mm Optimal @Elegoo Neptune.json" + }, + { + "name": "0.16mm Optimal @Elegoo NeptuneX", + "sub_path": "process/0.16mm Optimal @Elegoo NeptuneX.json" + }, + { + "name": "0.16mm Optimal @Elegoo Neptune2", + "sub_path": "process/0.16mm Optimal @Elegoo Neptune2.json" + }, + { + "name": "0.16mm Optimal @Elegoo Neptune2S", + "sub_path": "process/0.16mm Optimal @Elegoo Neptune2S.json" + }, + { + "name": "0.16mm Optimal @Elegoo Neptune2D", + "sub_path": "process/0.16mm Optimal @Elegoo Neptune2D.json" }, { "name": "0.16mm Optimal @Elegoo Neptune3", @@ -77,6 +157,26 @@ { "name": "0.16mm Optimal @Elegoo Neptune3Max", "sub_path": "process/0.16mm Optimal @Elegoo Neptune3Max.json" + }, + { + "name": "0.20mm Standard @Elegoo Neptune", + "sub_path": "process/0.20mm Standard @Elegoo Neptune.json" + }, + { + "name": "0.20mm Standard @Elegoo NeptuneX", + "sub_path": "process/0.20mm Standard @Elegoo NeptuneX.json" + }, + { + "name": "0.20mm Standard @Elegoo Neptune2", + "sub_path": "process/0.20mm Standard @Elegoo Neptune2.json" + }, + { + "name": "0.20mm Standard @Elegoo Neptune2S", + "sub_path": "process/0.20mm Standard @Elegoo Neptune2S.json" + }, + { + "name": "0.20mm Standard @Elegoo Neptune2D", + "sub_path": "process/0.20mm Standard @Elegoo Neptune2D.json" }, { "name": "0.20mm Standard @Elegoo Neptune3", @@ -93,6 +193,26 @@ { "name": "0.20mm Standard @Elegoo Neptune3Max", "sub_path": "process/0.20mm Standard @Elegoo Neptune3Max.json" + }, + { + "name": "0.24mm Draft @Elegoo Neptune", + "sub_path": "process/0.24mm Draft @Elegoo Neptune.json" + }, + { + "name": "0.24mm Draft @Elegoo NeptuneX", + "sub_path": "process/0.24mm Draft @Elegoo NeptuneX.json" + }, + { + "name": "0.24mm Draft @Elegoo Neptune2", + "sub_path": "process/0.24mm Draft @Elegoo Neptune2.json" + }, + { + "name": "0.24mm Draft @Elegoo Neptune2S", + "sub_path": "process/0.24mm Draft @Elegoo Neptune2S.json" + }, + { + "name": "0.24mm Draft @Elegoo Neptune2D", + "sub_path": "process/0.24mm Draft @Elegoo Neptune2D.json" }, { "name": "0.24mm Draft @Elegoo Neptune3", @@ -109,6 +229,26 @@ { "name": "0.24mm Draft @Elegoo Neptune3Max", "sub_path": "process/0.24mm Draft @Elegoo Neptune3Max.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo Neptune", + "sub_path": "process/0.28mm Extra Draft @Elegoo Neptune.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo NeptuneX", + "sub_path": "process/0.28mm Extra Draft @Elegoo NeptuneX.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo Neptune2", + "sub_path": "process/0.28mm Extra Draft @Elegoo Neptune2.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo Neptune2S", + "sub_path": "process/0.28mm Extra Draft @Elegoo Neptune2S.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo Neptune2D", + "sub_path": "process/0.28mm Extra Draft @Elegoo Neptune2D.json" }, { "name": "0.28mm Extra Draft @Elegoo Neptune3", @@ -165,6 +305,26 @@ { "name": "fdm_elegoo_common", "sub_path": "machine/fdm_elegoo_common.json" + }, + { + "name": "Elegoo Neptune 0.4 nozzle", + "sub_path": "machine/Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune X 0.4 nozzle", + "sub_path": "machine/Elegoo Neptune X 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 2 0.4 nozzle", + "sub_path": "machine/Elegoo Neptune 2 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 2S 0.4 nozzle", + "sub_path": "machine/Elegoo Neptune 2S 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 2D 0.4 nozzle", + "sub_path": "machine/Elegoo Neptune 2D 0.4 nozzle.json" }, { "name": "Elegoo Neptune 3 0.4 nozzle", diff --git a/resources/profiles/Elegoo/Elegoo Neptune 2D_cover.png b/resources/profiles/Elegoo/Elegoo Neptune 2D_cover.png new file mode 100644 index 0000000000..f2a6731825 Binary files /dev/null and b/resources/profiles/Elegoo/Elegoo Neptune 2D_cover.png differ diff --git a/resources/profiles/Elegoo/Elegoo Neptune 2S_cover.png b/resources/profiles/Elegoo/Elegoo Neptune 2S_cover.png new file mode 100644 index 0000000000..a6d1a95303 Binary files /dev/null and b/resources/profiles/Elegoo/Elegoo Neptune 2S_cover.png differ diff --git a/resources/profiles/Elegoo/Elegoo Neptune 2_cover.png b/resources/profiles/Elegoo/Elegoo Neptune 2_cover.png new file mode 100644 index 0000000000..5f7863e1a0 Binary files /dev/null and b/resources/profiles/Elegoo/Elegoo Neptune 2_cover.png differ diff --git a/resources/profiles/Elegoo/Elegoo Neptune X_cover.png b/resources/profiles/Elegoo/Elegoo Neptune X_cover.png new file mode 100644 index 0000000000..91f8e77525 Binary files /dev/null and b/resources/profiles/Elegoo/Elegoo Neptune X_cover.png differ diff --git a/resources/profiles/Elegoo/Elegoo Neptune_cover.png b/resources/profiles/Elegoo/Elegoo Neptune_cover.png new file mode 100644 index 0000000000..62b854c2d4 Binary files /dev/null and b/resources/profiles/Elegoo/Elegoo Neptune_cover.png differ diff --git a/resources/profiles/Elegoo/elegoo_neptune2_buildplate_model.stl b/resources/profiles/Elegoo/elegoo_neptune2_buildplate_model.stl new file mode 100644 index 0000000000..a3837d2b59 Binary files /dev/null and b/resources/profiles/Elegoo/elegoo_neptune2_buildplate_model.stl differ diff --git a/resources/profiles/Elegoo/elegoo_neptune2_buildplate_texture.png b/resources/profiles/Elegoo/elegoo_neptune2_buildplate_texture.png new file mode 100644 index 0000000000..68fcb729c6 Binary files /dev/null and b/resources/profiles/Elegoo/elegoo_neptune2_buildplate_texture.png differ diff --git a/resources/profiles/Elegoo/elegoo_neptune2d_buildplate_model.stl b/resources/profiles/Elegoo/elegoo_neptune2d_buildplate_model.stl new file mode 100644 index 0000000000..a3837d2b59 Binary files /dev/null and b/resources/profiles/Elegoo/elegoo_neptune2d_buildplate_model.stl differ diff --git a/resources/profiles/Elegoo/elegoo_neptune2d_buildplate_texture.png b/resources/profiles/Elegoo/elegoo_neptune2d_buildplate_texture.png new file mode 100644 index 0000000000..68fcb729c6 Binary files /dev/null and b/resources/profiles/Elegoo/elegoo_neptune2d_buildplate_texture.png differ diff --git a/resources/profiles/Elegoo/elegoo_neptune2s_buildplate_model.stl b/resources/profiles/Elegoo/elegoo_neptune2s_buildplate_model.stl new file mode 100644 index 0000000000..a3837d2b59 Binary files /dev/null and b/resources/profiles/Elegoo/elegoo_neptune2s_buildplate_model.stl differ diff --git a/resources/profiles/Elegoo/elegoo_neptune2s_buildplate_texture.png b/resources/profiles/Elegoo/elegoo_neptune2s_buildplate_texture.png new file mode 100644 index 0000000000..68fcb729c6 Binary files /dev/null and b/resources/profiles/Elegoo/elegoo_neptune2s_buildplate_texture.png differ diff --git a/resources/profiles/Elegoo/elegoo_neptune_buildplate_model.stl b/resources/profiles/Elegoo/elegoo_neptune_buildplate_model.stl new file mode 100644 index 0000000000..246bd382b7 Binary files /dev/null and b/resources/profiles/Elegoo/elegoo_neptune_buildplate_model.stl differ diff --git a/resources/profiles/Elegoo/elegoo_neptune_buildplate_texture.png b/resources/profiles/Elegoo/elegoo_neptune_buildplate_texture.png new file mode 100644 index 0000000000..8de63b0c2c Binary files /dev/null and b/resources/profiles/Elegoo/elegoo_neptune_buildplate_texture.png differ diff --git a/resources/profiles/Elegoo/elegoo_neptunex_buildplate_model.stl b/resources/profiles/Elegoo/elegoo_neptunex_buildplate_model.stl new file mode 100644 index 0000000000..a3837d2b59 Binary files /dev/null and b/resources/profiles/Elegoo/elegoo_neptunex_buildplate_model.stl differ diff --git a/resources/profiles/Elegoo/elegoo_neptunex_buildplate_texture.png b/resources/profiles/Elegoo/elegoo_neptunex_buildplate_texture.png new file mode 100644 index 0000000000..68fcb729c6 Binary files /dev/null and b/resources/profiles/Elegoo/elegoo_neptunex_buildplate_texture.png differ diff --git a/resources/profiles/Elegoo/filament/Elegoo Generic ABS.json b/resources/profiles/Elegoo/filament/Elegoo Generic ABS.json index 9c28789941..e8afca0f25 100644 --- a/resources/profiles/Elegoo/filament/Elegoo Generic ABS.json +++ b/resources/profiles/Elegoo/filament/Elegoo Generic ABS.json @@ -16,6 +16,12 @@ "245" ], "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 3 0.4 nozzle", "Elegoo Neptune 3 0.4 nozzle", "Elegoo Neptune 3 Pro 0.4 nozzle", "Elegoo Neptune 3 Plus 0.4 nozzle", diff --git a/resources/profiles/Elegoo/filament/Elegoo Generic PETG.json b/resources/profiles/Elegoo/filament/Elegoo Generic PETG.json index cac6bf7e74..bbbce6fe1b 100644 --- a/resources/profiles/Elegoo/filament/Elegoo Generic PETG.json +++ b/resources/profiles/Elegoo/filament/Elegoo Generic PETG.json @@ -46,6 +46,12 @@ "; filament start gcode\n" ], "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 3 0.4 nozzle", "Elegoo Neptune 3 0.4 nozzle", "Elegoo Neptune 3 Pro 0.4 nozzle", "Elegoo Neptune 3 Plus 0.4 nozzle", diff --git a/resources/profiles/Elegoo/filament/Elegoo Generic PLA.json b/resources/profiles/Elegoo/filament/Elegoo Generic PLA.json index 6a092cb834..57b7af0fd7 100644 --- a/resources/profiles/Elegoo/filament/Elegoo Generic PLA.json +++ b/resources/profiles/Elegoo/filament/Elegoo Generic PLA.json @@ -19,6 +19,11 @@ "8" ], "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", "Elegoo Neptune 3 0.4 nozzle", "Elegoo Neptune 3 Pro 0.4 nozzle", "Elegoo Neptune 3 Plus 0.4 nozzle", diff --git a/resources/profiles/Elegoo/machine/Elegoo Neptune 0.4 nozzle.json b/resources/profiles/Elegoo/machine/Elegoo Neptune 0.4 nozzle.json new file mode 100644 index 0000000000..b63f5e5803 --- /dev/null +++ b/resources/profiles/Elegoo/machine/Elegoo Neptune 0.4 nozzle.json @@ -0,0 +1,114 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Elegoo Neptune 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_elegoo_common", + "printer_model": "Elegoo Neptune", + "default_print_profile": "0.20mm Standard @Elegoo Neptune", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "210x0", + "210x210", + "0x210" + ], + "printable_height": "200", + "nozzle_type": "hardened_steel", + "auxiliary_fan": "0", + "machine_max_acceleration_extruding": [ + "500", + "500" + ], + "machine_max_acceleration_retracting": [ + "1000", + "1000" + ], + "machine_max_acceleration_travel": [ + "500", + "500" + ], + "machine_max_acceleration_x": [ + "500", + "500" + ], + "machine_max_acceleration_y": [ + "500", + "500" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "60", + "60" + ], + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "10", + "10" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "printer_settings_id": "Elegoo", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "70%" + ], + "retraction_length": [ + "2.5" + ], + "retraction_speed": [ + "60" + ], + "retract_length_toolchange": [ + "1" + ], + "deretraction_speed": [ + "40" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "machine_pause_gcode": "M0", + "default_filament_profile": [ + "Elegoo Generic PLA" + ], + "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/machine/Elegoo Neptune 2 0.4 nozzle.json b/resources/profiles/Elegoo/machine/Elegoo Neptune 2 0.4 nozzle.json new file mode 100644 index 0000000000..6ad0ba9d4c --- /dev/null +++ b/resources/profiles/Elegoo/machine/Elegoo Neptune 2 0.4 nozzle.json @@ -0,0 +1,114 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Elegoo Neptune 2 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_elegoo_common", + "printer_model": "Elegoo Neptune 2", + "default_print_profile": "0.20mm Standard @Elegoo Neptune2", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "220x0", + "220x220", + "0x220" + ], + "printable_height": "250", + "nozzle_type": "hardened_steel", + "auxiliary_fan": "0", + "machine_max_acceleration_extruding": [ + "500", + "500" + ], + "machine_max_acceleration_retracting": [ + "1000", + "1000" + ], + "machine_max_acceleration_travel": [ + "500", + "500" + ], + "machine_max_acceleration_x": [ + "500", + "500" + ], + "machine_max_acceleration_y": [ + "500", + "500" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "60", + "60" + ], + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "10", + "10" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "printer_settings_id": "Elegoo", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "70%" + ], + "retraction_length": [ + "2.5" + ], + "retraction_speed": [ + "60" + ], + "retract_length_toolchange": [ + "1" + ], + "deretraction_speed": [ + "40" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "machine_pause_gcode": "M0", + "default_filament_profile": [ + "Elegoo Generic PLA" + ], + "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/machine/Elegoo Neptune 2.json b/resources/profiles/Elegoo/machine/Elegoo Neptune 2.json new file mode 100644 index 0000000000..643e719f3c --- /dev/null +++ b/resources/profiles/Elegoo/machine/Elegoo Neptune 2.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Elegoo Neptune 2", + "model_id": "Elegoo-Neptune-2", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Elegoo", + "bed_model": "elegoo_neptune2_buildplate_model.stl", + "bed_texture": "elegoo_neptune2_buildplate_texture.png", + "hotend_model": "", + "default_materials": "Elegoo Generic ABS;Elegoo Generic PETG;Elegoo Generic PLA" +} diff --git a/resources/profiles/Elegoo/machine/Elegoo Neptune 2D 0.4 nozzle.json b/resources/profiles/Elegoo/machine/Elegoo Neptune 2D 0.4 nozzle.json new file mode 100644 index 0000000000..9fd0a384a3 --- /dev/null +++ b/resources/profiles/Elegoo/machine/Elegoo Neptune 2D 0.4 nozzle.json @@ -0,0 +1,131 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Elegoo Neptune 2D 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_elegoo_common", + "printer_model": "Elegoo Neptune 2D", + "default_print_profile": "0.20mm Standard @Elegoo Neptune2D", + "extruder_colour": [ + "#FCE94F", + "#FCE94F" + ], + "extruder_offset": [ + "0x0", + "0x0" + ], + "nozzle_diameter": [ + "0.4", + "0.4" + ], + "printable_area": [ + "0x0", + "220x0", + "220x220", + "0x220" + ], + "printable_height": "250", + "nozzle_type": "hardened_steel", + "auxiliary_fan": "0", + "machine_max_acceleration_extruding": [ + "500", + "500" + ], + "machine_max_acceleration_retracting": [ + "1000", + "1000" + ], + "machine_max_acceleration_travel": [ + "500", + "500" + ], + "machine_max_acceleration_x": [ + "500", + "500" + ], + "machine_max_acceleration_y": [ + "500", + "500" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "60", + "60" + ], + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "10", + "10" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.28", + "0.28" + ], + "min_layer_height": [ + "0.08", + "0.08" + ], + "printer_settings_id": "Elegoo", + "retraction_minimum_travel": [ + "2", + "2" + ], + "retract_before_wipe": [ + "70%", + "70%" + ], + "retraction_length": [ + "5", + "5" + ], + "retraction_speed": [ + "60", + "60" + ], + "retract_length_toolchange": [ + "1", + "1" + ], + "deretraction_speed": [ + "40", + "40" + ], + "single_extruder_multi_material": "1", + "change_filament_gcode": "", + "machine_pause_gcode": "M0", + "default_filament_profile": [ + "Elegoo Generic PLA" + ], + "machine_start_gcode": "T[initial_tool] ; set active extruder\nM413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; auto bed levelling - remove ; at beginning of line to enable\n;M420 S1 ; enable mesh - remove ; at beginning of line to enable\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240 ; move down to prime nozzle\nG92 E0 ; reset extruder\nG1 E90 ; load filament\nG92 E0 ; reset extruder\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000 ; move over for second prime line\nG92 E0 ; reset extruder\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0 ; reset extruder", + "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\nG1 E-80 F2000 ; unload filament\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/machine/Elegoo Neptune 2D.json b/resources/profiles/Elegoo/machine/Elegoo Neptune 2D.json new file mode 100644 index 0000000000..2527c7d33a --- /dev/null +++ b/resources/profiles/Elegoo/machine/Elegoo Neptune 2D.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Elegoo Neptune 2D", + "model_id": "Elegoo-Neptune-2D", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Elegoo", + "bed_model": "elegoo_neptune2d_buildplate_model.stl", + "bed_texture": "elegoo_neptune2d_buildplate_texture.png", + "hotend_model": "", + "default_materials": "Elegoo Generic ABS;Elegoo Generic PETG;Elegoo Generic PLA" +} diff --git a/resources/profiles/Elegoo/machine/Elegoo Neptune 2S 0.4 nozzle.json b/resources/profiles/Elegoo/machine/Elegoo Neptune 2S 0.4 nozzle.json new file mode 100644 index 0000000000..1db1d74482 --- /dev/null +++ b/resources/profiles/Elegoo/machine/Elegoo Neptune 2S 0.4 nozzle.json @@ -0,0 +1,114 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Elegoo Neptune 2S 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_elegoo_common", + "printer_model": "Elegoo Neptune 2S", + "default_print_profile": "0.20mm Standard @Elegoo Neptune2S", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "220x0", + "220x220", + "0x220" + ], + "printable_height": "250", + "nozzle_type": "hardened_steel", + "auxiliary_fan": "0", + "machine_max_acceleration_extruding": [ + "500", + "500" + ], + "machine_max_acceleration_retracting": [ + "1000", + "1000" + ], + "machine_max_acceleration_travel": [ + "500", + "500" + ], + "machine_max_acceleration_x": [ + "500", + "500" + ], + "machine_max_acceleration_y": [ + "500", + "500" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "60", + "60" + ], + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "10", + "10" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "printer_settings_id": "Elegoo", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "70%" + ], + "retraction_length": [ + "2.5" + ], + "retraction_speed": [ + "60" + ], + "retract_length_toolchange": [ + "1" + ], + "deretraction_speed": [ + "40" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "machine_pause_gcode": "M0", + "default_filament_profile": [ + "Elegoo Generic PLA" + ], + "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/machine/Elegoo Neptune 2S.json b/resources/profiles/Elegoo/machine/Elegoo Neptune 2S.json new file mode 100644 index 0000000000..dd733b4abd --- /dev/null +++ b/resources/profiles/Elegoo/machine/Elegoo Neptune 2S.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Elegoo Neptune 2S", + "model_id": "Elegoo-Neptune-2S", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Elegoo", + "bed_model": "elegoo_neptune2s_buildplate_model.stl", + "bed_texture": "elegoo_neptune2s_buildplate_texture.png", + "hotend_model": "", + "default_materials": "Elegoo Generic ABS;Elegoo Generic PETG;Elegoo Generic PLA" +} diff --git a/resources/profiles/Elegoo/machine/Elegoo Neptune 3 0.4 nozzle.json b/resources/profiles/Elegoo/machine/Elegoo Neptune 3 0.4 nozzle.json index ca815dc5ec..04294056f0 100644 --- a/resources/profiles/Elegoo/machine/Elegoo Neptune 3 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/Elegoo Neptune 3 0.4 nozzle.json @@ -103,7 +103,7 @@ "default_filament_profile": [ "Elegoo Generic PLA" ], - "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[hot_plate_temp_initial_layer] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[hot_plate_temp_initial_layer] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", diff --git a/resources/profiles/Elegoo/machine/Elegoo Neptune 3 Max 0.4 nozzle.json b/resources/profiles/Elegoo/machine/Elegoo Neptune 3 Max 0.4 nozzle.json index d20cfd28a5..0f0bdcae9d 100644 --- a/resources/profiles/Elegoo/machine/Elegoo Neptune 3 Max 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/Elegoo Neptune 3 Max 0.4 nozzle.json @@ -106,7 +106,7 @@ "default_filament_profile": [ "Elegoo Generic PLA" ], - "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[hot_plate_temp_initial_layer] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[hot_plate_temp_initial_layer] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", diff --git a/resources/profiles/Elegoo/machine/Elegoo Neptune 3 Plus 0.4 nozzle.json b/resources/profiles/Elegoo/machine/Elegoo Neptune 3 Plus 0.4 nozzle.json index 4aefbbdb74..272e3ba895 100644 --- a/resources/profiles/Elegoo/machine/Elegoo Neptune 3 Plus 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/Elegoo Neptune 3 Plus 0.4 nozzle.json @@ -106,7 +106,7 @@ "default_filament_profile": [ "Elegoo Generic PLA" ], - "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[hot_plate_temp_initial_layer] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[hot_plate_temp_initial_layer] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", diff --git a/resources/profiles/Elegoo/machine/Elegoo Neptune 3 Pro 0.4 nozzle.json b/resources/profiles/Elegoo/machine/Elegoo Neptune 3 Pro 0.4 nozzle.json index 4af52344e0..90f8904621 100644 --- a/resources/profiles/Elegoo/machine/Elegoo Neptune 3 Pro 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/Elegoo Neptune 3 Pro 0.4 nozzle.json @@ -106,7 +106,7 @@ "default_filament_profile": [ "Elegoo Generic PLA" ], - "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[hot_plate_temp_initial_layer] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[hot_plate_temp_initial_layer] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", diff --git a/resources/profiles/Elegoo/machine/Elegoo Neptune X 0.4 nozzle.json b/resources/profiles/Elegoo/machine/Elegoo Neptune X 0.4 nozzle.json new file mode 100644 index 0000000000..853ed4afeb --- /dev/null +++ b/resources/profiles/Elegoo/machine/Elegoo Neptune X 0.4 nozzle.json @@ -0,0 +1,114 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Elegoo Neptune X 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_elegoo_common", + "printer_model": "Elegoo Neptune X", + "default_print_profile": "0.20mm Standard @Elegoo NeptuneX", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "220x0", + "220x220", + "0x220" + ], + "printable_height": "300", + "nozzle_type": "hardened_steel", + "auxiliary_fan": "0", + "machine_max_acceleration_extruding": [ + "500", + "500" + ], + "machine_max_acceleration_retracting": [ + "1000", + "1000" + ], + "machine_max_acceleration_travel": [ + "500", + "500" + ], + "machine_max_acceleration_x": [ + "500", + "500" + ], + "machine_max_acceleration_y": [ + "500", + "500" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "60", + "60" + ], + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "10", + "10" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "printer_settings_id": "Elegoo", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "70%" + ], + "retraction_length": [ + "2.5" + ], + "retraction_speed": [ + "60" + ], + "retract_length_toolchange": [ + "1" + ], + "deretraction_speed": [ + "40" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "machine_pause_gcode": "M0", + "default_filament_profile": [ + "Elegoo Generic PLA" + ], + "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/machine/Elegoo Neptune X.json b/resources/profiles/Elegoo/machine/Elegoo Neptune X.json new file mode 100644 index 0000000000..1157ca832a --- /dev/null +++ b/resources/profiles/Elegoo/machine/Elegoo Neptune X.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Elegoo Neptune X", + "model_id": "Elegoo-Neptune-X", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Elegoo", + "bed_model": "elegoo_neptunex_buildplate_model.stl", + "bed_texture": "elegoo_neptunex_buildplate_texture.png", + "hotend_model": "", + "default_materials": "Elegoo Generic ABS;Elegoo Generic PETG;Elegoo Generic PLA" +} diff --git a/resources/profiles/Elegoo/machine/Elegoo Neptune.json b/resources/profiles/Elegoo/machine/Elegoo Neptune.json new file mode 100644 index 0000000000..48c02f1371 --- /dev/null +++ b/resources/profiles/Elegoo/machine/Elegoo Neptune.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Elegoo Neptune", + "model_id": "Elegoo-Neptune", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Elegoo", + "bed_model": "elegoo_neptune_buildplate_model.stl", + "bed_texture": "elegoo_neptune_buildplate_texture.png", + "hotend_model": "", + "default_materials": "Elegoo Generic ABS;Elegoo Generic PETG;Elegoo Generic PLA" +} diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune.json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune.json new file mode 100644 index 0000000000..539343e9fe --- /dev/null +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.08mm Extra Fine @Elegoo Neptune", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.08", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "9", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.08", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "11", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2.json new file mode 100644 index 0000000000..d1a3bb0599 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.08mm Extra Fine @Elegoo Neptune2", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.08", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "9", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.08", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "11", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2D.json new file mode 100644 index 0000000000..63200f7671 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2D.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.08mm Extra Fine @Elegoo Neptune2D", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.08", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "9", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.08", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "11", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2D 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2S.json new file mode 100644 index 0000000000..dfef27e158 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2S.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.08mm Extra Fine @Elegoo Neptune2S", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.08", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "9", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.08", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "11", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo NeptuneX.json new file mode 100644 index 0000000000..e92801bf1d --- /dev/null +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo NeptuneX.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.08mm Extra Fine @Elegoo NeptuneX", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.08", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "9", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.08", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "11", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune X 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune.json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune.json new file mode 100644 index 0000000000..6af8821327 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @Elegoo Neptune", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.12", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.12", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "7", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2.json new file mode 100644 index 0000000000..8d281ef78e --- /dev/null +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @Elegoo Neptune2", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.12", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.12", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "7", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2D.json new file mode 100644 index 0000000000..6edc7d035a --- /dev/null +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2D.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @Elegoo Neptune2D", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.12", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.12", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "7", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2D 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2S.json new file mode 100644 index 0000000000..f43bfe5a10 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2S.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @Elegoo Neptune2S", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.12", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.12", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "7", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo NeptuneX.json new file mode 100644 index 0000000000..eac0b78091 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo NeptuneX.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @Elegoo NeptuneX", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.12", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.12", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "7", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune X 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune.json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune.json new file mode 100644 index 0000000000..3794fd2e8b --- /dev/null +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.16mm Optimal @Elegoo Neptune", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.16", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2.json new file mode 100644 index 0000000000..cf79ff16ac --- /dev/null +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.16mm Optimal @Elegoo Neptune2", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.16", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2D.json new file mode 100644 index 0000000000..3ab4f03850 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2D.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.16mm Optimal @Elegoo Neptune2D", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.16", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2D 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2S.json new file mode 100644 index 0000000000..fb2a9fea72 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2S.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.16mm Optimal @Elegoo Neptune2S", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.16", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo NeptuneX.json new file mode 100644 index 0000000000..d13dfe8f32 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo NeptuneX.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.16mm Optimal @Elegoo NeptuneX", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.16", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune X 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune.json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune.json new file mode 100644 index 0000000000..9669986b2c --- /dev/null +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Elegoo Neptune", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.2", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2.json new file mode 100644 index 0000000000..cb9a62acda --- /dev/null +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Elegoo Neptune2", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.2", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2D.json new file mode 100644 index 0000000000..33aab6f6ad --- /dev/null +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2D.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Elegoo Neptune2D", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.2", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2D 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2S.json new file mode 100644 index 0000000000..9ad7f54833 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2S.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Elegoo Neptune2S", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.2", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo NeptuneX.json new file mode 100644 index 0000000000..d5749bce12 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo NeptuneX.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Elegoo NeptuneX", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.2", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune X 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune.json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune.json new file mode 100644 index 0000000000..b3278427ac --- /dev/null +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @Elegoo Neptune", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.24", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.24", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.45", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2.json new file mode 100644 index 0000000000..692951a97c --- /dev/null +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @Elegoo Neptune2", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.24", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.24", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.45", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2D.json new file mode 100644 index 0000000000..92035a3fc7 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2D.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @Elegoo Neptune2D", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.24", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.24", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.45", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2D 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2S.json new file mode 100644 index 0000000000..53ea928c64 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2S.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @Elegoo Neptune2S", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.24", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.24", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.45", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo NeptuneX.json new file mode 100644 index 0000000000..b9a14acade --- /dev/null +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo NeptuneX.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @Elegoo NeptuneX", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.24", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.24", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.45", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune X 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune.json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune.json new file mode 100644 index 0000000000..a5c5dd2c91 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.28mm Extra Draft @Elegoo Neptune", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.28", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.28", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.45", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2.json new file mode 100644 index 0000000000..2a67da73c7 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.28mm Extra Draft @Elegoo Neptune2", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.28", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.28", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.45", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2D.json new file mode 100644 index 0000000000..7e7a9062a6 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2D.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.28mm Extra Draft @Elegoo Neptune2D", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.28", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.28", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.45", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2D 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2S.json new file mode 100644 index 0000000000..4342f9aec1 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2S.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.28mm Extra Draft @Elegoo Neptune2S", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.28", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.28", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.45", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune 2S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo NeptuneX.json new file mode 100644 index 0000000000..292d88f247 --- /dev/null +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo NeptuneX.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.28mm Extra Draft @Elegoo NeptuneX", + "from": "system", + "inherits": "fdm_process_elegoo_common", + "instantiation": "true", + "layer_height": "0.28", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "200", + "top_surface_acceleration": "30", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "20", + "travel_acceleration": "200", + "inner_wall_acceleration": "200", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "1", + "skirt_height": "2", + "skirt_loops": "1", + "minimum_sparse_infill_area": "25", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.28", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.2", + "support_interface_speed": "100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "45", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.45", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "20", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Elegoo Neptune X 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/FLSun.json b/resources/profiles/FLSun.json index 192ca29f3d..5939318fb3 100644 --- a/resources/profiles/FLSun.json +++ b/resources/profiles/FLSun.json @@ -4,6 +4,14 @@ "force_update": "0", "description": "FLSun configurations", "machine_model_list": [ + { + "name": "FLSun Q5", + "sub_path": "machine/FLSun Q5.json" + }, + { + "name": "FLSun QQ-S Pro", + "sub_path": "machine/FLSun QQ-S Pro.json" + }, { "name": "FLSun V400", "sub_path": "machine/FLSun V400.json" @@ -13,10 +21,50 @@ { "name": "fdm_process_common", "sub_path": "process/fdm_process_common.json" + }, + { + "name": "0.08mm Fine @FLSun Q5", + "sub_path": "process/0.08mm Fine @FLSun Q5.json" + }, + { + "name": "0.08mm Fine @FLSun QQSPro", + "sub_path": "process/0.08mm Fine @FLSun QQSPro.json" + }, + { + "name": "0.16mm Optimal @FLSun Q5", + "sub_path": "process/0.16mm Optimal @FLSun Q5.json" + }, + { + "name": "0.16mm Optimal @FLSun QQSPro", + "sub_path": "process/0.16mm Optimal @FLSun QQSPro.json" + }, + { + "name": "0.20mm Standard @FLSun Q5", + "sub_path": "process/0.20mm Standard @FLSun Q5.json" + }, + { + "name": "0.20mm Standard @FLSun QQSPro", + "sub_path": "process/0.20mm Standard @FLSun QQSPro.json" }, { - "name": "0.20mm Standard @FLSun", - "sub_path": "process/0.20mm Standard @FLSun.json" + "name": "0.20mm Standard @FLSun V400", + "sub_path": "process/0.20mm Standard @FLSun V400.json" + }, + { + "name": "0.24mm Draft @FLSun Q5", + "sub_path": "process/0.24mm Draft @FLSun Q5.json" + }, + { + "name": "0.24mm Draft @FLSun QQSPro", + "sub_path": "process/0.24mm Draft @FLSun QQSPro.json" + }, + { + "name": "0.30mm Extra Draft @FLSun Q5", + "sub_path": "process/0.30mm Extra Draft @FLSun Q5.json" + }, + { + "name": "0.30mm Extra Draft @FLSun QQSPro", + "sub_path": "process/0.30mm Extra Draft @FLSun QQSPro.json" } ], "filament_list": [ @@ -101,6 +149,14 @@ { "name": "fdm_machine_common", "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "FLSun Q5 0.4 nozzle", + "sub_path": "machine/FLSun Q5 0.4 nozzle.json" + }, + { + "name": "FLSun QQ-S Pro 0.4 nozzle", + "sub_path": "machine/FLSun QQ-S Pro 0.4 nozzle.json" }, { "name": "FLSun V400 0.4 nozzle", diff --git a/resources/profiles/FLSun/FLSun Q5_cover.png b/resources/profiles/FLSun/FLSun Q5_cover.png new file mode 100644 index 0000000000..a924ed06cb Binary files /dev/null and b/resources/profiles/FLSun/FLSun Q5_cover.png differ diff --git a/resources/profiles/FLSun/FLSun QQ-S Pro_cover.png b/resources/profiles/FLSun/FLSun QQ-S Pro_cover.png new file mode 100644 index 0000000000..aac20e2509 Binary files /dev/null and b/resources/profiles/FLSun/FLSun QQ-S Pro_cover.png differ diff --git a/resources/profiles/FLSun/FLSun V400_cover.png b/resources/profiles/FLSun/FLSun V400_cover.png index d4fc0e900b..eea48b035d 100644 Binary files a/resources/profiles/FLSun/FLSun V400_cover.png and b/resources/profiles/FLSun/FLSun V400_cover.png differ diff --git a/resources/profiles/FLSun/filament/FLSun Generic ABS.json b/resources/profiles/FLSun/filament/FLSun Generic ABS.json index 6ece45e5c7..8902996c8f 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic ABS.json +++ b/resources/profiles/FLSun/filament/FLSun Generic ABS.json @@ -13,6 +13,8 @@ "12" ], "compatible_printers": [ - "FLSun V400 0.4 nozzle" + "FLSun Q5 0.4 nozzle", + "FLSun QQ-S Pro 0.4 nozzle", + "FLSun V400 0.4 nozzle" ] } diff --git a/resources/profiles/FLSun/filament/FLSun Generic ASA.json b/resources/profiles/FLSun/filament/FLSun Generic ASA.json index 7c95cea8ba..c590edf947 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic ASA.json +++ b/resources/profiles/FLSun/filament/FLSun Generic ASA.json @@ -13,6 +13,8 @@ "12" ], "compatible_printers": [ - "FLSun V400 0.4 nozzle" + "FLSun Q5 0.4 nozzle", + "FLSun QQ-S Pro 0.4 nozzle", + "FLSun V400 0.4 nozzle" ] } diff --git a/resources/profiles/FLSun/filament/FLSun Generic PA-CF.json b/resources/profiles/FLSun/filament/FLSun Generic PA-CF.json index 1cdcd42861..954b5613b6 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic PA-CF.json +++ b/resources/profiles/FLSun/filament/FLSun Generic PA-CF.json @@ -19,6 +19,8 @@ "8" ], "compatible_printers": [ - "FLSun V400 0.4 nozzle" + "FLSun Q5 0.4 nozzle", + "FLSun QQ-S Pro 0.4 nozzle", + "FLSun V400 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/FLSun/filament/FLSun Generic PA.json b/resources/profiles/FLSun/filament/FLSun Generic PA.json index ded13f512f..daf4847d70 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic PA.json +++ b/resources/profiles/FLSun/filament/FLSun Generic PA.json @@ -16,6 +16,8 @@ "12" ], "compatible_printers": [ - "FLSun V400 0.4 nozzle" + "FLSun Q5 0.4 nozzle", + "FLSun QQ-S Pro 0.4 nozzle", + "FLSun V400 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/FLSun/filament/FLSun Generic PC.json b/resources/profiles/FLSun/filament/FLSun Generic PC.json index 06274ef1bb..858545b5c6 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic PC.json +++ b/resources/profiles/FLSun/filament/FLSun Generic PC.json @@ -13,6 +13,8 @@ "0.94" ], "compatible_printers": [ - "FLSun V400 0.4 nozzle" + "FLSun Q5 0.4 nozzle", + "FLSun QQ-S Pro 0.4 nozzle", + "FLSun V400 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/FLSun/filament/FLSun Generic PETG.json b/resources/profiles/FLSun/filament/FLSun Generic PETG.json index b7e9ccf611..9b5bd640d3 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic PETG.json +++ b/resources/profiles/FLSun/filament/FLSun Generic PETG.json @@ -43,6 +43,8 @@ "; filament start gcode\n" ], "compatible_printers": [ - "FLSun V400 0.4 nozzle" + "FLSun Q5 0.4 nozzle", + "FLSun QQ-S Pro 0.4 nozzle", + "FLSun V400 0.4 nozzle" ] } diff --git a/resources/profiles/FLSun/filament/FLSun Generic PLA-CF.json b/resources/profiles/FLSun/filament/FLSun Generic PLA-CF.json index 2449c723e7..a41b370ca4 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic PLA-CF.json +++ b/resources/profiles/FLSun/filament/FLSun Generic PLA-CF.json @@ -19,6 +19,8 @@ "7" ], "compatible_printers": [ - "FLSun V400 0.4 nozzle" + "FLSun Q5 0.4 nozzle", + "FLSun QQ-S Pro 0.4 nozzle", + "FLSun V400 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/FLSun/filament/FLSun Generic PLA.json b/resources/profiles/FLSun/filament/FLSun Generic PLA.json index 1a1451ef7a..981135e346 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic PLA.json +++ b/resources/profiles/FLSun/filament/FLSun Generic PLA.json @@ -16,6 +16,8 @@ "8" ], "compatible_printers": [ - "FLSun V400 0.4 nozzle" + "FLSun Q5 0.4 nozzle", + "FLSun QQ-S Pro 0.4 nozzle", + "FLSun V400 0.4 nozzle" ] } diff --git a/resources/profiles/FLSun/filament/FLSun Generic PVA.json b/resources/profiles/FLSun/filament/FLSun Generic PVA.json index 079483ab57..cd6fcb4fd4 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic PVA.json +++ b/resources/profiles/FLSun/filament/FLSun Generic PVA.json @@ -19,6 +19,8 @@ "10" ], "compatible_printers": [ - "FLSun V400 0.4 nozzle" + "FLSun Q5 0.4 nozzle", + "FLSun QQ-S Pro 0.4 nozzle", + "FLSun V400 0.4 nozzle" ] } diff --git a/resources/profiles/FLSun/filament/FLSun Generic TPU.json b/resources/profiles/FLSun/filament/FLSun Generic TPU.json index 80e9b31147..b57fd3a117 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic TPU.json +++ b/resources/profiles/FLSun/filament/FLSun Generic TPU.json @@ -10,6 +10,8 @@ "3.2" ], "compatible_printers": [ - "FLSun V400 0.4 nozzle" + "FLSun Q5 0.4 nozzle", + "FLSun QQ-S Pro 0.4 nozzle", + "FLSun V400 0.4 nozzle" ] } diff --git a/resources/profiles/FLSun/flsun_q5_buildplate_model.stl b/resources/profiles/FLSun/flsun_q5_buildplate_model.stl new file mode 100644 index 0000000000..da74ae975e Binary files /dev/null and b/resources/profiles/FLSun/flsun_q5_buildplate_model.stl differ diff --git a/resources/profiles/FLSun/flsun_q5_buildplate_texture.png b/resources/profiles/FLSun/flsun_q5_buildplate_texture.png new file mode 100644 index 0000000000..61e017c8f6 Binary files /dev/null and b/resources/profiles/FLSun/flsun_q5_buildplate_texture.png differ diff --git a/resources/profiles/FLSun/flsun_qqspro_buildplate_model.stl b/resources/profiles/FLSun/flsun_qqspro_buildplate_model.stl new file mode 100644 index 0000000000..79b5585a31 Binary files /dev/null and b/resources/profiles/FLSun/flsun_qqspro_buildplate_model.stl differ diff --git a/resources/profiles/FLSun/flsun_qqspro_buildplate_texture.png b/resources/profiles/FLSun/flsun_qqspro_buildplate_texture.png new file mode 100644 index 0000000000..022f30bff7 Binary files /dev/null and b/resources/profiles/FLSun/flsun_qqspro_buildplate_texture.png differ diff --git a/resources/profiles/FLSun/V400_bed.stl b/resources/profiles/FLSun/flsun_v400_buildplate_model.stl similarity index 100% rename from resources/profiles/FLSun/V400_bed.stl rename to resources/profiles/FLSun/flsun_v400_buildplate_model.stl diff --git a/resources/profiles/FLSun/V400.svg b/resources/profiles/FLSun/flsun_v400_buildplate_texture.svg similarity index 100% rename from resources/profiles/FLSun/V400.svg rename to resources/profiles/FLSun/flsun_v400_buildplate_texture.svg diff --git a/resources/profiles/FLSun/machine/FLSun Q5 0.4 nozzle.json b/resources/profiles/FLSun/machine/FLSun Q5 0.4 nozzle.json new file mode 100644 index 0000000000..2960a0f2fd --- /dev/null +++ b/resources/profiles/FLSun/machine/FLSun Q5 0.4 nozzle.json @@ -0,0 +1,189 @@ +{ + "type": "machine", + "setting_id": "GM003", + "name": "FLSun Q5 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "FLSun Q5", + "default_print_profile": "0.20mm Standard @FLSun Q5", + "gcode_flavor": "marlin", + "thumbnails": [ + "260x260" + ], + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "99.6195x8.71557", + "98.4808x17.3648", + "96.5926x25.8819", + "93.9693x34.202", + "90.6308x42.2618", + "86.6025x50", + "81.9152x57.3576", + "76.6044x64.2788", + "70.7107x70.7107", + "64.2788x76.6044", + "57.3576x81.9152", + "50x86.6025", + "42.2618x90.6308", + "34.202x93.9693", + "25.8819x96.5926", + "17.3648x98.4808", + "8.71557x99.6195", + "6.12323e-15x100", + "-8.71557x99.6195", + "-17.3648x98.4808", + "-25.8819x96.5926", + "-34.202x93.9693", + "-42.2618x90.6308", + "-50x86.6025", + "-57.3576x81.9152", + "-64.2788x76.6044", + "-70.7107x70.7107", + "-76.6044x64.2788", + "-81.9152x57.3576", + "-86.6025x50", + "-90.6308x42.2618", + "-93.9693x34.202", + "-96.5926x25.8819", + "-98.4808x17.3648", + "-99.6195x8.71557", + "-100x1.22465e-14", + "-99.6195x-8.71557", + "-98.4808x-17.3648", + "-96.5926x-25.8819", + "-93.9693x-34.202", + "-90.6308x-42.2618", + "-86.6025x-50", + "-81.9152x-57.3576", + "-76.6044x-64.2788", + "-70.7107x-70.7107", + "-64.2788x-76.6044", + "-57.3576x-81.9152", + "-50x-86.6025", + "-42.2618x-90.6308", + "-34.202x-93.9693", + "-25.8819x-96.5926", + "-17.3648x-98.4808", + "-8.71557x-99.6195", + "-1.83697e-14x-100", + "8.71557x-99.6195", + "17.3648x-98.4808", + "25.8819x-96.5926", + "34.202x-93.9693", + "42.2618x-90.6308", + "50x-86.6025", + "57.3576x-81.9152", + "64.2788x-76.6044", + "70.7107x-70.7107", + "76.6044x-64.2788", + "81.9152x-57.3576", + "86.6025x-50", + "90.6308x-42.2618", + "93.9693x-34.202", + "96.5926x-25.8819", + "98.4808x-17.3648", + "99.6195x-8.71557", + "100x-2.44929e-14" + ], + "printable_height": "200", + "nozzle_type": "hardened_steel", + "auxiliary_fan": "0", + "machine_max_acceleration_e": [ + "3000", + "800" + ], + "machine_max_acceleration_extruding": [ + "1500", + "800" + ], + "machine_max_acceleration_retracting": [ + "2000", + "800" + ], + "machine_max_acceleration_travel": [ + "1500", + "800" + ], + "machine_max_acceleration_x": [ + "1500", + "800" + ], + "machine_max_acceleration_y": [ + "1500", + "800" + ], + "machine_max_acceleration_z": [ + "1500", + "800" + ], + "machine_max_speed_e": [ + "60", + "30" + ], + "machine_max_speed_x": [ + "200", + "150" + ], + "machine_max_speed_y": [ + "200", + "150" + ], + "machine_max_speed_z": [ + "200", + "150" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "5", + "10" + ], + "machine_max_jerk_y": [ + "5", + "10" + ], + "machine_max_jerk_z": [ + "5", + "10" + ], + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.08" + ], + "printer_settings_id": "FLSun", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "70%" + ], + "retraction_length": [ + "3" + ], + "retract_length_toolchange": [ + "1" + ], + "retraction_speed": [ + "30" + ], + "deretraction_speed": [ + "40" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "machine_pause_gcode": "M400 U1\n", + "default_filament_profile": [ + "FLSun Generic PLA" + ], + "machine_start_gcode": ";STARTGCODE\nM117 Initializing\n; G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM107\nG28 ;Home\nM140 S[bed_temperature_initial_layer_single] ; set bed temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp\nM104 S[nozzle_temperature_initial_layer] ; set extruder temp\nM109 S[nozzle_temperature_initial_layer] ; wait for extruder temp\n\nG92 E0\nG1 X-98 Y0 Z0.2 F4000 ; move to arc start\nG3 X0 Y-98 I98 Z0.2 E40 F400 ; lay arc stripe 90deg\nG0 Z1 \nG92 E0.0\n", + "machine_end_gcode": "M107\nM104 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\n;M84\nM18 S180 ;disable motors after 180s\n", + "scan_first_layer": "0" + } + \ No newline at end of file diff --git a/resources/profiles/FLSun/machine/FLSun Q5.json b/resources/profiles/FLSun/machine/FLSun Q5.json new file mode 100644 index 0000000000..e595b53d50 --- /dev/null +++ b/resources/profiles/FLSun/machine/FLSun Q5.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "FLSun Q5", + "model_id": "FLSun-Q5", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "FLSun", + "bed_model": "flsun_q5_buildplate_model.stl", + "bed_texture": "flsun_q5_buildplate_texture.png", + "hotend_model": "", + "default_materials": "FLSun Generic ABS;FLSun Generic PLA;FLSun Generic PLA-CF;FLSun Generic PETG;FLSun Generic TPU;FLSun Generic ASA;FLSun Generic PC;FLSun Generic PVA;FLSun Generic PA;FLSun Generic PA-CF" +} diff --git a/resources/profiles/FLSun/machine/FLSun QQ-S Pro 0.4 nozzle.json b/resources/profiles/FLSun/machine/FLSun QQ-S Pro 0.4 nozzle.json new file mode 100644 index 0000000000..b49b467e5c --- /dev/null +++ b/resources/profiles/FLSun/machine/FLSun QQ-S Pro 0.4 nozzle.json @@ -0,0 +1,189 @@ +{ + "type": "machine", + "setting_id": "GM003", + "name": "FLSun QQ-S Pro 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "FLSun QQ-S Pro", + "default_print_profile": "0.20mm Standard @FLSun QQSPro", + "gcode_flavor": "marlin", + "thumbnails": [ + "260x260" + ], + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "129.505x11.3302", + "128.025x22.5743", + "125.57x33.6465", + "122.16x44.4626", + "117.82x54.9404", + "112.583x65", + "106.49x74.5649", + "99.5858x83.5624", + "91.9239x91.9239", + "83.5624x99.5858", + "74.5649x106.49", + "65x112.583", + "54.9404x117.82", + "44.4626x122.16", + "33.6465x125.57", + "22.5743x128.025", + "11.3302x129.505", + "7.9602e-15x130", + "-11.3302x129.505", + "-22.5743x128.025", + "-33.6465x125.57", + "-44.4626x122.16", + "-54.9404x117.82", + "-65x112.583", + "-74.5649x106.49", + "-83.5624x99.5858", + "-91.9239x91.9239", + "-99.5858x83.5624", + "-106.49x74.5649", + "-112.583x65", + "-117.82x54.9404", + "-122.16x44.4626", + "-125.57x33.6465", + "-128.025x22.5743", + "-129.505x11.3302", + "-130x1.59204e-14", + "-129.505x-11.3302", + "-128.025x-22.5743", + "-125.57x-33.6465", + "-122.16x-44.4626", + "-117.82x-54.9404", + "-112.583x-65", + "-106.49x-74.5649", + "-99.5858x-83.5624", + "-91.9239x-91.9239", + "-83.5624x-99.5858", + "-74.5649x-106.49", + "-65x-112.583", + "-54.9404x-117.82", + "-44.4626x-122.16", + "-33.6465x-125.57", + "-22.5743x-128.025", + "-11.3302x-129.505", + "-2.38806e-14x-130", + "11.3302x-129.505", + "22.5743x-128.025", + "33.6465x-125.57", + "44.4626x-122.16", + "54.9404x-117.82", + "65x-112.583", + "74.5649x-106.49", + "83.5624x-99.5858", + "91.9239x-91.9239", + "99.5858x-83.5624", + "106.49x-74.5649", + "112.583x-65", + "117.82x-54.9404", + "122.16x-44.4626", + "125.57x-33.6465", + "128.025x-22.5743", + "129.505x-11.3302", + "130x-3.18408e-14" + ], + "printable_height": "360", + "nozzle_type": "hardened_steel", + "auxiliary_fan": "0", + "machine_max_acceleration_e": [ + "3000", + "800" + ], + "machine_max_acceleration_extruding": [ + "1500", + "800" + ], + "machine_max_acceleration_retracting": [ + "2000", + "800" + ], + "machine_max_acceleration_travel": [ + "1500", + "800" + ], + "machine_max_acceleration_x": [ + "1500", + "800" + ], + "machine_max_acceleration_y": [ + "1500", + "800" + ], + "machine_max_acceleration_z": [ + "1500", + "800" + ], + "machine_max_speed_e": [ + "60", + "30" + ], + "machine_max_speed_x": [ + "200", + "150" + ], + "machine_max_speed_y": [ + "200", + "150" + ], + "machine_max_speed_z": [ + "200", + "150" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "5", + "10" + ], + "machine_max_jerk_y": [ + "5", + "10" + ], + "machine_max_jerk_z": [ + "5", + "10" + ], + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.08" + ], + "printer_settings_id": "FLSun", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "70%" + ], + "retraction_length": [ + "5" + ], + "retract_length_toolchange": [ + "1" + ], + "retraction_speed": [ + "30" + ], + "deretraction_speed": [ + "40" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "machine_pause_gcode": "M400 U1\n", + "default_filament_profile": [ + "FLSun Generic PLA" + ], + "machine_start_gcode": ";STARTGCODE\nM117 Initializing\n; Set coordinate modes\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n; Reset speed and extrusion rates\nM200 D0 ; disable volumetric E\nM220 S100 ; reset speed\n; Set initial warmup temps\nM117 Nozzle preheat\nM104 S100 ; preheat extruder to no ooze temp\nM140 S[bed_temperature_initial_layer_single] ; set bed temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed final temp\nM300 S40 P10 ; Bip\n; Home\nM117 Homing\nG28 ; home all with default mesh bed level\n; For ABL users put G29 for a leveling request\n; Final warmup routine\nM117 Final warmup\nM104 S[nozzle_temperature_initial_layer] ; set extruder final temp\nM109 S[nozzle_temperature_initial_layer] ; wait for extruder final temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed final temp\nM300 S440 P200; 1st beep for printer ready and allow some time to clean nozzle\nM300 S0 P250; wait between dual beep\nM300 S440 P200; 2nd beep for printer ready\nG4 S10; wait to clean the nozzle\nM300 S440 P200; 3rd beep for ready to start printing\n; Prime line routine\nM117 Printing prime line\n;M900 K0; Disable Linear Advance (Marlin) for prime line\nG92 E0.0; reset extrusion distance\nG1 X-54.672 Y-95.203 Z0.3 F4000; go outside print area\nG92 E0.0; reset extrusion distance\nG1 E2 F1000 ; de-retract and push ooze\nG3 X38.904 Y-102.668 I54.672 J95.105 E20.999\nG3 X54.671 Y-95.203 I-38.815 J102.373 E5.45800\nG92 E0.0\nG1 E-5 F3000 ; retract 5mm\nG1 X52.931 Y-96.185 F1000 ; wipe\nG1 X50.985 Y-97.231 F1000 ; wipe\nG1 X49.018 Y-98.238 F1000 ; wipe\nG1 X0 Y-109.798 F1000\nG1 E4.8 F1500; de-retract\nG92 E0.0 ; reset extrusion distance\n; Final print adjustments\nM117 Preparing to print\n;M82 ; extruder absolute mode\nM221 S{if layer_height<0.075}100{else}95{endif}\nM300 S40 P10 ; chirp\nM117 Print [output_filename_format]; Display: Printing started...", + "machine_end_gcode": "; printing object ENDGCODE\nG92 E0.0 ; prepare to retract\nG1 E-6 F3000; retract to avoid stringing\n; Anti-stringing end wiggle\n{if layer_z < max_print_height}G1 Z{min(layer_z+100, max_print_height)}{endif} F4000 ; Move print head up\nG1 X0 Y120 F3000 ; present print\n; Reset print setting overrides\nG92 E0\nM200 D0 ; disable volumetric e\nM220 S100 ; reset speed factor to 100%\nM221 S100 ; reset extruder factor to 100%\n;M900 K0 ; reset linear acceleration(Marlin)\n; Shut down printer\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM18 S180 ;disable motors after 180s\nM300 S40 P10 ; Bip\nM117 Print finish.", + "scan_first_layer": "0" + } + \ No newline at end of file diff --git a/resources/profiles/FLSun/machine/FLSun QQ-S Pro.json b/resources/profiles/FLSun/machine/FLSun QQ-S Pro.json new file mode 100644 index 0000000000..eaf0dac196 --- /dev/null +++ b/resources/profiles/FLSun/machine/FLSun QQ-S Pro.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "FLSun QQ-S Pro", + "model_id": "FLSun-QQS-Pro", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "FLSun", + "bed_model": "flsun_qqspro_buildplate_model.stl", + "bed_texture": "flsun_qqspro_buildplate_texture.png", + "hotend_model": "", + "default_materials": "FLSun Generic ABS;FLSun Generic PLA;FLSun Generic PLA-CF;FLSun Generic PETG;FLSun Generic TPU;FLSun Generic ASA;FLSun Generic PC;FLSun Generic PVA;FLSun Generic PA;FLSun Generic PA-CF" +} diff --git a/resources/profiles/FLSun/machine/FLSun V400 0.4 nozzle.json b/resources/profiles/FLSun/machine/FLSun V400 0.4 nozzle.json index 9b6e134fc7..1ac0837ea2 100644 --- a/resources/profiles/FLSun/machine/FLSun V400 0.4 nozzle.json +++ b/resources/profiles/FLSun/machine/FLSun V400 0.4 nozzle.json @@ -6,7 +6,7 @@ "instantiation": "true", "inherits": "fdm_machine_common", "printer_model": "FLSun V400", - "default_print_profile": "0.20mm Standard @FLSun", + "default_print_profile": "0.20mm Standard @FLSun V400", "gcode_flavor": "klipper", "nozzle_diameter": [ "0.4" diff --git a/resources/profiles/FLSun/machine/FLSun V400.json b/resources/profiles/FLSun/machine/FLSun V400.json index 9585a230c5..732b7c8729 100644 --- a/resources/profiles/FLSun/machine/FLSun V400.json +++ b/resources/profiles/FLSun/machine/FLSun V400.json @@ -5,8 +5,8 @@ "nozzle_diameter": "0.4", "machine_tech": "FFF", "family": "FLSun", - "bed_model": "V400_bed.stl", - "bed_texture": "V400.svg", + "bed_model": "flsun_v400_buildplate_model.stl", + "bed_texture": "flsun_v400_buildplate_texture.svg", "hotend_model": "", "default_materials": "FLSun Generic ABS;FLSun Generic PLA;FLSun Generic PLA-CF;FLSun Generic PETG;FLSun Generic TPU;FLSun Generic ASA;FLSun Generic PC;FLSun Generic PVA;FLSun Generic PA;FLSun Generic PA-CF" } diff --git a/resources/profiles/FLSun/process/0.08mm Fine @FLSun Q5.json b/resources/profiles/FLSun/process/0.08mm Fine @FLSun Q5.json new file mode 100644 index 0000000000..a6583ce385 --- /dev/null +++ b/resources/profiles/FLSun/process/0.08mm Fine @FLSun Q5.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.08mm Fine @FLSun Q5", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.08", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "0.5", + "bridge_flow": "0.7", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "800", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.45", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "800", + "travel_acceleration": "0", + "inner_wall_acceleration": "800", + "initial_layer_line_width": "0.45", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.06", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "1.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.06", + "support_speed": "60", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "12", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "FLSun Q5 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/FLSun/process/0.08mm Fine @FLSun QQSPro.json b/resources/profiles/FLSun/process/0.08mm Fine @FLSun QQSPro.json new file mode 100644 index 0000000000..0f199ba38c --- /dev/null +++ b/resources/profiles/FLSun/process/0.08mm Fine @FLSun QQSPro.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.08mm Fine @FLSun QQSPro", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.08", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "0.5", + "bridge_flow": "0.7", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1500", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.45", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "0", + "inner_wall_acceleration": "800", + "initial_layer_line_width": "0.45", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.06", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "1.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.06", + "support_speed": "60", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "12", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "FLSun QQ-S Pro 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/FLSun/process/0.16mm Optimal @FLSun Q5.json b/resources/profiles/FLSun/process/0.16mm Optimal @FLSun Q5.json new file mode 100644 index 0000000000..c65d26f8a3 --- /dev/null +++ b/resources/profiles/FLSun/process/0.16mm Optimal @FLSun Q5.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.16mm Optimal @FLSun Q5", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.16", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bridge_flow": "0.9", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "800", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.45", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "800", + "travel_acceleration": "0", + "inner_wall_acceleration": "800", + "initial_layer_line_width": "0.45", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "2.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.16", + "support_speed": "60", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "6", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "FLSun Q5 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/FLSun/process/0.16mm Optimal @FLSun QQSPro.json b/resources/profiles/FLSun/process/0.16mm Optimal @FLSun QQSPro.json new file mode 100644 index 0000000000..acc0d6c646 --- /dev/null +++ b/resources/profiles/FLSun/process/0.16mm Optimal @FLSun QQSPro.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.16mm Optimal @FLSun QQSPro", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.16", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bridge_flow": "0.9", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1500", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.45", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "0", + "inner_wall_acceleration": "800", + "initial_layer_line_width": "0.45", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "2.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.16", + "support_speed": "60", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "6", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "FLSun QQ-S Pro 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/FLSun/process/0.20mm Standard @FLSun Q5.json b/resources/profiles/FLSun/process/0.20mm Standard @FLSun Q5.json new file mode 100644 index 0000000000..dff16a9593 --- /dev/null +++ b/resources/profiles/FLSun/process/0.20mm Standard @FLSun Q5.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @FLSun Q5", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.5", + "bridge_flow": "0.95", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "800", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.45", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "800", + "travel_acceleration": "0", + "inner_wall_acceleration": "800", + "initial_layer_line_width": "0.45", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "2.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "60", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "FLSun Q5 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/FLSun/process/0.20mm Standard @FLSun QQSPro.json b/resources/profiles/FLSun/process/0.20mm Standard @FLSun QQSPro.json new file mode 100644 index 0000000000..1686f5c0b5 --- /dev/null +++ b/resources/profiles/FLSun/process/0.20mm Standard @FLSun QQSPro.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @FLSun QQSPro", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.5", + "bridge_flow": "0.95", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1500", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.45", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "0", + "inner_wall_acceleration": "800", + "initial_layer_line_width": "0.45", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "2.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "60", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "FLSun QQ-S Pro 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/FLSun/process/0.20mm Standard @FLSun.json b/resources/profiles/FLSun/process/0.20mm Standard @FLSun V400.json similarity index 94% rename from resources/profiles/FLSun/process/0.20mm Standard @FLSun.json rename to resources/profiles/FLSun/process/0.20mm Standard @FLSun V400.json index cfda270edd..da496e4f9c 100644 --- a/resources/profiles/FLSun/process/0.20mm Standard @FLSun.json +++ b/resources/profiles/FLSun/process/0.20mm Standard @FLSun V400.json @@ -1,7 +1,7 @@ { "type": "process", "setting_id": "GP004", - "name": "0.20mm Standard @FLSun", + "name": "0.20mm Standard @FLSun V400", "from": "system", "instantiation": "true", "inherits": "fdm_process_common", diff --git a/resources/profiles/FLSun/process/0.24mm Draft @FLSun Q5.json b/resources/profiles/FLSun/process/0.24mm Draft @FLSun Q5.json new file mode 100644 index 0000000000..cdf14f8ceb --- /dev/null +++ b/resources/profiles/FLSun/process/0.24mm Draft @FLSun Q5.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @FLSun Q5", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.24", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.5", + "bridge_flow": "0.95", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "800", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.45", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "800", + "travel_acceleration": "0", + "inner_wall_acceleration": "800", + "initial_layer_line_width": "0.45", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.18", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "2.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.18", + "support_speed": "60", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "FLSun Q5 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/FLSun/process/0.24mm Draft @FLSun QQSPro.json b/resources/profiles/FLSun/process/0.24mm Draft @FLSun QQSPro.json new file mode 100644 index 0000000000..866fd9cc16 --- /dev/null +++ b/resources/profiles/FLSun/process/0.24mm Draft @FLSun QQSPro.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @FLSun QQSPro", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.24", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.5", + "bridge_flow": "0.95", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1500", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.45", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "0", + "inner_wall_acceleration": "800", + "initial_layer_line_width": "0.45", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.18", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "2.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.18", + "support_speed": "60", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "FLSun QQ-S Pro 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun Q5.json b/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun Q5.json new file mode 100644 index 0000000000..6f543a569e --- /dev/null +++ b/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun Q5.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.30mm Extra Draft @FLSun Q5", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.3", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0.6", + "bridge_flow": "0.95", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "800", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.5", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.5", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "800", + "travel_acceleration": "0", + "inner_wall_acceleration": "800", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.5", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.22", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "2.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.22", + "support_speed": "60", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.45", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "FLSun Q5 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun QQSPro.json b/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun QQSPro.json new file mode 100644 index 0000000000..458c7533a2 --- /dev/null +++ b/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun QQSPro.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.30mm Extra Draft @FLSun QQSPro", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.3", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0.6", + "bridge_flow": "0.95", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1500", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.5", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.5", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "0", + "inner_wall_acceleration": "800", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.5", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.22", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "2.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.22", + "support_speed": "60", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.45", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "FLSun QQ-S Pro 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/FLSun/process/fdm_process_common.json b/resources/profiles/FLSun/process/fdm_process_common.json index 91f8d15f64..f2bc39f18c 100644 --- a/resources/profiles/FLSun/process/fdm_process_common.json +++ b/resources/profiles/FLSun/process/fdm_process_common.json @@ -104,5 +104,4 @@ "travel_speed": "200", "enable_arc_fitting": "0", "exclude_object" : "0" - } diff --git a/resources/profiles/Folgertech.json b/resources/profiles/Folgertech.json new file mode 100644 index 0000000000..055508d8a1 --- /dev/null +++ b/resources/profiles/Folgertech.json @@ -0,0 +1,202 @@ +{ + "name": "Folgertech", + "version": "01.05.00.03", + "force_update": "0", + "description": "Folgertech configurations", + "machine_model_list": [ + { + "name": "Folgertech i3", + "sub_path": "machine/Folgertech i3.json" + }, + { + "name": "Folgertech FT-5", + "sub_path": "machine/Folgertech FT-5.json" + }, + { + "name": "Folgertech FT-6", + "sub_path": "machine/Folgertech FT-6.json" + } + ], + "process_list": [ + { + "name": "fdm_process_common", + "sub_path": "process/fdm_process_common.json" + }, + { + "name": "fdm_process_folgertech_common", + "sub_path": "process/fdm_process_folgertech_common.json" + }, + { + "name": "0.08mm Extra Fine @FT 0.4 nozzle", + "sub_path": "process/0.08mm Extra Fine @FT.json" + }, + { + "name": "0.12mm Fine @FT 0.4 nozzle", + "sub_path": "process/0.12mm Fine @FT.json" + }, + { + "name": "0.16mm Optimal @FT 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @FT.json" + }, + { + "name": "0.20mm Standard @FT 0.4 nozzle", + "sub_path": "process/0.20mm Standard @FT.json" + }, + { + "name": "0.20mm Strength @FT 0.4 nozzle", + "sub_path": "process/0.20mm Strength @FT.json" + }, + { + "name": "0.24mm Draft @FT 0.4 nozzle", + "sub_path": "process/0.24mm Draft @FT.json" + }, + { + "name": "0.28mm Extra Draft @FT 0.4 nozzle", + "sub_path": "process/0.28mm Extra Draft @FT.json" + }, + { + "name": "0.18mm Fine @FT 0.6 nozzle", + "sub_path": "process/0.18mm Fine @FT 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @FT 0.6 nozzle", + "sub_path": "process/0.24mm Optimal @FT 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @FT 0.6 nozzle", + "sub_path": "process/0.30mm Standard @FT 0.6 nozzle.json" + }, + { + "name": "0.30mm Strength @FT 0.6 nozzle", + "sub_path": "process/0.30mm Strength @FT 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @FT 0.6 nozzle", + "sub_path": "process/0.36mm Draft @FT 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @FT 0.6 nozzle", + "sub_path": "process/0.42mm Extra Draft @FT 0.6 nozzle.json" + } + ], + "filament_list": [ + { + "name": "fdm_filament_common", + "sub_path": "filament/fdm_filament_common.json" + }, + { + "name": "fdm_filament_pla", + "sub_path": "filament/fdm_filament_pla.json" + }, + { + "name": "fdm_filament_tpu", + "sub_path": "filament/fdm_filament_tpu.json" + }, + { + "name": "fdm_filament_pet", + "sub_path": "filament/fdm_filament_pet.json" + }, + { + "name": "fdm_filament_abs", + "sub_path": "filament/fdm_filament_abs.json" + }, + { + "name": "fdm_filament_pc", + "sub_path": "filament/fdm_filament_pc.json" + }, + { + "name": "fdm_filament_asa", + "sub_path": "filament/fdm_filament_asa.json" + }, + { + "name": "fdm_filament_pva", + "sub_path": "filament/fdm_filament_pva.json" + }, + { + "name": "fdm_filament_pa", + "sub_path": "filament/fdm_filament_pa.json" + }, + { + "name": "Folgertech Generic ABS", + "sub_path": "filament/Folgertech Generic ABS.json" + }, + { + "name": "Folgertech Generic ASA", + "sub_path": "filament/Folgertech Generic ASA.json" + }, + { + "name": "Folgertech Generic PA", + "sub_path": "filament/Folgertech Generic PA.json" + }, + { + "name": "Folgertech Generic PA-CF", + "sub_path": "filament/Folgertech Generic PA-CF.json" + }, + { + "name": "Folgertech Generic PC", + "sub_path": "filament/Folgertech Generic PC.json" + }, + { + "name": "Folgertech Generic PETG", + "sub_path": "filament/Folgertech Generic PETG.json" + }, + { + "name": "Folgertech Generic PETG-CF", + "sub_path": "filament/Folgertech Generic PETG-CF.json" + }, + { + "name": "Folgertech Generic PLA", + "sub_path": "filament/Folgertech Generic PLA.json" + }, + { + "name": "Folgertech Generic PLA Silk", + "sub_path": "filament/Folgertech Generic PLA Silk.json" + }, + { + "name": "Folgertech Generic PLA-CF", + "sub_path": "filament/Folgertech Generic PLA-CF.json" + }, + { + "name": "Folgertech Generic TPU", + "sub_path": "filament/Folgertech Generic TPU.json" + }, + { + "name": "Folgertech Generic PVA", + "sub_path": "filament/Folgertech Generic PVA.json" + } + ], + "machine_list": [ + { + "name": "fdm_machine_common", + "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "fdm_folgertech_common", + "sub_path": "machine/fdm_folgertech_common.json" + }, + { + "name": "Folgertech i3 0.4 nozzle", + "sub_path": "machine/Folgertech i3 0.4 nozzle.json" + }, + { + "name": "Folgertech i3 0.6 nozzle", + "sub_path": "machine/Folgertech i3 0.6 nozzle.json" + }, + { + "name": "Folgertech FT-5 0.4 nozzle", + "sub_path": "machine/Folgertech FT-5 0.4 nozzle.json" + }, + { + "name": "Folgertech FT-5 0.6 nozzle", + "sub_path": "machine/Folgertech FT-5 0.6 nozzle.json" + }, + { + "name": "Folgertech FT-6 0.4 nozzle", + "sub_path": "machine/Folgertech FT-6 0.4 nozzle.json" + }, + { + "name": "Folgertech FT-6 0.6 nozzle", + "sub_path": "machine/Folgertech FT-6 0.6 nozzle.json" + } + ] +} diff --git a/resources/profiles/Folgertech/Folgertech FT-5_cover.png b/resources/profiles/Folgertech/Folgertech FT-5_cover.png new file mode 100644 index 0000000000..89f96ddc0c Binary files /dev/null and b/resources/profiles/Folgertech/Folgertech FT-5_cover.png differ diff --git a/resources/profiles/Folgertech/Folgertech FT-6_cover.png b/resources/profiles/Folgertech/Folgertech FT-6_cover.png new file mode 100644 index 0000000000..6acaec98f4 Binary files /dev/null and b/resources/profiles/Folgertech/Folgertech FT-6_cover.png differ diff --git a/resources/profiles/Folgertech/Folgertech i3_cover.png b/resources/profiles/Folgertech/Folgertech i3_cover.png new file mode 100644 index 0000000000..7f26f76536 Binary files /dev/null and b/resources/profiles/Folgertech/Folgertech i3_cover.png differ diff --git a/resources/profiles/Folgertech/Folgertech_FT5_buildplate_model.stl b/resources/profiles/Folgertech/Folgertech_FT5_buildplate_model.stl new file mode 100644 index 0000000000..5c73240d1c Binary files /dev/null and b/resources/profiles/Folgertech/Folgertech_FT5_buildplate_model.stl differ diff --git a/resources/profiles/Folgertech/Folgertech_FT5_buildplate_texture.png b/resources/profiles/Folgertech/Folgertech_FT5_buildplate_texture.png new file mode 100644 index 0000000000..f399fe8633 Binary files /dev/null and b/resources/profiles/Folgertech/Folgertech_FT5_buildplate_texture.png differ diff --git a/resources/profiles/Folgertech/Folgertech_FT6_buildplate_model.stl b/resources/profiles/Folgertech/Folgertech_FT6_buildplate_model.stl new file mode 100644 index 0000000000..38a29ad335 Binary files /dev/null and b/resources/profiles/Folgertech/Folgertech_FT6_buildplate_model.stl differ diff --git a/resources/profiles/Folgertech/Folgertech_FT6_buildplate_texture.png b/resources/profiles/Folgertech/Folgertech_FT6_buildplate_texture.png new file mode 100644 index 0000000000..0b38574a66 Binary files /dev/null and b/resources/profiles/Folgertech/Folgertech_FT6_buildplate_texture.png differ diff --git a/resources/profiles/Folgertech/Folgertech_i3_buildplate_model.stl b/resources/profiles/Folgertech/Folgertech_i3_buildplate_model.stl new file mode 100644 index 0000000000..98bd6c0417 Binary files /dev/null and b/resources/profiles/Folgertech/Folgertech_i3_buildplate_model.stl differ diff --git a/resources/profiles/Folgertech/Folgertech_i3_buildplate_texture.png b/resources/profiles/Folgertech/Folgertech_i3_buildplate_texture.png new file mode 100644 index 0000000000..f399fe8633 Binary files /dev/null and b/resources/profiles/Folgertech/Folgertech_i3_buildplate_texture.png differ diff --git a/resources/profiles/Folgertech/filament/Folgertech Generic ABS.json b/resources/profiles/Folgertech/filament/Folgertech Generic ABS.json new file mode 100644 index 0000000000..82133c864d --- /dev/null +++ b/resources/profiles/Folgertech/filament/Folgertech Generic ABS.json @@ -0,0 +1,23 @@ +{ + "type": "filament", + "filament_id": "GFB99", + "setting_id": "GFSA04", + "name": "Folgertech Generic ABS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_abs", + "filament_flow_ratio": [ + "0.926" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "compatible_printers": [ + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.4 nozzle", + "Folgertech FT-6 0.6 nozzle", + "Folgertech i3 0.4 nozzle", + "Folgertech i3 0.6 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/filament/Folgertech Generic ASA.json b/resources/profiles/Folgertech/filament/Folgertech Generic ASA.json new file mode 100644 index 0000000000..1e46e35403 --- /dev/null +++ b/resources/profiles/Folgertech/filament/Folgertech Generic ASA.json @@ -0,0 +1,23 @@ +{ + "type": "filament", + "filament_id": "GFB99", + "setting_id": "GFSA04", + "name": "Folgertech Generic ASA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_asa", + "filament_max_volumetric_speed": [ + "12" + ], + "filament_flow_ratio": [ + "0.926" + ], + "compatible_printers": [ + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.4 nozzle", + "Folgertech FT-6 0.6 nozzle", + "Folgertech i3 0.4 nozzle", + "Folgertech i3 0.6 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/filament/Folgertech Generic PA-CF.json b/resources/profiles/Folgertech/filament/Folgertech Generic PA-CF.json new file mode 100644 index 0000000000..bf1ebecc26 --- /dev/null +++ b/resources/profiles/Folgertech/filament/Folgertech Generic PA-CF.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "filament_id": "GFN98", + "setting_id": "GFSN99", + "name": "Folgertech Generic PA-CF", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_type": [ + "PA-CF" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature": [ + "290" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "0%" + ], + "overhang_fan_speed": [ + "40" + ], + "fan_cooling_layer_time": [ + "5" + ], + "full_fan_speed_layer": [ + "2" + ], + "compatible_printers": [ + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.4 nozzle", + "Folgertech FT-6 0.6 nozzle", + "Folgertech i3 0.4 nozzle", + "Folgertech i3 0.6 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/filament/Folgertech Generic PA.json b/resources/profiles/Folgertech/filament/Folgertech Generic PA.json new file mode 100644 index 0000000000..35b3a0907f --- /dev/null +++ b/resources/profiles/Folgertech/filament/Folgertech Generic PA.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "filament_id": "GFN99", + "setting_id": "GFSN98", + "name": "Folgertech Generic PA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "required_nozzle_HRC": [ + "3" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "compatible_printers": [ + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.4 nozzle", + "Folgertech FT-6 0.6 nozzle", + "Folgertech i3 0.4 nozzle", + "Folgertech i3 0.6 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/filament/Folgertech Generic PC.json b/resources/profiles/Folgertech/filament/Folgertech Generic PC.json new file mode 100644 index 0000000000..2d70828327 --- /dev/null +++ b/resources/profiles/Folgertech/filament/Folgertech Generic PC.json @@ -0,0 +1,23 @@ +{ + "type": "filament", + "filament_id": "GFC99", + "setting_id": "GFSC99", + "name": "Folgertech Generic PC", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_max_volumetric_speed": [ + "16" + ], + "filament_flow_ratio": [ + "0.94" + ], + "compatible_printers": [ + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.4 nozzle", + "Folgertech FT-6 0.6 nozzle", + "Folgertech i3 0.4 nozzle", + "Folgertech i3 0.6 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/filament/Folgertech Generic PETG-CF.json b/resources/profiles/Folgertech/filament/Folgertech Generic PETG-CF.json new file mode 100644 index 0000000000..99321ccf89 --- /dev/null +++ b/resources/profiles/Folgertech/filament/Folgertech Generic PETG-CF.json @@ -0,0 +1,92 @@ +{ + "type": "filament", + "filament_id": "GFG98", + "setting_id": "GFSG50", + "name": "Folgertech Generic PETG-CF", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "temperature_vitrification": [ + "75" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "90" + ], + "cool_plate_temp" : [ + "0" + ], + "eng_plate_temp" : [ + "70" + ], + "hot_plate_temp" : [ + "70" + ], + "textured_plate_temp" : [ + "70" + ], + "cool_plate_temp_initial_layer" : [ + "0" + ], + "eng_plate_temp_initial_layer" : [ + "70" + ], + "hot_plate_temp_initial_layer" : [ + "70" + ], + "textured_plate_temp_initial_layer" : [ + "70" + ], + "required_nozzle_HRC": [ + "40" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "filament_type": [ + "PETG-CF" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "nozzle_temperature": [ + "255" + ], + "filament_cost": [ + "34.99" + ], + "filament_density": [ + "1.25" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "slow_down_layer_time": [ + "6" + ], + "fan_cooling_layer_time": [ + "20" + ], + "compatible_printers": [ + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.4 nozzle", + "Folgertech FT-6 0.6 nozzle", + "Folgertech i3 0.4 nozzle", + "Folgertech i3 0.6 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/filament/Folgertech Generic PETG.json b/resources/profiles/Folgertech/filament/Folgertech Generic PETG.json new file mode 100644 index 0000000000..9b323523b3 --- /dev/null +++ b/resources/profiles/Folgertech/filament/Folgertech Generic PETG.json @@ -0,0 +1,53 @@ +{ + "type": "filament", + "filament_id": "GFG99", + "setting_id": "GFSG99", + "name": "Folgertech Generic PETG", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "compatible_printers": [ + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.4 nozzle", + "Folgertech FT-6 0.6 nozzle", + "Folgertech i3 0.4 nozzle", + "Folgertech i3 0.6 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/filament/Folgertech Generic PLA Silk.json b/resources/profiles/Folgertech/filament/Folgertech Generic PLA Silk.json new file mode 100644 index 0000000000..3a5b22744c --- /dev/null +++ b/resources/profiles/Folgertech/filament/Folgertech Generic PLA Silk.json @@ -0,0 +1,32 @@ +{ + "type": "filament", + "filament_id": "GFA05", + "setting_id": "GFSL99_01", + "name": "Folgertech Generic PLA Silk", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_max_volumetric_speed": [ + "7.5" + ], + "filament_retraction_length": [ + "0.5" + ], + "filament_flow_ratio": [ + "0.98" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming" + ], + "compatible_printers": [ + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.4 nozzle", + "Folgertech FT-6 0.6 nozzle", + "Folgertech i3 0.4 nozzle", + "Folgertech i3 0.6 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/filament/Folgertech Generic PLA-CF.json b/resources/profiles/Folgertech/filament/Folgertech Generic PLA-CF.json new file mode 100644 index 0000000000..7984a0c42f --- /dev/null +++ b/resources/profiles/Folgertech/filament/Folgertech Generic PLA-CF.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "filament_id": "GFL98", + "setting_id": "GFSL98", + "name": "Folgertech Generic PLA-CF", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "required_nozzle_HRC": [ + "40" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "slow_down_layer_time": [ + "7" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "temperature_vitrification": [ + "55" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}" + ], + "compatible_printers": [ + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.4 nozzle", + "Folgertech FT-6 0.6 nozzle", + "Folgertech i3 0.4 nozzle", + "Folgertech i3 0.6 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/filament/Folgertech Generic PLA.json b/resources/profiles/Folgertech/filament/Folgertech Generic PLA.json new file mode 100644 index 0000000000..fc91a9b484 --- /dev/null +++ b/resources/profiles/Folgertech/filament/Folgertech Generic PLA.json @@ -0,0 +1,26 @@ +{ + "type": "filament", + "filament_id": "GFL99", + "setting_id": "GFSL99", + "name": "Folgertech Generic PLA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.4 nozzle", + "Folgertech FT-6 0.6 nozzle", + "Folgertech i3 0.4 nozzle", + "Folgertech i3 0.6 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/filament/Folgertech Generic PVA.json b/resources/profiles/Folgertech/filament/Folgertech Generic PVA.json new file mode 100644 index 0000000000..6da301cab1 --- /dev/null +++ b/resources/profiles/Folgertech/filament/Folgertech Generic PVA.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "filament_id": "GFS99", + "setting_id": "GFSS99", + "name": "Folgertech Generic PVA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pva", + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "10" + ], + "compatible_printers": [ + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.4 nozzle", + "Folgertech FT-6 0.6 nozzle", + "Folgertech i3 0.4 nozzle", + "Folgertech i3 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Folgertech/filament/Folgertech Generic TPU.json b/resources/profiles/Folgertech/filament/Folgertech Generic TPU.json new file mode 100644 index 0000000000..c31b6767bd --- /dev/null +++ b/resources/profiles/Folgertech/filament/Folgertech Generic TPU.json @@ -0,0 +1,23 @@ +{ + "type": "filament", + "filament_id": "GFU99", + "setting_id": "GFSR99", + "name": "Folgertech Generic TPU", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_tpu", + "filament_max_volumetric_speed": [ + "3.2" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}" + ], + "compatible_printers": [ + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.4 nozzle", + "Folgertech FT-6 0.6 nozzle", + "Folgertech i3 0.4 nozzle", + "Folgertech i3 0.6 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/filament/fdm_filament_abs.json b/resources/profiles/Folgertech/filament/fdm_filament_abs.json new file mode 100644 index 0000000000..b9d4eeda31 --- /dev/null +++ b/resources/profiles/Folgertech/filament/fdm_filament_abs.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_abs", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "105" + ], + "eng_plate_temp" : [ + "105" + ], + "hot_plate_temp" : [ + "105" + ], + "textured_plate_temp" : [ + "105" + ], + "cool_plate_temp_initial_layer" : [ + "105" + ], + "eng_plate_temp_initial_layer" : [ + "105" + ], + "hot_plate_temp_initial_layer" : [ + "105" + ], + "textured_plate_temp_initial_layer" : [ + "105" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "30" + ], + "filament_max_volumetric_speed": [ + "28.6" + ], + "filament_type": [ + "ABS" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "80" + ], + "nozzle_temperature": [ + "260" + ], + "temperature_vitrification": [ + "110" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "3" + ] +} diff --git a/resources/profiles/Folgertech/filament/fdm_filament_asa.json b/resources/profiles/Folgertech/filament/fdm_filament_asa.json new file mode 100644 index 0000000000..a3a3c9a27d --- /dev/null +++ b/resources/profiles/Folgertech/filament/fdm_filament_asa.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_asa", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "0" + ], + "eng_plate_temp" : [ + "90" + ], + "hot_plate_temp" : [ + "90" + ], + "textured_plate_temp" : [ + "90" + ], + "cool_plate_temp_initial_layer" : [ + "0" + ], + "eng_plate_temp_initial_layer" : [ + "90" + ], + "hot_plate_temp_initial_layer" : [ + "90" + ], + "textured_plate_temp_initial_layer" : [ + "90" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "35" + ], + "filament_max_volumetric_speed": [ + "28.6" + ], + "filament_type": [ + "ASA" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "80" + ], + "nozzle_temperature": [ + "260" + ], + "temperature_vitrification": [ + "100" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "3" + ] +} diff --git a/resources/profiles/Folgertech/filament/fdm_filament_common.json b/resources/profiles/Folgertech/filament/fdm_filament_common.json new file mode 100644 index 0000000000..9f77975119 --- /dev/null +++ b/resources/profiles/Folgertech/filament/fdm_filament_common.json @@ -0,0 +1,144 @@ +{ + "type": "filament", + "name": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "cool_plate_temp" : [ + "60" + ], + "eng_plate_temp" : [ + "60" + ], + "hot_plate_temp" : [ + "60" + ], + "textured_plate_temp" : [ + "60" + ], + "cool_plate_temp_initial_layer" : [ + "60" + ], + "eng_plate_temp_initial_layer" : [ + "60" + ], + "hot_plate_temp_initial_layer" : [ + "60" + ], + "textured_plate_temp_initial_layer" : [ + "60" + ], + "overhang_fan_threshold": [ + "95%" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "fan_cooling_layer_time": [ + "60" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "0" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_max_volumetric_speed": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_settings_id": [ + "" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "bed_type": [ + "Cool Plate" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "full_fan_speed_layer": [ + "0" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "35" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "nozzle_temperature": [ + "200" + ], + "temperature_vitrification": [ + "100" + ] +} diff --git a/resources/profiles/Folgertech/filament/fdm_filament_pa.json b/resources/profiles/Folgertech/filament/fdm_filament_pa.json new file mode 100644 index 0000000000..fb2d02e700 --- /dev/null +++ b/resources/profiles/Folgertech/filament/fdm_filament_pa.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_pa", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "required_nozzle_HRC": [ + "40" + ], + "cool_plate_temp" : [ + "0" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "textured_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "0" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "textured_plate_temp_initial_layer" : [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "4" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_type": [ + "PA" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "0" + ], + "overhang_fan_speed": [ + "30" + ], + "nozzle_temperature": [ + "290" + ], + "temperature_vitrification": [ + "108" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "nozzle_temperature_range_high": [ + "300" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "2" + ] +} diff --git a/resources/profiles/Folgertech/filament/fdm_filament_pc.json b/resources/profiles/Folgertech/filament/fdm_filament_pc.json new file mode 100644 index 0000000000..daf96f0164 --- /dev/null +++ b/resources/profiles/Folgertech/filament/fdm_filament_pc.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_pc", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "0" + ], + "eng_plate_temp" : [ + "110" + ], + "hot_plate_temp" : [ + "110" + ], + "textured_plate_temp" : [ + "110" + ], + "cool_plate_temp_initial_layer" : [ + "0" + ], + "eng_plate_temp_initial_layer" : [ + "110" + ], + "hot_plate_temp_initial_layer" : [ + "110" + ], + "textured_plate_temp_initial_layer" : [ + "110" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "30" + ], + "filament_max_volumetric_speed": [ + "23.2" + ], + "filament_type": [ + "PC" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "60" + ], + "nozzle_temperature": [ + "280" + ], + "temperature_vitrification": [ + "120" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "2" + ] +} diff --git a/resources/profiles/Folgertech/filament/fdm_filament_pet.json b/resources/profiles/Folgertech/filament/fdm_filament_pet.json new file mode 100644 index 0000000000..bb2323e9c1 --- /dev/null +++ b/resources/profiles/Folgertech/filament/fdm_filament_pet.json @@ -0,0 +1,82 @@ +{ + "type": "filament", + "name": "fdm_filament_pet", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "60" + ], + "eng_plate_temp" : [ + "0" + ], + "hot_plate_temp" : [ + "80" + ], + "textured_plate_temp" : [ + "80" + ], + "cool_plate_temp_initial_layer" : [ + "60" + ], + "eng_plate_temp_initial_layer" : [ + "0" + ], + "hot_plate_temp_initial_layer" : [ + "80" + ], + "textured_plate_temp_initial_layer" : [ + "80" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "20" + ], + "filament_max_volumetric_speed": [ + "25" + ], + "filament_type": [ + "PETG" + ], + "filament_density": [ + "1.27" + ], + "filament_cost": [ + "30" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "20" + ], + "overhang_fan_speed": [ + "100" + ], + "nozzle_temperature": [ + "255" + ], + "temperature_vitrification": [ + "80" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Folgertech/filament/fdm_filament_pla.json b/resources/profiles/Folgertech/filament/fdm_filament_pla.json new file mode 100644 index 0000000000..5000e3ec94 --- /dev/null +++ b/resources/profiles/Folgertech/filament/fdm_filament_pla.json @@ -0,0 +1,94 @@ +{ + "type": "filament", + "name": "fdm_filament_pla", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "fan_cooling_layer_time": [ + "100" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PLA" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "cool_plate_temp" : [ + "60" + ], + "eng_plate_temp" : [ + "60" + ], + "hot_plate_temp" : [ + "60" + ], + "textured_plate_temp" : [ + "60" + ], + "cool_plate_temp_initial_layer" : [ + "60" + ], + "eng_plate_temp_initial_layer" : [ + "60" + ], + "hot_plate_temp_initial_layer" : [ + "60" + ], + "textured_plate_temp_initial_layer" : [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "220" + ], + "temperature_vitrification": [ + "60" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "4" + ], + "additional_cooling_fan_speed": [ + "100" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Folgertech/filament/fdm_filament_pva.json b/resources/profiles/Folgertech/filament/fdm_filament_pva.json new file mode 100644 index 0000000000..fb84ccf0a4 --- /dev/null +++ b/resources/profiles/Folgertech/filament/fdm_filament_pva.json @@ -0,0 +1,100 @@ +{ + "type": "filament", + "name": "fdm_filament_pva", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "35" + ], + "eng_plate_temp" : [ + "0" + ], + "hot_plate_temp" : [ + "55" + ], + "textured_plate_temp" : [ + "55" + ], + "cool_plate_temp_initial_layer" : [ + "35" + ], + "eng_plate_temp_initial_layer" : [ + "0" + ], + "hot_plate_temp_initial_layer" : [ + "55" + ], + "textured_plate_temp_initial_layer" : [ + "55" + ], + "fan_cooling_layer_time": [ + "100" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_soluble": [ + "1" + ], + "filament_is_support": [ + "1" + ], + "filament_type": [ + "PVA" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "220" + ], + "temperature_vitrification": [ + "55" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "4" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}" + ] +} diff --git a/resources/profiles/Folgertech/filament/fdm_filament_tpu.json b/resources/profiles/Folgertech/filament/fdm_filament_tpu.json new file mode 100644 index 0000000000..df97b1ccf4 --- /dev/null +++ b/resources/profiles/Folgertech/filament/fdm_filament_tpu.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_tpu", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "30" + ], + "eng_plate_temp" : [ + "30" + ], + "hot_plate_temp" : [ + "35" + ], + "textured_plate_temp" : [ + "35" + ], + "cool_plate_temp_initial_layer" : [ + "30" + ], + "eng_plate_temp_initial_layer" : [ + "30" + ], + "hot_plate_temp_initial_layer" : [ + "35" + ], + "textured_plate_temp_initial_layer" : [ + "35" + ], + "fan_cooling_layer_time": [ + "100" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_type": [ + "TPU" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "filament_retraction_length": [ + "0.4" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "240" + ], + "temperature_vitrification": [ + "35" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}" + ] +} diff --git a/resources/profiles/Folgertech/hotend.stl b/resources/profiles/Folgertech/hotend.stl new file mode 100644 index 0000000000..4138160ec0 Binary files /dev/null and b/resources/profiles/Folgertech/hotend.stl differ diff --git a/resources/profiles/Folgertech/machine/Folgertech FT-5 0.4 nozzle.json b/resources/profiles/Folgertech/machine/Folgertech FT-5 0.4 nozzle.json new file mode 100644 index 0000000000..53b7629842 --- /dev/null +++ b/resources/profiles/Folgertech/machine/Folgertech FT-5 0.4 nozzle.json @@ -0,0 +1,28 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Folgertech FT-5 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_folgertech_common", + "printer_model": "Folgertech FT-5", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "300x0", + "300x300", + "0x300" + ], + "printable_height": "400", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "retraction_length": [ + "4.5" + ], + "retraction_speed": [ + "40" + ], + "default_print_profile": "0.20mm Standard @FT" +} diff --git a/resources/profiles/Folgertech/machine/Folgertech FT-5 0.6 nozzle.json b/resources/profiles/Folgertech/machine/Folgertech FT-5 0.6 nozzle.json new file mode 100644 index 0000000000..39939919f9 --- /dev/null +++ b/resources/profiles/Folgertech/machine/Folgertech FT-5 0.6 nozzle.json @@ -0,0 +1,29 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Folgertech FT-5 0.6 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_folgertech_common", + "printer_model": "Folgertech FT-5", + "nozzle_diameter": [ + "0.6" + ], + "printer_variant": "0.6", + "printable_area": [ + "0x0", + "300x0", + "300x300", + "0x300" + ], + "printable_height": "400", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "retraction_length": [ + "4.5" + ], + "retraction_speed": [ + "40" + ], + "default_print_profile": "0.30mm Standard @FT 0.6 Nozzle" +} diff --git a/resources/profiles/Folgertech/machine/Folgertech FT-5.json b/resources/profiles/Folgertech/machine/Folgertech FT-5.json new file mode 100644 index 0000000000..24c9d0f2c2 --- /dev/null +++ b/resources/profiles/Folgertech/machine/Folgertech FT-5.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Folgertech FT-5", + "model_id": "FT-5", + "nozzle_diameter": "0.4;0.6", + "machine_tech": "FFF", + "family": "Folgertech", + "bed_model": "Folgertech_FT5_buildplate_model.stl", + "bed_texture": "Folgertech_FT5_buildplate_texture.png", + "hotend_model": "hotend.stl", + "default_materials": "Folgertech Generic PLA;Folgertech Generic PETG;Folgertech Generic ABS;" +} diff --git a/resources/profiles/Folgertech/machine/Folgertech FT-6 0.4 nozzle.json b/resources/profiles/Folgertech/machine/Folgertech FT-6 0.4 nozzle.json new file mode 100644 index 0000000000..e8de4b8d13 --- /dev/null +++ b/resources/profiles/Folgertech/machine/Folgertech FT-6 0.4 nozzle.json @@ -0,0 +1,22 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Folgertech FT-6 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_folgertech_common", + "printer_model": "Folgertech FT-6", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "700x0", + "700x350", + "0x350" + ], + "printable_height": "400", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "default_print_profile": "0.20mm Standard @FT" +} diff --git a/resources/profiles/Folgertech/machine/Folgertech FT-6 0.6 nozzle.json b/resources/profiles/Folgertech/machine/Folgertech FT-6 0.6 nozzle.json new file mode 100644 index 0000000000..74e413156b --- /dev/null +++ b/resources/profiles/Folgertech/machine/Folgertech FT-6 0.6 nozzle.json @@ -0,0 +1,23 @@ +{ + "type": "machine", + "setting_id": "GM002", + "name": "Folgertech FT-6 0.6 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_folgertech_common", + "printer_model": "Folgertech FT-6", + "nozzle_diameter": [ + "0.6" + ], + "printer_variant": "0.6", + "printable_area": [ + "0x0", + "700x0", + "700x350", + "0x350" + ], + "printable_height": "400", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "default_print_profile": "0.30mm Standard @FT 0.6 Nozzle" +} diff --git a/resources/profiles/Folgertech/machine/Folgertech FT-6.json b/resources/profiles/Folgertech/machine/Folgertech FT-6.json new file mode 100644 index 0000000000..a4c730693b --- /dev/null +++ b/resources/profiles/Folgertech/machine/Folgertech FT-6.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Folgertech FT-6", + "model_id": "FT-6", + "nozzle_diameter": "0.4;0.6", + "machine_tech": "FFF", + "family": "Folgertech", + "bed_model": "folgertech_FT6_buildplate_model.stl", + "bed_texture": "Folgertech_FT6_buildplate_texture.png", + "hotend_model": "hotend.stl", + "extruders_count": "2", + "default_materials": "Folgertech Generic PLA;Folgertech Generic PETG;Folgertech Generic ABS;Folgertech Generic TPU;" +} diff --git a/resources/profiles/Folgertech/machine/Folgertech i3 0.4 nozzle.json b/resources/profiles/Folgertech/machine/Folgertech i3 0.4 nozzle.json new file mode 100644 index 0000000000..38910416cd --- /dev/null +++ b/resources/profiles/Folgertech/machine/Folgertech i3 0.4 nozzle.json @@ -0,0 +1,22 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Folgertech i3 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_folgertech_common", + "printer_model": "Folgertech i3", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "200x0", + "200x200", + "0x200" + ], + "printable_height": "175", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "default_print_profile": "0.20mm Standard @FT" +} diff --git a/resources/profiles/Folgertech/machine/Folgertech i3 0.6 nozzle.json b/resources/profiles/Folgertech/machine/Folgertech i3 0.6 nozzle.json new file mode 100644 index 0000000000..1dba121ee7 --- /dev/null +++ b/resources/profiles/Folgertech/machine/Folgertech i3 0.6 nozzle.json @@ -0,0 +1,23 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Folgertech i3 0.6 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_folgertech_common", + "printer_model": "Folgertech i3", + "nozzle_diameter": [ + "0.6" + ], + "printer_variant": "0.6", + "printable_area": [ + "0x0", + "20x0", + "200x200", + "0x200" + ], + "printable_height": "175", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "default_print_profile": "0.30mm Standard @FT 0.6 Nozzle" +} diff --git a/resources/profiles/Folgertech/machine/Folgertech i3.json b/resources/profiles/Folgertech/machine/Folgertech i3.json new file mode 100644 index 0000000000..0dfd567754 --- /dev/null +++ b/resources/profiles/Folgertech/machine/Folgertech i3.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Folgertech i3", + "model_id": "i3", + "nozzle_diameter": "0.4;0.6", + "machine_tech": "FFF", + "family": "Folgertech", + "bed_model": "Folgertech_i3_buildplate_model.stl", + "bed_texture": "Folgertech_i3_buildplate_texture.png", + "hotend_model": "hotend.stl", + "default_materials": "Folgertech Generic PLA;Folgertech Generic PETG;Folgertech Generic ABS;" +} diff --git a/resources/profiles/Folgertech/machine/fdm_folgertech_common.json b/resources/profiles/Folgertech/machine/fdm_folgertech_common.json new file mode 100644 index 0000000000..940582b764 --- /dev/null +++ b/resources/profiles/Folgertech/machine/fdm_folgertech_common.json @@ -0,0 +1,138 @@ +{ + "type": "machine", + "name": "fdm_folgertech_common", + "from": "system", + "instantiation": "false", + "inherits": "fdm_machine_common", + "gcode_flavor": "marlin", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "500", + "500" + ], + "machine_max_acceleration_retracting": [ + "1000", + "1000" + ], + "machine_max_acceleration_travel": [ + "500", + "500" + ], + "machine_max_acceleration_x": [ + "3000", + "3000" + ], + "machine_max_acceleration_y": [ + "3000", + "3000" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "60", + "60" + ], + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "10", + "10" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.08" + ], + "extruder_clearance_radius": "47", + "extruder_clearance_height_to_rod": "34", + "extruder_clearance_height_to_lid": "34", + "printer_settings_id": "", + "printer_technology": "FFF", + "printer_variant": "0.4", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "5" + ], + "retract_length_toolchange": [ + "2" + ], + "z_hop": [ + "0.4" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retraction_speed": [ + "60" + ], + "deretraction_speed": [ + "40" + ], + "silent_mode": "0", + "single_extruder_multi_material": "1", + "change_filament_gcode": "", + "machine_pause_gcode": "M25 ;pause print", + "wipe": [ + "1" + ], + "default_filament_profile": [ + "Generic PLA @folgertech" + ], + "default_print_profile": "0.20mm Standard @FT 0.4 Nozzle", + "bed_exclude_area": [ + "0x0" + ], + "machine_start_gcode": "G28 ; Home all axis\nG1 X0 Y5 Z0.2 F3000 ; Get ready to prime\nG92 E0 ; Reset extrusion distance\nG1 X250 E20 F600 ; Prime nozzle", + "machine_end_gcode": "M140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nG28 X Y ; Home X and Y axis\nM84 X Y E ; disable motors", + "layer_change_gcode": "", + "scan_first_layer": "0", + "nozzle_type": "undefine", + "auxiliary_fan": "0" +} diff --git a/resources/profiles/Folgertech/machine/fdm_machine_common.json b/resources/profiles/Folgertech/machine/fdm_machine_common.json new file mode 100644 index 0000000000..8884d46f0c --- /dev/null +++ b/resources/profiles/Folgertech/machine/fdm_machine_common.json @@ -0,0 +1,117 @@ +{ + "type": "machine", + "name": "fdm_machine_common", + "from": "system", + "instantiation": "false", + "printer_technology": "FFF", + "deretraction_speed": [ + "40" + ], + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "gcode_flavor": "marlin", + "silent_mode": "0", + "machine_max_acceleration_e": [ + "5000" + ], + "machine_max_acceleration_extruding": [ + "10000" + ], + "machine_max_acceleration_retracting": [ + "1000" + ], + "machine_max_acceleration_x": [ + "10000" + ], + "machine_max_acceleration_y": [ + "10000" + ], + "machine_max_acceleration_z": [ + "100" + ], + "machine_max_speed_e": [ + "60" + ], + "machine_max_speed_x": [ + "500" + ], + "machine_max_speed_y": [ + "500" + ], + "machine_max_speed_z": [ + "10" + ], + "machine_max_jerk_e": [ + "5" + ], + "machine_max_jerk_x": [ + "8" + ], + "machine_max_jerk_y": [ + "8" + ], + "machine_max_jerk_z": [ + "0.4" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "printable_height": "250", + "extruder_clearance_radius": "65", + "extruder_clearance_height_to_rod": "36", + "extruder_clearance_height_to_lid": "140", + "nozzle_diameter": [ + "0.4" + ], + "printer_settings_id": "", + "printer_variant": "0.4", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "5" + ], + "retract_length_toolchange": [ + "1" + ], + "z_hop": [ + "0" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retraction_speed": [ + "60" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "wipe": [ + "1" + ], + "z_lift_type": "NormalLift", + "default_print_profile": "0.16mm Optimal @Bambu Lab X1 Carbon 0.4 nozzle", + "machine_start_gcode": "G0 Z20 F9000\nG92 E0; G1 E-10 F1200\nG28\nM970 Q1 A10 B10 C130 K0\nM970 Q1 A10 B131 C250 K1\nM974 Q1 S1 P0\nM970 Q0 A10 B10 C130 H20 K0\nM970 Q0 A10 B131 C250 K1\nM974 Q0 S1 P0\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nG29 ;Home\nG90;\nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S205;\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder \nG1 X110 Y110 Z2.0 F3000 ;Move Z Axis up", + "machine_end_gcode": "M400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-4.0 F3600; retract \nG91\nG1 Z3;\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nG90 \nG0 X110 Y200 F3600 \nprint_end" +} diff --git a/resources/profiles/Folgertech/process/0.08mm Extra Fine @FT.json b/resources/profiles/Folgertech/process/0.08mm Extra Fine @FT.json new file mode 100644 index 0000000000..abc59b524e --- /dev/null +++ b/resources/profiles/Folgertech/process/0.08mm Extra Fine @FT.json @@ -0,0 +1,32 @@ +{ + "type": "process", + "setting_id": "GP001", + "name": "0.08mm Extra Fine @FT 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_folgertech_common", + "layer_height": "0.08", + "elefant_foot_compensation": "0.15", + "bottom_shell_layers": "7", + "top_shell_layers": "9", + "bridge_flow": "1", + "ironing_flow": "8%", + "initial_layer_speed": "30", + "initial_layer_infill_speed": "60", + "outer_wall_speed": "80", + "inner_wall_speed": "100", + "sparse_infill_speed": "125", + "internal_solid_infill_speed": "125", + "top_surface_speed": "80", + "gap_infill_speed": "150", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "10", + "overhang_4_4_speed": "10", + "support_threshold_angle": "15", + "compatible_printers": [ + "Folgertech i3 0.4 nozzle", + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-6 0.4 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/process/0.12mm Fine @FT.json b/resources/profiles/Folgertech/process/0.12mm Fine @FT.json new file mode 100644 index 0000000000..09d449a330 --- /dev/null +++ b/resources/profiles/Folgertech/process/0.12mm Fine @FT.json @@ -0,0 +1,32 @@ +{ + "type": "process", + "setting_id": "GP002", + "name": "0.12mm Fine @FT 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_folgertech_common", + "layer_height": "0.12", + "bottom_shell_layers": "5", + "elefant_foot_compensation": "0.15", + "top_shell_layers": "5", + "top_shell_thickness": "0.6", + "bridge_flow": "1", + "initial_layer_speed": "30", + "initial_layer_infill_speed": "60", + "outer_wall_speed": "70", + "inner_wall_speed": "110", + "sparse_infill_speed": "125", + "internal_solid_infill_speed": "110", + "top_surface_speed": "70", + "gap_infill_speed": "110", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "10", + "overhang_4_4_speed": "10", + "support_threshold_angle": "20", + "compatible_printers": [ + "Folgertech i3 0.4 nozzle", + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-6 0.4 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/process/0.16mm Optimal @FT.json b/resources/profiles/Folgertech/process/0.16mm Optimal @FT.json new file mode 100644 index 0000000000..3cc598eb1a --- /dev/null +++ b/resources/profiles/Folgertech/process/0.16mm Optimal @FT.json @@ -0,0 +1,32 @@ +{ + "type": "process", + "setting_id": "GP003", + "name": "0.16mm Optimal @FT 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_folgertech_common", + "layer_height": "0.16", + "elefant_foot_compensation": "0.15", + "bottom_shell_layers": "4", + "top_shell_layers": "4", + "top_shell_thickness": "0.6", + "bridge_flow": "1", + "initial_layer_speed": "30", + "initial_layer_infill_speed": "60", + "outer_wall_speed": "70", + "inner_wall_speed": "100", + "sparse_infill_speed": "110", + "internal_solid_infill_speed": "100", + "top_surface_speed": "70", + "gap_infill_speed": "100", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "10", + "overhang_4_4_speed": "10", + "support_threshold_angle": "25", + "compatible_printers": [ + "Folgertech i3 0.4 nozzle", + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-6 0.4 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/process/0.18mm Fine @FT 0.6 nozzle.json b/resources/profiles/Folgertech/process/0.18mm Fine @FT 0.6 nozzle.json new file mode 100644 index 0000000000..3b1adb6184 --- /dev/null +++ b/resources/profiles/Folgertech/process/0.18mm Fine @FT 0.6 nozzle.json @@ -0,0 +1,40 @@ +{ + "type": "process", + "setting_id": "GP028", + "name": "0.18mm Fine @FT 0.6 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_folgertech_common", + "layer_height": "0.18", + "initial_layer_print_height": "0.3", + "wall_loops": "2", + "bottom_shell_layers": "3", + "top_shell_layers": "3", + "bridge_flow": "1", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "initial_layer_line_width": "0.62", + "sparse_infill_line_width": "0.62", + "inner_wall_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "support_line_width": "0.62", + "top_surface_line_width": "0.62", + "initial_layer_speed": "35", + "initial_layer_infill_speed": "55", + "outer_wall_speed": "60", + "inner_wall_speed": "75", + "sparse_infill_speed": "80", + "internal_solid_infill_speed": "80", + "top_surface_speed": "50", + "gap_infill_speed": "40", + "bridge_speed": "30", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "compatible_printers": [ + "Folgertech i3 0.6 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.6 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/process/0.20mm Standard @FT.json b/resources/profiles/Folgertech/process/0.20mm Standard @FT.json new file mode 100644 index 0000000000..2c2f6078c1 --- /dev/null +++ b/resources/profiles/Folgertech/process/0.20mm Standard @FT.json @@ -0,0 +1,27 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @FT 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_folgertech_common", + "layer_height": "0.2", + "elefant_foot_compensation": "0.15", + "bottom_shell_layers": "3", + "top_shell_layers": "3", + "top_shell_thickness": "0.6", + "bridge_flow": "1", + "initial_layer_speed": "30", + "initial_layer_infill_speed": "60", + "outer_wall_speed": "70", + "inner_wall_speed": "100", + "sparse_infill_speed": "90", + "internal_solid_infill_speed": "80", + "top_surface_speed": "70", + "gap_infill_speed": "80", + "compatible_printers": [ + "Folgertech i3 0.4 nozzle", + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-6 0.4 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/process/0.20mm Strength @FT.json b/resources/profiles/Folgertech/process/0.20mm Strength @FT.json new file mode 100644 index 0000000000..5eab619d6e --- /dev/null +++ b/resources/profiles/Folgertech/process/0.20mm Strength @FT.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "setting_id": "GP013", + "name": "0.20mm Strength @FT 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_folgertech_common", + "outer_wall_speed": "30", + "wall_loops": "6", + "sparse_infill_density": "25%", + "compatible_printers": [ + "Folgertech i3 0.4 nozzle", + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-6 0.4 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/process/0.24mm Draft @FT.json b/resources/profiles/Folgertech/process/0.24mm Draft @FT.json new file mode 100644 index 0000000000..bbf722eb2b --- /dev/null +++ b/resources/profiles/Folgertech/process/0.24mm Draft @FT.json @@ -0,0 +1,29 @@ +{ + "type": "process", + "setting_id": "GP005", + "name": "0.24mm Draft @FT 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_folgertech_common", + "layer_height": "0.24", + "elefant_foot_compensation": "0.15", + "top_surface_line_width": "0.45", + "bottom_shell_layers": "3", + "top_shell_layers": "3", + "top_shell_thickness": "0.6", + "bridge_flow": "1", + "initial_layer_speed": "40", + "initial_layer_infill_speed": "50", + "outer_wall_speed": "70", + "inner_wall_speed": "80", + "sparse_infill_speed": "80", + "internal_solid_infill_speed": "80", + "top_surface_speed": "70", + "gap_infill_speed": "80", + "support_threshold_angle": "35", + "compatible_printers": [ + "Folgertech i3 0.4 nozzle", + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-6 0.4 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/process/0.24mm Optimal @FT 0.6 nozzle.json b/resources/profiles/Folgertech/process/0.24mm Optimal @FT 0.6 nozzle.json new file mode 100644 index 0000000000..f7f6b73472 --- /dev/null +++ b/resources/profiles/Folgertech/process/0.24mm Optimal @FT 0.6 nozzle.json @@ -0,0 +1,40 @@ +{ + "type": "process", + "setting_id": "GP029", + "name": "0.24mm Optimal @FT 0.6 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_folgertech_common", + "layer_height": "0.24", + "initial_layer_print_height": "0.3", + "wall_loops": "2", + "bottom_shell_layers": "3", + "top_shell_layers": "3", + "bridge_flow": "1", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "initial_layer_line_width": "0.62", + "sparse_infill_line_width": "0.62", + "inner_wall_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "support_line_width": "0.62", + "top_surface_line_width": "0.62", + "initial_layer_speed": "35", + "initial_layer_infill_speed": "55", + "outer_wall_speed": "60", + "inner_wall_speed": "80", + "sparse_infill_speed": "60", + "internal_solid_infill_speed": "80", + "top_surface_speed": "60", + "gap_infill_speed": "40", + "bridge_speed": "30", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "compatible_printers": [ + "Folgertech i3 0.6 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.6 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/process/0.28mm Extra Draft @FT.json b/resources/profiles/Folgertech/process/0.28mm Extra Draft @FT.json new file mode 100644 index 0000000000..15df910f6d --- /dev/null +++ b/resources/profiles/Folgertech/process/0.28mm Extra Draft @FT.json @@ -0,0 +1,29 @@ +{ + "type": "process", + "setting_id": "GP006", + "name": "0.28mm Extra Draft @FT 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_folgertech_common", + "layer_height": "0.28", + "elefant_foot_compensation": "0.15", + "top_surface_line_width": "0.45", + "bottom_shell_layers": "3", + "top_shell_layers": "3", + "top_shell_thickness": "0.6", + "bridge_flow": "1", + "initial_layer_speed": "30", + "initial_layer_infill_speed": "50", + "outer_wall_speed": "70", + "inner_wall_speed": "70", + "sparse_infill_speed": "70", + "internal_solid_infill_speed": "70", + "top_surface_speed": "70", + "gap_infill_speed": "70", + "support_threshold_angle": "40", + "compatible_printers": [ + "Folgertech i3 0.4 nozzle", + "Folgertech FT-5 0.4 nozzle", + "Folgertech FT-6 0.4 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/process/0.30mm Standard @FT 0.6 nozzle.json b/resources/profiles/Folgertech/process/0.30mm Standard @FT 0.6 nozzle.json new file mode 100644 index 0000000000..067cb7d95e --- /dev/null +++ b/resources/profiles/Folgertech/process/0.30mm Standard @FT 0.6 nozzle.json @@ -0,0 +1,40 @@ +{ + "type": "process", + "setting_id": "GP010", + "name": "0.30mm Standard @FT 0.6 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_folgertech_common", + "layer_height": "0.3", + "initial_layer_print_height": "0.3", + "wall_loops": "3", + "bottom_shell_layers": "3", + "top_shell_layers": "3", + "bridge_flow": "1", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "initial_layer_line_width": "0.62", + "sparse_infill_line_width": "0.62", + "inner_wall_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "support_line_width": "0.62", + "top_surface_line_width": "0.62", + "initial_layer_speed": "35", + "initial_layer_infill_speed": "55", + "outer_wall_speed": "60", + "inner_wall_speed": "80", + "sparse_infill_speed": "80", + "internal_solid_infill_speed": "80", + "top_surface_speed": "60", + "gap_infill_speed": "40", + "bridge_speed": "30", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "compatible_printers": [ + "Folgertech i3 0.6 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.6 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/process/0.30mm Strength @FT 0.6 nozzle.json b/resources/profiles/Folgertech/process/0.30mm Strength @FT 0.6 nozzle.json new file mode 100644 index 0000000000..355d1f9eb3 --- /dev/null +++ b/resources/profiles/Folgertech/process/0.30mm Strength @FT 0.6 nozzle.json @@ -0,0 +1,41 @@ +{ + "type": "process", + "setting_id": "GP036", + "name": "0.30mm Strength @FT 0.6 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_folgertech_common", + "layer_height": "0.3", + "initial_layer_print_height": "0.3", + "wall_loops": "4", + "bottom_shell_layers": "3", + "top_shell_layers": "4", + "bridge_flow": "1", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "initial_layer_line_width": "0.62", + "sparse_infill_line_width": "0.62", + "sparse_infill_density":"25%", + "inner_wall_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "support_line_width": "0.62", + "top_surface_line_width": "0.62", + "initial_layer_speed": "35", + "initial_layer_infill_speed": "55", + "outer_wall_speed": "60", + "inner_wall_speed": "80", + "sparse_infill_speed": "80", + "internal_solid_infill_speed": "80", + "top_surface_speed": "60", + "gap_infill_speed": "40", + "bridge_speed": "30", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "compatible_printers": [ + "Folgertech i3 0.6 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.6 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/process/0.36mm Draft @FT 0.6 nozzle.json b/resources/profiles/Folgertech/process/0.36mm Draft @FT 0.6 nozzle.json new file mode 100644 index 0000000000..2534c9fae6 --- /dev/null +++ b/resources/profiles/Folgertech/process/0.36mm Draft @FT 0.6 nozzle.json @@ -0,0 +1,40 @@ +{ + "type": "process", + "setting_id": "GP030", + "name": "0.36mm Draft @FT 0.6 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_folgertech_common", + "layer_height": "0.36", + "initial_layer_print_height": "0.3", + "wall_loops": "2", + "bottom_shell_layers": "3", + "top_shell_layers": "3", + "bridge_flow": "1", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "initial_layer_line_width": "0.62", + "sparse_infill_line_width": "0.62", + "inner_wall_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "support_line_width": "0.62", + "top_surface_line_width": "0.62", + "initial_layer_speed": "35", + "initial_layer_infill_speed": "55", + "outer_wall_speed": "60", + "inner_wall_speed": "80", + "sparse_infill_speed": "60", + "internal_solid_infill_speed": "80", + "top_surface_speed": "60", + "gap_infill_speed": "40", + "bridge_speed": "30", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "compatible_printers": [ + "Folgertech i3 0.6 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.6 nozzle" + ] +} diff --git a/resources/profiles/Folgertech/process/0.42mm Extra Draft @FT 0.6 nozzle.json b/resources/profiles/Folgertech/process/0.42mm Extra Draft @FT 0.6 nozzle.json new file mode 100644 index 0000000000..f65a080573 --- /dev/null +++ b/resources/profiles/Folgertech/process/0.42mm Extra Draft @FT 0.6 nozzle.json @@ -0,0 +1,40 @@ +{ + "type": "process", + "setting_id": "GP031", + "name": "0.42mm Extra Draft @FT 0.6 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_folgertech_common", + "layer_height": "0.42", + "initial_layer_print_height": "0.3", + "wall_loops": "2", + "bottom_shell_layers": "3", + "top_shell_layers": "3", + "bridge_flow": "1", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "initial_layer_line_width": "0.62", + "sparse_infill_line_width": "0.62", + "inner_wall_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "support_line_width": "0.62", + "top_surface_line_width": "0.62", + "initial_layer_speed": "35", + "initial_layer_infill_speed": "55", + "outer_wall_speed": "60", + "inner_wall_speed": "80", + "sparse_infill_speed": "80", + "internal_solid_infill_speed": "80", + "top_surface_speed": "60", + "gap_infill_speed": "40", + "bridge_speed": "30", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "compatible_printers": [ + "Folgertech i3 0.6 nozzle", + "Folgertech FT-5 0.6 nozzle", + "Folgertech FT-6 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Folgertech/process/fdm_process_common.json b/resources/profiles/Folgertech/process/fdm_process_common.json new file mode 100644 index 0000000000..7398bcd481 --- /dev/null +++ b/resources/profiles/Folgertech/process/fdm_process_common.json @@ -0,0 +1,70 @@ +{ + "type": "process", + "name": "fdm_process_common", + "from": "system", + "instantiation": "false", + "adaptive_layer_height": "0", + "reduce_crossing_wall": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "5", + "compatible_printers": [], + "print_sequence": "by layer", + "default_acceleration": "10000", + "bridge_no_support": "0", + "elefant_foot_compensation": "0.1", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "120", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "20", + "gap_infill_speed": "30", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "sparse_infill_speed": "50", + "interface_shells": "0", + "detect_overhang_wall": "0", + "reduce_infill_retraction": "0", + "filename_format": "{input_filename_base}.gcode", + "wall_loops": "3", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "40", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "nearest", + "skirt_distance": "2", + "skirt_height": "2", + "minimum_sparse_infill_area": "0", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_speed": "40", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "support_filament": "0", + "support_line_width": "0.42", + "support_interface_filament": "0", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.15", + "support_interface_loop_pattern": "0", + "support_interface_top_layers": "2", + "support_interface_spacing": "0", + "support_interface_speed": "80", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "40", + "support_object_xy_distance": "0.5", + "detect_thin_wall": "0", + "top_surface_line_width": "0.4", + "top_surface_speed": "30", + "travel_speed": "400", + "enable_prime_tower": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0" +} diff --git a/resources/profiles/Folgertech/process/fdm_process_folgertech_common.json b/resources/profiles/Folgertech/process/fdm_process_folgertech_common.json new file mode 100644 index 0000000000..be856a99a3 --- /dev/null +++ b/resources/profiles/Folgertech/process/fdm_process_folgertech_common.json @@ -0,0 +1,104 @@ +{ + "type": "process", + "name": "fdm_process_folgertech_common", + "from": "system", + "instantiation": "false", + "inherits": "fdm_process_common", + "adaptive_layer_height": "0", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "500", + "top_surface_acceleration": "500", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "500", + "travel_acceleration": "700", + "inner_wall_acceleration": "500", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "layer_height": "0.2", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "1", + "minimum_sparse_infill_area": "15", + "internal_solid_infill_line_width": "0.4", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "150", + "support_threshold_angle": "30", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "initial_layer_speed": "15", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "35", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0" +} \ No newline at end of file diff --git a/resources/profiles/Qidi/machine/Qidi X-Max 3 0.4 nozzle.json b/resources/profiles/Qidi/machine/Qidi X-Max 3 0.4 nozzle.json index 434ea2a287..aa52cc51c5 100644 --- a/resources/profiles/Qidi/machine/Qidi X-Max 3 0.4 nozzle.json +++ b/resources/profiles/Qidi/machine/Qidi X-Max 3 0.4 nozzle.json @@ -103,7 +103,7 @@ "default_filament_profile": [ "Qidi Generic PLA" ], - "machine_start_gcode": "G28\nM190 S[hot_plate_temp_initial_layer]\nG28 Z\n;G29\nG0 X4 Y5 Z50 F6000\nM109 S[nozzle_temperature_initial_layer]\nM82\nG0 Z0.3 F600\nG92 E-36.45\nG1 Y120 E-27.45 F3000\nG1 X6 E-27.30\nG1 Y5 E-18.30\nG1 X8 E-18.15\nG1 Y120 E-9.15\nG1 X10 E-9\nG1 Y5 E0", + "machine_start_gcode": "G28\nM190 S[bed_temperature_initial_layer_single]\nG28 Z\n;G29\nG0 X4 Y5 Z50 F6000\nM109 S[nozzle_temperature_initial_layer]\nM82\nG0 Z0.3 F600\nG92 E-36.45\nG1 Y120 E-27.45 F3000\nG1 X6 E-27.30\nG1 Y5 E-18.30\nG1 X8 E-18.15\nG1 Y120 E-9.15\nG1 X10 E-9\nG1 Y5 E0", "machine_end_gcode": "M104 S0\nM140 S0\nG92 E0\nG1 E-3 F1800\nG91\nG0 Z10 F600\nG90\nG0 X0 Y0 F12000\nG0 Z[printable_height] F600", "scan_first_layer": "0" } \ No newline at end of file diff --git a/resources/profiles/Qidi/machine/Qidi X-Plus 3 0.4 nozzle.json b/resources/profiles/Qidi/machine/Qidi X-Plus 3 0.4 nozzle.json index daac3ddf81..71a770eba9 100644 --- a/resources/profiles/Qidi/machine/Qidi X-Plus 3 0.4 nozzle.json +++ b/resources/profiles/Qidi/machine/Qidi X-Plus 3 0.4 nozzle.json @@ -103,7 +103,7 @@ "default_filament_profile": [ "Qidi Generic PLA" ], - "machine_start_gcode": "G28\nM190 S[hot_plate_temp_initial_layer]\nG28 Z\n;G29\nG0 X4 Y5 Z50 F6000\nM109 S[nozzle_temperature_initial_layer]\nM82\nG0 Z0.3 F600\nG92 E-36.45\nG1 Y120 E-27.45 F3000\nG1 X6 E-27.30\nG1 Y5 E-18.30\nG1 X8 E-18.15\nG1 Y120 E-9.15\nG1 X10 E-9\nG1 Y5 E0", + "machine_start_gcode": "G28\nM190 S[bed_temperature_initial_layer_single]\nG28 Z\n;G29\nG0 X4 Y5 Z50 F6000\nM109 S[nozzle_temperature_initial_layer]\nM82\nG0 Z0.3 F600\nG92 E-36.45\nG1 Y120 E-27.45 F3000\nG1 X6 E-27.30\nG1 Y5 E-18.30\nG1 X8 E-18.15\nG1 Y120 E-9.15\nG1 X10 E-9\nG1 Y5 E0", "machine_end_gcode": "M104 S0\nM140 S0\nG92 E0\nG1 E-3 F1800\nG91\nG0 Z10 F600\nG90\nG0 X0 Y0 F12000\nG0 Z[printable_height] F600", "scan_first_layer": "0" } \ No newline at end of file diff --git a/resources/profiles/Qidi/machine/Qidi X-Smart 3 0.4 nozzle.json b/resources/profiles/Qidi/machine/Qidi X-Smart 3 0.4 nozzle.json index 30aedf3148..9f28e8ee28 100644 --- a/resources/profiles/Qidi/machine/Qidi X-Smart 3 0.4 nozzle.json +++ b/resources/profiles/Qidi/machine/Qidi X-Smart 3 0.4 nozzle.json @@ -103,7 +103,7 @@ "default_filament_profile": [ "Qidi Generic PLA" ], - "machine_start_gcode": "G28\nM190 S[hot_plate_temp_initial_layer]\nG28 Z\n;G29\nG0 X4 Y5 Z50 F6000\nM109 S[nozzle_temperature_initial_layer]\nM82\nG0 Z0.3 F600\nG92 E-36.45\nG1 Y120 E-27.45 F3000\nG1 X6 E-27.30\nG1 Y5 E-18.30\nG1 X8 E-18.15\nG1 Y120 E-9.15\nG1 X10 E-9\nG1 Y5 E0", + "machine_start_gcode": "G28\nM190 S[bed_temperature_initial_layer_single]\nG28 Z\n;G29\nG0 X4 Y5 Z50 F6000\nM109 S[nozzle_temperature_initial_layer]\nM82\nG0 Z0.3 F600\nG92 E-36.45\nG1 Y120 E-27.45 F3000\nG1 X6 E-27.30\nG1 Y5 E-18.30\nG1 X8 E-18.15\nG1 Y120 E-9.15\nG1 X10 E-9\nG1 Y5 E0", "machine_end_gcode": "M104 S0\nM140 S0\nG92 E0\nG1 E-3 F1800\nG91\nG0 Z10 F600\nG90\nG0 X0 Y0 F12000\nG0 Z[printable_height] F600", "scan_first_layer": "0" } \ No newline at end of file diff --git a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XCFPro.json b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XCFPro.json index afba0de567..d086212427 100644 --- a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XCFPro.json +++ b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XCFPro.json @@ -43,7 +43,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -80,7 +80,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "25", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax.json b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax.json index 7a8dcc66e2..00d8a2180a 100644 --- a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax.json +++ b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax.json @@ -43,7 +43,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -80,7 +80,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "30", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax3.json b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax3.json index dc4b5b3d68..5fc2f55311 100644 --- a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax3.json +++ b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax3.json @@ -25,7 +25,7 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0", - "enable_arc_fitting": "0", + "enable_arc_fitting": "1", "outer_wall_line_width": "0.4", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", @@ -46,7 +46,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -83,7 +83,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "150", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json index e0c99f1149..35144c680e 100644 --- a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json +++ b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json @@ -43,7 +43,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -80,7 +80,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "30", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus3.json b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus3.json index e4b05ad7c9..df52bffc57 100644 --- a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus3.json +++ b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus3.json @@ -25,7 +25,7 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0", - "enable_arc_fitting": "0", + "enable_arc_fitting": "1", "outer_wall_line_width": "0.4", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", @@ -46,7 +46,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -83,7 +83,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "150", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XSmart3.json b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XSmart3.json index 1bddf5cf67..c15c56d002 100644 --- a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XSmart3.json +++ b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XSmart3.json @@ -25,7 +25,7 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0", - "enable_arc_fitting": "0", + "enable_arc_fitting": "1", "outer_wall_line_width": "0.4", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", @@ -46,7 +46,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -83,7 +83,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "150", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XCFPro.json b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XCFPro.json index 420749338c..c1223c6976 100644 --- a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XCFPro.json +++ b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XCFPro.json @@ -43,7 +43,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -80,7 +80,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "25", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax.json b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax.json index 2364174546..f9dca860ae 100644 --- a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax.json +++ b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax.json @@ -43,7 +43,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -80,7 +80,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "30", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax3.json b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax3.json index ad7c03a9e0..cd9867303b 100644 --- a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax3.json +++ b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax3.json @@ -25,7 +25,7 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0", - "enable_arc_fitting": "0", + "enable_arc_fitting": "1", "outer_wall_line_width": "0.4", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", @@ -46,7 +46,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -83,7 +83,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "150", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json index ad0512dd15..7026072ab3 100644 --- a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json +++ b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json @@ -43,7 +43,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -80,7 +80,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "30", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus3.json b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus3.json index 4e1bcf6cbd..e5244fe8a6 100644 --- a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus3.json +++ b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus3.json @@ -25,7 +25,7 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0", - "enable_arc_fitting": "0", + "enable_arc_fitting": "1", "outer_wall_line_width": "0.4", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", @@ -46,7 +46,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -83,7 +83,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "150", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XSmart3.json b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XSmart3.json index e498aeff64..6a5e10b572 100644 --- a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XSmart3.json +++ b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XSmart3.json @@ -25,7 +25,7 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0", - "enable_arc_fitting": "0", + "enable_arc_fitting": "1", "outer_wall_line_width": "0.4", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", @@ -46,7 +46,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -83,7 +83,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "150", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XCFPro.json b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XCFPro.json index 8c52434ddc..590dfb5f51 100644 --- a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XCFPro.json +++ b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XCFPro.json @@ -43,7 +43,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -80,7 +80,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "25", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax.json b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax.json index 1ce37e942b..315d0cf1ff 100644 --- a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax.json +++ b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax.json @@ -43,7 +43,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -80,7 +80,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "30", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax3.json b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax3.json index 26ce8bcc58..2bb340baed 100644 --- a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax3.json +++ b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax3.json @@ -25,7 +25,7 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0", - "enable_arc_fitting": "0", + "enable_arc_fitting": "1", "outer_wall_line_width": "0.4", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", @@ -46,7 +46,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -83,7 +83,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "150", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json index bdb29f3471..63f85bf97a 100644 --- a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json +++ b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json @@ -43,7 +43,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -80,7 +80,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "30", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus3.json b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus3.json index e804b905be..df6d637241 100644 --- a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus3.json +++ b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus3.json @@ -25,7 +25,7 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0", - "enable_arc_fitting": "0", + "enable_arc_fitting": "1", "outer_wall_line_width": "0.4", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", @@ -46,7 +46,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -83,7 +83,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "150", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XSmart3.json b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XSmart3.json index 322d210048..6744c79db6 100644 --- a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XSmart3.json +++ b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XSmart3.json @@ -25,7 +25,7 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0", - "enable_arc_fitting": "0", + "enable_arc_fitting": "1", "outer_wall_line_width": "0.4", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", @@ -46,7 +46,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -83,7 +83,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "150", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XCFPro.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XCFPro.json index 62192b929b..0b2635ccde 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XCFPro.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XCFPro.json @@ -43,7 +43,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -80,7 +80,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "25", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax.json index 0719bf34c2..71ccf5168e 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax.json @@ -43,7 +43,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -80,7 +80,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "30", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax3.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax3.json index acea431a4b..69989a2091 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax3.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax3.json @@ -25,7 +25,7 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0", - "enable_arc_fitting": "0", + "enable_arc_fitting": "1", "outer_wall_line_width": "0.4", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", @@ -46,7 +46,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -83,7 +83,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "150", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json index 8d6c4e9ece..3584c1b071 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json @@ -43,7 +43,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -80,7 +80,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "30", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus3.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus3.json index 1bc2ccf75a..60e1e6da28 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus3.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus3.json @@ -25,7 +25,7 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0", - "enable_arc_fitting": "0", + "enable_arc_fitting": "1", "outer_wall_line_width": "0.4", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", @@ -46,7 +46,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -83,7 +83,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "150", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XSmart3.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XSmart3.json index d3b70f70de..b970184594 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XSmart3.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XSmart3.json @@ -25,7 +25,7 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0", - "enable_arc_fitting": "0", + "enable_arc_fitting": "1", "outer_wall_line_width": "0.4", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", @@ -46,7 +46,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -83,7 +83,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "150", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XCFPro.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XCFPro.json index aece5ac36f..e804d6e1ce 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XCFPro.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XCFPro.json @@ -43,7 +43,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -80,7 +80,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "25", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax.json index 7637ddfd3f..4c393ecddc 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax.json @@ -43,7 +43,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -80,7 +80,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "30", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax3.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax3.json index 6e96736278..850137322e 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax3.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax3.json @@ -25,7 +25,7 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0", - "enable_arc_fitting": "0", + "enable_arc_fitting": "1", "outer_wall_line_width": "0.4", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", @@ -46,7 +46,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -83,7 +83,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "150", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json index 9614550cb3..fe93d85933 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json @@ -43,7 +43,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -80,7 +80,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "30", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus3.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus3.json index a70b9bc2ad..1e18cbdfa2 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus3.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus3.json @@ -25,7 +25,7 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0", - "enable_arc_fitting": "0", + "enable_arc_fitting": "1", "outer_wall_line_width": "0.4", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", @@ -46,7 +46,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -83,7 +83,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "150", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XSmart3.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XSmart3.json index 8f6ba3ec22..fe56ffe7c9 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XSmart3.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XSmart3.json @@ -25,7 +25,7 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0", - "enable_arc_fitting": "0", + "enable_arc_fitting": "1", "outer_wall_line_width": "0.4", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", @@ -46,7 +46,7 @@ "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", - "ironing_type": "top", + "ironing_type": "no ironing", "reduce_infill_retraction": "1", "filename_format": "[input_filename_base].gcode", "detect_overhang_wall": "1", @@ -83,7 +83,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "150", - "support_threshold_angle": "0", + "support_threshold_angle": "30", "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", diff --git a/resources/profiles/Raise3D.json b/resources/profiles/Raise3D.json new file mode 100644 index 0000000000..8632254be6 --- /dev/null +++ b/resources/profiles/Raise3D.json @@ -0,0 +1,123 @@ +{ + "name": "Raise3D", + "url": "", + "version": "01.00.00.00", + "force_update": "0", + "description": "Raise3D configurations", + "machine_model_list": [ + { + "name": "Raise3D Pro3", + "sub_path": "machine/Raise3D Pro3.json" + }, + { + "name": "Raise3D Pro3 Plus", + "sub_path": "machine/Raise3D Pro3 Plus.json" + } + ], + "process_list": [ + { + "name": "fdm_process_common", + "sub_path": "process/fdm_process_common.json" + }, + { + "name": "0.10mm Fine @Raise3D Pro3", + "sub_path": "process/0.10mm Fine @Raise3D Pro3.json" + }, + { + "name": "0.10mm Fine @Raise3D Pro3Plus", + "sub_path": "process/0.10mm Fine @Raise3D Pro3Plus.json" + }, + { + "name": "0.20mm Standard @Raise3D Pro3", + "sub_path": "process/0.20mm Standard @Raise3D Pro3.json" + }, + { + "name": "0.20mm Standard @Raise3D Pro3Plus", + "sub_path": "process/0.20mm Standard @Raise3D Pro3Plus.json" + }, + { + "name": "0.25mm Draft @Raise3D Pro3", + "sub_path": "process/0.25mm Draft @Raise3D Pro3.json" + }, + { + "name": "0.25mm Draft @Raise3D Pro3Plus", + "sub_path": "process/0.25mm Draft @Raise3D Pro3Plus.json" + } + ], + "filament_list": [ + { + "name": "fdm_filament_common", + "sub_path": "filament/fdm_filament_common.json" + }, + { + "name": "fdm_filament_asa", + "sub_path": "filament/fdm_filament_asa.json" + }, + { + "name": "fdm_filament_pet", + "sub_path": "filament/fdm_filament_pet.json" + }, + { + "name": "fdm_filament_pla", + "sub_path": "filament/fdm_filament_pla.json" + }, + { + "name": "fdm_filament_pva", + "sub_path": "filament/fdm_filament_pva.json" + }, + { + "name": "fdm_filament_tpu", + "sub_path": "filament/fdm_filament_tpu.json" + }, + { + "name": "Raise3D Generic ASA", + "sub_path": "filament/Raise3D Generic ASA.json" + }, + { + "name": "Raise3D Generic PETG", + "sub_path": "filament/Raise3D Generic PETG.json" + }, + { + "name": "Raise3D Generic PLA", + "sub_path": "filament/Raise3D Generic PLA.json" + }, + { + "name": "Raise3D Generic PVA", + "sub_path": "filament/Raise3D Generic PVA.json" + }, + { + "name": "Raise3D Generic TPU", + "sub_path": "filament/Raise3D Generic TPU.json" + } + ], + "machine_list": [ + { + "name": "fdm_machine_common", + "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "Raise3D Pro3 0.4 nozzle (Dual)", + "sub_path": "machine/Raise3D Pro3 0.4 nozzle (Dual).json" + }, + { + "name": "Raise3D Pro3 0.4 nozzle (Left)", + "sub_path": "machine/Raise3D Pro3 0.4 nozzle (Left).json" + }, + { + "name": "Raise3D Pro3 0.4 nozzle (Right)", + "sub_path": "machine/Raise3D Pro3 0.4 nozzle (Right).json" + }, + { + "name": "Raise3D Pro3 Plus 0.4 nozzle (Dual)", + "sub_path": "machine/Raise3D Pro3 Plus 0.4 nozzle (Dual).json" + }, + { + "name": "Raise3D Pro3 Plus 0.4 nozzle (Left)", + "sub_path": "machine/Raise3D Pro3 Plus 0.4 nozzle (Left).json" + }, + { + "name": "Raise3D Pro3 Plus 0.4 nozzle (Right)", + "sub_path": "machine/Raise3D Pro3 Plus 0.4 nozzle (Right).json" + } + ] +} diff --git a/resources/profiles/Raise3D/Raise3D Pro3 Plus_cover.png b/resources/profiles/Raise3D/Raise3D Pro3 Plus_cover.png new file mode 100644 index 0000000000..4fd8a53825 Binary files /dev/null and b/resources/profiles/Raise3D/Raise3D Pro3 Plus_cover.png differ diff --git a/resources/profiles/Raise3D/Raise3D Pro3_cover.png b/resources/profiles/Raise3D/Raise3D Pro3_cover.png new file mode 100644 index 0000000000..7581347be7 Binary files /dev/null and b/resources/profiles/Raise3D/Raise3D Pro3_cover.png differ diff --git a/resources/profiles/Raise3D/filament/Raise3D Generic ASA.json b/resources/profiles/Raise3D/filament/Raise3D Generic ASA.json new file mode 100644 index 0000000000..68d7b0dcf2 --- /dev/null +++ b/resources/profiles/Raise3D/filament/Raise3D Generic ASA.json @@ -0,0 +1,23 @@ +{ + "type": "filament", + "filament_id": "GFB98", + "setting_id": "GFSA04", + "name": "Raise3D Generic ASA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_asa", + "filament_flow_ratio": [ + "0.93" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "compatible_printers": [ + "Raise3D Pro3 0.4 nozzle (Dual)", + "Raise3D Pro3 0.4 nozzle (Left)", + "Raise3D Pro3 0.4 nozzle (Right)", + "Raise3D Pro3 Plus 0.4 nozzle (Dual)", + "Raise3D Pro3 Plus 0.4 nozzle (Left)", + "Raise3D Pro3 Plus 0.4 nozzle (Right)" + ] +} diff --git a/resources/profiles/Raise3D/filament/Raise3D Generic PETG.json b/resources/profiles/Raise3D/filament/Raise3D Generic PETG.json new file mode 100644 index 0000000000..4ac874b616 --- /dev/null +++ b/resources/profiles/Raise3D/filament/Raise3D Generic PETG.json @@ -0,0 +1,53 @@ +{ + "type": "filament", + "filament_id": "GFG99", + "setting_id": "GFSA04", + "name": "Raise3D Generic PETG", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "compatible_printers": [ + "Raise3D Pro3 0.4 nozzle (Dual)", + "Raise3D Pro3 0.4 nozzle (Left)", + "Raise3D Pro3 0.4 nozzle (Right)", + "Raise3D Pro3 Plus 0.4 nozzle (Dual)", + "Raise3D Pro3 Plus 0.4 nozzle (Left)", + "Raise3D Pro3 Plus 0.4 nozzle (Right)" + ] +} diff --git a/resources/profiles/Raise3D/filament/Raise3D Generic PLA.json b/resources/profiles/Raise3D/filament/Raise3D Generic PLA.json new file mode 100644 index 0000000000..0239b4be55 --- /dev/null +++ b/resources/profiles/Raise3D/filament/Raise3D Generic PLA.json @@ -0,0 +1,26 @@ +{ + "type": "filament", + "filament_id": "GFL99", + "setting_id": "GFSA04", + "name": "Raise3D Generic PLA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Raise3D Pro3 0.4 nozzle (Dual)", + "Raise3D Pro3 0.4 nozzle (Left)", + "Raise3D Pro3 0.4 nozzle (Right)", + "Raise3D Pro3 Plus 0.4 nozzle (Dual)", + "Raise3D Pro3 Plus 0.4 nozzle (Left)", + "Raise3D Pro3 Plus 0.4 nozzle (Right)" + ] +} diff --git a/resources/profiles/Raise3D/filament/Raise3D Generic PVA.json b/resources/profiles/Raise3D/filament/Raise3D Generic PVA.json new file mode 100644 index 0000000000..432722c34c --- /dev/null +++ b/resources/profiles/Raise3D/filament/Raise3D Generic PVA.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "filament_id": "GFS99", + "setting_id": "GFSA04", + "name": "Raise3D Generic PVA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pva", + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "10" + ], + "compatible_printers": [ + "Raise3D Pro3 0.4 nozzle (Dual)", + "Raise3D Pro3 0.4 nozzle (Left)", + "Raise3D Pro3 0.4 nozzle (Right)", + "Raise3D Pro3 Plus 0.4 nozzle (Dual)", + "Raise3D Pro3 Plus 0.4 nozzle (Left)", + "Raise3D Pro3 Plus 0.4 nozzle (Right)" + ] +} diff --git a/resources/profiles/Raise3D/filament/Raise3D Generic TPU.json b/resources/profiles/Raise3D/filament/Raise3D Generic TPU.json new file mode 100644 index 0000000000..884e9c6ea1 --- /dev/null +++ b/resources/profiles/Raise3D/filament/Raise3D Generic TPU.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "filament_id": "GFU99", + "setting_id": "GFSA04", + "name": "Raise3D Generic TPU", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_tpu", + "filament_max_volumetric_speed": [ + "2.5" + ], + "compatible_printers": [ + "Raise3D Pro3 0.4 nozzle (Dual)", + "Raise3D Pro3 0.4 nozzle (Left)", + "Raise3D Pro3 0.4 nozzle (Right)", + "Raise3D Pro3 Plus 0.4 nozzle (Dual)", + "Raise3D Pro3 Plus 0.4 nozzle (Left)", + "Raise3D Pro3 Plus 0.4 nozzle (Right)" + ] +} diff --git a/resources/profiles/Raise3D/filament/fdm_filament_asa.json b/resources/profiles/Raise3D/filament/fdm_filament_asa.json new file mode 100644 index 0000000000..d76436a372 --- /dev/null +++ b/resources/profiles/Raise3D/filament/fdm_filament_asa.json @@ -0,0 +1,82 @@ +{ + "type": "filament", + "name": "fdm_filament_asa", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "105" + ], + "eng_plate_temp" : [ + "105" + ], + "hot_plate_temp" : [ + "105" + ], + "cool_plate_temp_initial_layer" : [ + "105" + ], + "eng_plate_temp_initial_layer" : [ + "105" + ], + "hot_plate_temp_initial_layer" : [ + "105" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "35" + ], + "filament_max_volumetric_speed": [ + "28.6" + ], + "filament_type": [ + "ASA" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "20" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "80" + ], + "nozzle_temperature": [ + "230" + ], + "temperature_vitrification": [ + "110" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "3" + ] +} diff --git a/resources/profiles/Raise3D/filament/fdm_filament_common.json b/resources/profiles/Raise3D/filament/fdm_filament_common.json new file mode 100644 index 0000000000..f1e09f49dc --- /dev/null +++ b/resources/profiles/Raise3D/filament/fdm_filament_common.json @@ -0,0 +1,138 @@ +{ + "type": "filament", + "name": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "cool_plate_temp" : [ + "60" + ], + "eng_plate_temp" : [ + "60" + ], + "hot_plate_temp" : [ + "60" + ], + "cool_plate_temp_initial_layer" : [ + "60" + ], + "eng_plate_temp_initial_layer" : [ + "60" + ], + "hot_plate_temp_initial_layer" : [ + "60" + ], + "overhang_fan_threshold": [ + "95%" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "fan_cooling_layer_time": [ + "60" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "0" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_max_volumetric_speed": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_settings_id": [ + "" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "bed_type": [ + "Cool Plate" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "full_fan_speed_layer": [ + "0" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "35" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "nozzle_temperature": [ + "200" + ], + "temperature_vitrification": [ + "100" + ] +} diff --git a/resources/profiles/Raise3D/filament/fdm_filament_pet.json b/resources/profiles/Raise3D/filament/fdm_filament_pet.json new file mode 100644 index 0000000000..a8cc89c7b3 --- /dev/null +++ b/resources/profiles/Raise3D/filament/fdm_filament_pet.json @@ -0,0 +1,76 @@ +{ + "type": "filament", + "name": "fdm_filament_pet", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "60" + ], + "eng_plate_temp" : [ + "0" + ], + "hot_plate_temp" : [ + "80" + ], + "cool_plate_temp_initial_layer" : [ + "60" + ], + "eng_plate_temp_initial_layer" : [ + "0" + ], + "hot_plate_temp_initial_layer" : [ + "80" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "20" + ], + "filament_max_volumetric_speed": [ + "25" + ], + "filament_type": [ + "PETG" + ], + "filament_density": [ + "1.27" + ], + "filament_cost": [ + "30" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "overhang_fan_speed": [ + "100" + ], + "nozzle_temperature": [ + "255" + ], + "temperature_vitrification": [ + "80" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Raise3D/filament/fdm_filament_pla.json b/resources/profiles/Raise3D/filament/fdm_filament_pla.json new file mode 100644 index 0000000000..8709f51cd5 --- /dev/null +++ b/resources/profiles/Raise3D/filament/fdm_filament_pla.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_pla", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "fan_cooling_layer_time": [ + "100" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_type": [ + "PLA" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "cool_plate_temp" : [ + "35" + ], + "eng_plate_temp" : [ + "0" + ], + "hot_plate_temp" : [ + "45" + ], + "cool_plate_temp_initial_layer" : [ + "35" + ], + "eng_plate_temp_initial_layer" : [ + "0" + ], + "hot_plate_temp_initial_layer" : [ + "45" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "220" + ], + "temperature_vitrification": [ + "60" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "4" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Raise3D/filament/fdm_filament_pva.json b/resources/profiles/Raise3D/filament/fdm_filament_pva.json new file mode 100644 index 0000000000..f529bb39af --- /dev/null +++ b/resources/profiles/Raise3D/filament/fdm_filament_pva.json @@ -0,0 +1,94 @@ +{ + "type": "filament", + "name": "fdm_filament_pva", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "35" + ], + "eng_plate_temp" : [ + "0" + ], + "hot_plate_temp" : [ + "45" + ], + "cool_plate_temp_initial_layer" : [ + "35" + ], + "eng_plate_temp_initial_layer" : [ + "0" + ], + "hot_plate_temp_initial_layer" : [ + "45" + ], + "fan_cooling_layer_time": [ + "100" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_soluble": [ + "1" + ], + "filament_is_support": [ + "1" + ], + "filament_type": [ + "PVA" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "220" + ], + "temperature_vitrification": [ + "50" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "4" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Raise3D/filament/fdm_filament_tpu.json b/resources/profiles/Raise3D/filament/fdm_filament_tpu.json new file mode 100644 index 0000000000..d5cc57fbcc --- /dev/null +++ b/resources/profiles/Raise3D/filament/fdm_filament_tpu.json @@ -0,0 +1,82 @@ +{ + "type": "filament", + "name": "fdm_filament_tpu", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "30" + ], + "eng_plate_temp" : [ + "30" + ], + "hot_plate_temp" : [ + "35" + ], + "cool_plate_temp_initial_layer" : [ + "30" + ], + "eng_plate_temp_initial_layer" : [ + "30" + ], + "hot_plate_temp_initial_layer" : [ + "35" + ], + "fan_cooling_layer_time": [ + "100" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_type": [ + "TPU" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "filament_retraction_length": [ + "0.4" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "240" + ], + "temperature_vitrification": [ + "60" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Dual).json b/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Dual).json new file mode 100644 index 0000000000..5dace67d12 --- /dev/null +++ b/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Dual).json @@ -0,0 +1,152 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Raise3D Pro3 0.4 nozzle (Dual)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Raise3D Pro3", + "default_print_profile": "0.20mm Standard @Raise3D Pro3", + "nozzle_diameter": [ + "0.4", + "0.4" + ], + "extruder_colour": [ + "#FCE94F", + "#FCE94F" + ], + "extruder_offset": [ + "0x0", + "0x0" + ], + "printable_area": [ + "0x0", + "340x0", + "340x300", + "0x300" + ], + "printable_height": "300", + "nozzle_type": "hardened_steel", + "auxiliary_fan": "0", + "machine_max_acceleration_e": [ + "3000", + "3000" + ], + "machine_max_acceleration_extruding": [ + "1000", + "300" + ], + "machine_max_acceleration_retracting": [ + "3000", + "1500" + ], + "machine_max_acceleration_travel": [ + "1500", + "500" + ], + "machine_max_acceleration_x": [ + "1000", + "1000" + ], + "machine_max_acceleration_y": [ + "1000", + "1000" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "120", + "120" + ], + "machine_max_speed_x": [ + "500", + "200" + ], + "machine_max_speed_y": [ + "500", + "200" + ], + "machine_max_speed_z": [ + "12", + "12" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "5", + "5" + ], + "machine_max_jerk_y": [ + "5", + "5" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.4", + "0.4" + ], + "min_layer_height": [ + "0.1", + "0.1" + ], + "printer_settings_id": "Raise3D", + "retraction_minimum_travel": [ + "0.6", + "0.6" + ], + "retract_before_wipe": [ + "0%", + "0%" + ], + "retraction_length": [ + "0.5", + "0.5" + ], + "retract_length_toolchange": [ + "2", + "2" + ], + "retract_when_changing_layer": [ + "1", + "1" + ], + "retract_restart_extra": [ + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0" + ], + "retraction_speed": [ + "40", + "40" + ], + "deretraction_speed": [ + "0", + "0" + ], + "wipe": [ + "1", + "1" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "machine_pause_gcode": "; pause print\nM2000", + "default_filament_profile": [ + "Raise3D Generic PLA" + ], + "machine_start_gcode": ";Bounding Box: {digits(first_layer_print_min[0],0,2)} {if(first_layer_print_max[0]>300)}{300}{else}{digits(first_layer_print_max[0],0,2)}{endif} {digits(first_layer_print_min[1],0,2)} {if(first_layer_print_max[1]>300)}{300}{else}{digits(first_layer_print_max[1],0,2)}{endif}\n\nM104 T0 S{nozzle_temperature_initial_layer[0] - 30} ; raise extruder one temp\nM104 T1 S{nozzle_temperature_initial_layer[1] - 30} ; raise extruder two temp\nM190 S{max(bed_temperature_initial_layer_single, bed_temperature_initial_layer_single)} ; wait for bed temp\nM109 T1 S{nozzle_temperature_initial_layer[1]} ; wait for extruder two temp\nT1\nG21\nG90\nM82\nM107\nM106 P2 S0\nG1 Z0.3 F500\nG92 E0\nG1 Z0.3 F400\nG1 X60 Y{random(2,8)} F1000\nG1 X110 Y{random(2,8)} E30 F200\nG1 Z0.3 E15 F200\nG92 E0\nG1 Z10 F2000 ; move up from purge line\nG1 X170 F2000 ; move away from purge line\nM104 T1 S{nozzle_temperature_initial_layer[1] - 30} ; lower extruder two temp\nM109 T0 S{nozzle_temperature_initial_layer[0]} ; wait for extruder one temp\nT0\nG1 Z0.3 F400\nG1 X220 Y{random(2,8)} F1000\nG1 X270 Y{random(2,8)} E18 F200\nG1 Z5 E15 F200\nG92 E0\nG1 Z10 F2000 ; move up from purge line\nG1 Y30 F2000 ; move away from purge line\nM104 T0 S{nozzle_temperature_initial_layer[1] - 30} ; lower extruder one temp\nG92 E0\nG1 X{(first_layer_print_max[0] + first_layer_print_min[0])/2} Y{(first_layer_print_max[1] + first_layer_print_min[1])/2} Z{initial_layer_print_height} ; move to center of print\nM117 Printing...", + "machine_end_gcode": "M221 T0 S100\nM104 S0\nM140 S0\nM107\nM106 P2 S0\nG91\nG1 E-1 F300\nG1 Z+0.5 E-5 X-20 Y-20 F9000.00\nG28 X0 Y0\nM84\nG90", + "toolchange_gcode": "; layer [layer_num] tool change\n{if layer_z < initial_layer_print_height + layer_height * 2}\nM104 T[current_extruder] S{nozzle_temperature_initial_layer[current_extruder] - 30}\nM109 T[next_extruder] S{nozzle_temperature_initial_layer[next_extruder]}\n{else}\nM104 T[current_extruder] S{nozzle_temperature[current_extruder] - 30}\nM109 T[next_extruder] S{nozzle_temperature[next_extruder]}\n{endif}", + "before_layer_change_gcode": "; before layer [layer_num] change\n{if layer_z <= initial_layer_print_height + layer_height * 2}\nM140 S{max(bed_temperature_initial_layer_single, bed_temperature_initial_layer_single)}\n{else}\nM140 S{max(bed_temperature[0], bed_temperature[1])}\n{endif}\n{if (filament_type[0] ==\"PLA\" or filament_type[0] ==\"PETG\")}\n{if layer_z >= initial_layer_print_height + layer_height * 2}\nM106 P2 S150\n{elsif layer_z >= initial_layer_print_height + layer_height * 1}\nM106 P2 S100\n{else}\nM106 P2 S0\n{endif}\n{endif}", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Left).json b/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Left).json new file mode 100644 index 0000000000..d79d069db5 --- /dev/null +++ b/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Left).json @@ -0,0 +1,152 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Raise3D Pro3 0.4 nozzle (Left)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Raise3D Pro3", + "default_print_profile": "0.20mm Standard @Raise3D Pro3", + "nozzle_diameter": [ + "0.4", + "0.4" + ], + "extruder_colour": [ + "#FCE94F", + "#FCE94F" + ], + "extruder_offset": [ + "0x0", + "0x0" + ], + "printable_area": [ + "0x0", + "340x0", + "340x300", + "0x300" + ], + "printable_height": "300", + "nozzle_type": "hardened_steel", + "auxiliary_fan": "0", + "machine_max_acceleration_e": [ + "3000", + "3000" + ], + "machine_max_acceleration_extruding": [ + "1000", + "300" + ], + "machine_max_acceleration_retracting": [ + "3000", + "1500" + ], + "machine_max_acceleration_travel": [ + "1500", + "500" + ], + "machine_max_acceleration_x": [ + "1000", + "1000" + ], + "machine_max_acceleration_y": [ + "1000", + "1000" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "120", + "120" + ], + "machine_max_speed_x": [ + "500", + "200" + ], + "machine_max_speed_y": [ + "500", + "200" + ], + "machine_max_speed_z": [ + "12", + "12" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "5", + "5" + ], + "machine_max_jerk_y": [ + "5", + "5" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.4", + "0.4" + ], + "min_layer_height": [ + "0.1", + "0.1" + ], + "printer_settings_id": "Raise3D", + "retraction_minimum_travel": [ + "0.6", + "0.6" + ], + "retract_before_wipe": [ + "0%", + "0%" + ], + "retraction_length": [ + "0.5", + "0.5" + ], + "retract_length_toolchange": [ + "2", + "2" + ], + "retract_when_changing_layer": [ + "1", + "1" + ], + "retract_restart_extra": [ + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0" + ], + "retraction_speed": [ + "40", + "40" + ], + "deretraction_speed": [ + "0", + "0" + ], + "wipe": [ + "1", + "1" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "machine_pause_gcode": "; pause print\nM2000", + "default_filament_profile": [ + "Raise3D Generic PLA" + ], + "machine_start_gcode": ";Bounding Box: {digits(first_layer_print_min[0],0,2)} {if(first_layer_print_max[0]>300)}{300}{else}{digits(first_layer_print_max[0],0,2)}{endif} {digits(first_layer_print_min[1],0,2)} {if(first_layer_print_max[1]>300)}{300}{else}{digits(first_layer_print_max[1],0,2)}{endif}\n\nM104 T0 S{nozzle_temperature_initial_layer[0] - 20} ; raise left extruder temp\nM140 S{nozzle_temperature_initial_layer[0]} ; raise bed temp\nM190 S{nozzle_temperature_initial_layer[0]} ; wait for bed temp\nM109 T0 S{nozzle_temperature_initial_layer[0] - 20} ; wait for left extruder temp\nM104 T0 S[nozzle_temperature_initial_layer] ; set left extruder temp\nM109 T0 S[nozzle_temperature_initial_layer] ; wait for left extruder temp\nT0\nG21\nG90\nM82\nM107\nM106 P2 S0\nG1 Z0.3 F500\nG92 E0\nG1 Z0.3 F400\nG1 X100 Y{random(2,8)} F1000\nG1 X170 Y{random(2,8)} E15 F200\nG1 Z5 E15 F200\nG92 E0\nG1 Z10 F2000 ; move up from purge line\nG1 Y30 F2000 ; move away from purge line\nG1 X{(first_layer_print_max[0] + first_layer_print_min[0])/2} Y{(first_layer_print_max[1] + first_layer_print_min[1])/2} Z{initial_layer_print_height} ; move to center of print\nM117 Printing...\nM1001", + "machine_end_gcode": "M1002\nM221 T0 S100\nM104 S0\nM140 S0\nM107\nM106 P2 S0\nG91\nG1 E-1 F300\nG1 Z+0.5 E-5 X-20 Y-20 F9000.00\nG28 X0 Y0\nM84\nG90\n", + "toolchange_gcode": "; layer [layer_num] tool change", + "before_layer_change_gcode": "; before layer [layer_num] change\n{if layer_z <= initial_layer_print_height + layer_height * 2}\nM109 T0 S{nozzle_temperature_initial_layer[0]}\nM140 S[bed_temperature_initial_layer_single]\n{else}\nM109 T0 S{nozzle_temperature[0]}\nM140 S{bed_temperature[0]}\n{endif}\n{if (filament_type[0] ==\"PLA\" or filament_type[0] ==\"PETG\")}\n{if layer_z >= initial_layer_print_height + layer_height * 2}\nM106 P2 S150\n{elsif layer_z >= initial_layer_print_height + layer_height * 1}\nM106 P2 S100\n{else}\nM106 P2 S0\n{endif}\n{endif}", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Right).json b/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Right).json new file mode 100644 index 0000000000..4ebee246cd --- /dev/null +++ b/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Right).json @@ -0,0 +1,152 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Raise3D Pro3 0.4 nozzle (Right)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Raise3D Pro3", + "default_print_profile": "0.20mm Standard @Raise3D Pro3", + "nozzle_diameter": [ + "0.4", + "0.4" + ], + "extruder_colour": [ + "#FCE94F", + "#FCE94F" + ], + "extruder_offset": [ + "0x0", + "0x0" + ], + "printable_area": [ + "0x0", + "340x0", + "340x300", + "0x300" + ], + "printable_height": "300", + "nozzle_type": "hardened_steel", + "auxiliary_fan": "0", + "machine_max_acceleration_e": [ + "3000", + "3000" + ], + "machine_max_acceleration_extruding": [ + "1000", + "300" + ], + "machine_max_acceleration_retracting": [ + "3000", + "1500" + ], + "machine_max_acceleration_travel": [ + "1500", + "500" + ], + "machine_max_acceleration_x": [ + "1000", + "1000" + ], + "machine_max_acceleration_y": [ + "1000", + "1000" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "120", + "120" + ], + "machine_max_speed_x": [ + "500", + "200" + ], + "machine_max_speed_y": [ + "500", + "200" + ], + "machine_max_speed_z": [ + "12", + "12" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "5", + "5" + ], + "machine_max_jerk_y": [ + "5", + "5" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.4", + "0.4" + ], + "min_layer_height": [ + "0.1", + "0.1" + ], + "printer_settings_id": "Raise3D", + "retraction_minimum_travel": [ + "0.6", + "0.6" + ], + "retract_before_wipe": [ + "0%", + "0%" + ], + "retraction_length": [ + "0.5", + "0.5" + ], + "retract_length_toolchange": [ + "2", + "2" + ], + "retract_when_changing_layer": [ + "1", + "1" + ], + "retract_restart_extra": [ + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0" + ], + "retraction_speed": [ + "40", + "40" + ], + "deretraction_speed": [ + "0", + "0" + ], + "wipe": [ + "1", + "1" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "machine_pause_gcode": "; pause print\nM2000", + "default_filament_profile": [ + "Raise3D Generic PLA" + ], + "machine_start_gcode": ";Bounding Box: {digits(first_layer_print_min[0],0,2)} {if(first_layer_print_max[0]>300)}{300}{else}{digits(first_layer_print_max[0],0,2)}{endif} {digits(first_layer_print_min[1],0,2)} {if(first_layer_print_max[1]>300)}{300}{else}{digits(first_layer_print_max[1],0,2)}{endif}\n\nM104 T1 S{nozzle_temperature_initial_layer[1] - 20} ; raise right extruder temp\nM140 S[bed_temperature_initial_layer_single] ; raise bed temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp\nM109 T1 S{nozzle_temperature_initial_layer[1] - 20} ; wait for right extruder temp\nM104 T1 S{nozzle_temperature_initial_layer[1]} ; set right extruder temp\nM109 T1 S{nozzle_temperature_initial_layer[1]} ; wait for right extruder temp\nT1\nG21\nG90\nM82\nM107\nM106 P2 S0\nG1 Z0.3 F500\nG92 E0\nG1 Z0.3 F400\nG1 X100 Y{random(2,8)} F1000\nG1 X170 Y{random(2,8)} E15 F200\nG1 Z5 E15 F200\nG92 E0\nG1 Z10 F2000 ; move up from purge line\nG1 Y30 F2000 ; move away from purge line\nG1 X{(first_layer_print_max[0] + first_layer_print_min[0])/2} Y{(first_layer_print_max[1] + first_layer_print_min[1])/2} Z{initial_layer_print_height} ; move to center of print\nM117 Printing...\nM1001", + "machine_end_gcode": "M1002\nM221 T0 S100\nM104 S0\nM140 S0\nM107\nM106 P2 S0\nG91\nG1 E-1 F300\nG1 Z+0.5 E-5 X-20 Y-20 F9000.00\nG28 X0 Y0\nM84\nG90\nM106 P2 S0\n", + "toolchange_gcode": "; layer [layer_num] tool change", + "before_layer_change_gcode": "; before layer [layer_num] change\n{if layer_z <= initial_layer_print_height + layer_height * 2}\nM109 T1 S{nozzle_temperature_initial_layer[1]}\nM140 S[bed_temperature_initial_layer_single]\n{else}\nM109 T1 S{nozzle_temperature[1]}\nM140 S{bed_temperature[1]}\n{endif}\n{if (filament_type[0] ==\"PLA\" or filament_type[0] ==\"PETG\")}\n{if layer_z >= initial_layer_print_height + layer_height * 2}\nM106 P2 S150\n{elsif layer_z >= initial_layer_print_height + layer_height * 1}\nM106 P2 S100\n{else}\nM106 P2 S0\n{endif}\n{endif}", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Dual).json b/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Dual).json new file mode 100644 index 0000000000..27d82e0508 --- /dev/null +++ b/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Dual).json @@ -0,0 +1,152 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Raise3D Pro3 Plus 0.4 nozzle (Dual)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Raise3D Pro3 Plus", + "default_print_profile": "0.20mm Standard @Raise3D Pro3Plus", + "nozzle_diameter": [ + "0.4", + "0.4" + ], + "extruder_colour": [ + "#FCE94F", + "#FCE94F" + ], + "extruder_offset": [ + "0x0", + "0x0" + ], + "printable_area": [ + "0x0", + "340x0", + "340x300", + "0x300" + ], + "printable_height": "605", + "nozzle_type": "hardened_steel", + "auxiliary_fan": "0", + "machine_max_acceleration_e": [ + "3000", + "3000" + ], + "machine_max_acceleration_extruding": [ + "1000", + "300" + ], + "machine_max_acceleration_retracting": [ + "3000", + "1500" + ], + "machine_max_acceleration_travel": [ + "1500", + "500" + ], + "machine_max_acceleration_x": [ + "1000", + "1000" + ], + "machine_max_acceleration_y": [ + "1000", + "1000" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "120", + "120" + ], + "machine_max_speed_x": [ + "500", + "200" + ], + "machine_max_speed_y": [ + "500", + "200" + ], + "machine_max_speed_z": [ + "12", + "12" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "5", + "5" + ], + "machine_max_jerk_y": [ + "5", + "5" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.4", + "0.4" + ], + "min_layer_height": [ + "0.1", + "0.1" + ], + "printer_settings_id": "Raise3D", + "retraction_minimum_travel": [ + "0.6", + "0.6" + ], + "retract_before_wipe": [ + "0%", + "0%" + ], + "retraction_length": [ + "0.5", + "0.5" + ], + "retract_length_toolchange": [ + "2", + "2" + ], + "retract_when_changing_layer": [ + "1", + "1" + ], + "retract_restart_extra": [ + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0" + ], + "retraction_speed": [ + "40", + "40" + ], + "deretraction_speed": [ + "0", + "0" + ], + "wipe": [ + "1", + "1" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "machine_pause_gcode": "; pause print\nM2000", + "default_filament_profile": [ + "Raise3D Generic PLA" + ], + "machine_start_gcode": ";Bounding Box: {digits(first_layer_print_min[0],0,2)} {if(first_layer_print_max[0]>300)}{300}{else}{digits(first_layer_print_max[0],0,2)}{endif} {digits(first_layer_print_min[1],0,2)} {if(first_layer_print_max[1]>300)}{300}{else}{digits(first_layer_print_max[1],0,2)}{endif}\n\nM104 T0 S{nozzle_temperature_initial_layer[0] - 30} ; raise extruder one temp\nM104 T1 S{nozzle_temperature_initial_layer[1] - 30} ; raise extruder two temp\nM190 S{max(bed_temperature_initial_layer_single, bed_temperature_initial_layer_single)} ; wait for bed temp\nM109 T1 S{nozzle_temperature_initial_layer[1]} ; wait for extruder two temp\nT1\nG21\nG90\nM82\nM107\nM106 P2 S0\nG1 Z0.3 F500\nG92 E0\nG1 Z0.3 F400\nG1 X60 Y{random(2,8)} F1000\nG1 X110 Y{random(2,8)} E30 F200\nG1 Z0.3 E15 F200\nG92 E0\nG1 Z10 F2000 ; move up from purge line\nG1 X170 F2000 ; move away from purge line\nM104 T1 S{nozzle_temperature_initial_layer[1] - 30} ; lower extruder two temp\nM109 T0 S{nozzle_temperature_initial_layer[0]} ; wait for extruder one temp\nT0\nG1 Z0.3 F400\nG1 X220 Y{random(2,8)} F1000\nG1 X270 Y{random(2,8)} E18 F200\nG1 Z5 E15 F200\nG92 E0\nG1 Z10 F2000 ; move up from purge line\nG1 Y30 F2000 ; move away from purge line\nM104 T0 S{nozzle_temperature_initial_layer[1] - 30} ; lower extruder one temp\nG92 E0\nG1 X{(first_layer_print_max[0] + first_layer_print_min[0])/2} Y{(first_layer_print_max[1] + first_layer_print_min[1])/2} Z{initial_layer_print_height} ; move to center of print\nM117 Printing...", + "machine_end_gcode": "M221 T0 S100\nM104 S0\nM140 S0\nM107\nM106 P2 S0\nG91\nG1 E-1 F300\nG1 Z+0.5 E-5 X-20 Y-20 F9000.00\nG28 X0 Y0\nM84\nG90", + "toolchange_gcode": "; layer [layer_num] tool change\n{if layer_z < initial_layer_print_height + layer_height * 2}\nM104 T[current_extruder] S{nozzle_temperature_initial_layer[current_extruder] - 30}\nM109 T[next_extruder] S{nozzle_temperature_initial_layer[next_extruder]}\n{else}\nM104 T[current_extruder] S{nozzle_temperature[current_extruder] - 30}\nM109 T[next_extruder] S{nozzle_temperature[next_extruder]}\n{endif}", + "before_layer_change_gcode": "; before layer [layer_num] change\n{if layer_z <= initial_layer_print_height + layer_height * 2}\nM140 S{max(bed_temperature_initial_layer_single, bed_temperature_initial_layer_single)}\n{else}\nM140 S{max(bed_temperature[0], bed_temperature[1])}\n{endif}\n{if (filament_type[0] ==\"PLA\" or filament_type[0] ==\"PETG\")}\n{if layer_z >= initial_layer_print_height + layer_height * 2}\nM106 P2 S150\n{elsif layer_z >= initial_layer_print_height + layer_height * 1}\nM106 P2 S100\n{else}\nM106 P2 S0\n{endif}\n{endif}", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Left).json b/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Left).json new file mode 100644 index 0000000000..ea2ec01cd3 --- /dev/null +++ b/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Left).json @@ -0,0 +1,152 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Raise3D Pro3 Plus 0.4 nozzle (Left)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Raise3D Pro3 Plus", + "default_print_profile": "0.20mm Standard @Raise3D Pro3Plus", + "nozzle_diameter": [ + "0.4", + "0.4" + ], + "extruder_colour": [ + "#FCE94F", + "#FCE94F" + ], + "extruder_offset": [ + "0x0", + "0x0" + ], + "printable_area": [ + "0x0", + "340x0", + "340x300", + "0x300" + ], + "printable_height": "605", + "nozzle_type": "hardened_steel", + "auxiliary_fan": "0", + "machine_max_acceleration_e": [ + "3000", + "3000" + ], + "machine_max_acceleration_extruding": [ + "1000", + "300" + ], + "machine_max_acceleration_retracting": [ + "3000", + "1500" + ], + "machine_max_acceleration_travel": [ + "1500", + "500" + ], + "machine_max_acceleration_x": [ + "1000", + "1000" + ], + "machine_max_acceleration_y": [ + "1000", + "1000" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "120", + "120" + ], + "machine_max_speed_x": [ + "500", + "200" + ], + "machine_max_speed_y": [ + "500", + "200" + ], + "machine_max_speed_z": [ + "12", + "12" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "5", + "5" + ], + "machine_max_jerk_y": [ + "5", + "5" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.4", + "0.4" + ], + "min_layer_height": [ + "0.1", + "0.1" + ], + "printer_settings_id": "Raise3D", + "retraction_minimum_travel": [ + "0.6", + "0.6" + ], + "retract_before_wipe": [ + "0%", + "0%" + ], + "retraction_length": [ + "0.5", + "0.5" + ], + "retract_length_toolchange": [ + "2", + "2" + ], + "retract_when_changing_layer": [ + "1", + "1" + ], + "retract_restart_extra": [ + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0" + ], + "retraction_speed": [ + "40", + "40" + ], + "deretraction_speed": [ + "0", + "0" + ], + "wipe": [ + "1", + "1" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "machine_pause_gcode": "; pause print\nM2000", + "default_filament_profile": [ + "Raise3D Generic PLA" + ], + "machine_start_gcode": ";Bounding Box: {digits(first_layer_print_min[0],0,2)} {if(first_layer_print_max[0]>300)}{300}{else}{digits(first_layer_print_max[0],0,2)}{endif} {digits(first_layer_print_min[1],0,2)} {if(first_layer_print_max[1]>300)}{300}{else}{digits(first_layer_print_max[1],0,2)}{endif}\n\nM104 T0 S{nozzle_temperature_initial_layer[0] - 20} ; raise left extruder temp\nM140 S{nozzle_temperature_initial_layer[0]} ; raise bed temp\nM190 S{nozzle_temperature_initial_layer[0]} ; wait for bed temp\nM109 T0 S{nozzle_temperature_initial_layer[0] - 20} ; wait for left extruder temp\nM104 T0 S[nozzle_temperature_initial_layer] ; set left extruder temp\nM109 T0 S[nozzle_temperature_initial_layer] ; wait for left extruder temp\nT0\nG21\nG90\nM82\nM107\nM106 P2 S0\nG1 Z0.3 F500\nG92 E0\nG1 Z0.3 F400\nG1 X100 Y{random(2,8)} F1000\nG1 X170 Y{random(2,8)} E15 F200\nG1 Z5 E15 F200\nG92 E0\nG1 Z10 F2000 ; move up from purge line\nG1 Y30 F2000 ; move away from purge line\nG1 X{(first_layer_print_max[0] + first_layer_print_min[0])/2} Y{(first_layer_print_max[1] + first_layer_print_min[1])/2} Z{initial_layer_print_height} ; move to center of print\nM117 Printing...\nM1001", + "machine_end_gcode": "M1002\nM221 T0 S100\nM104 S0\nM140 S0\nM107\nM106 P2 S0\nG91\nG1 E-1 F300\nG1 Z+0.5 E-5 X-20 Y-20 F9000.00\nG28 X0 Y0\nM84\nG90\n", + "toolchange_gcode": "; layer [layer_num] tool change", + "before_layer_change_gcode": "; before layer [layer_num] change\n{if layer_z <= initial_layer_print_height + layer_height * 2}\nM109 T0 S{nozzle_temperature_initial_layer[0]}\nM140 S[bed_temperature_initial_layer_single]\n{else}\nM109 T0 S{nozzle_temperature[0]}\nM140 S{bed_temperature[0]}\n{endif}\n{if (filament_type[0] ==\"PLA\" or filament_type[0] ==\"PETG\")}\n{if layer_z >= initial_layer_print_height + layer_height * 2}\nM106 P2 S150\n{elsif layer_z >= initial_layer_print_height + layer_height * 1}\nM106 P2 S100\n{else}\nM106 P2 S0\n{endif}\n{endif}", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Right).json b/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Right).json new file mode 100644 index 0000000000..d03f8ff915 --- /dev/null +++ b/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Right).json @@ -0,0 +1,152 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Raise3D Pro3 Plus 0.4 nozzle (Right)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Raise3D Pro3 Plus", + "default_print_profile": "0.20mm Standard @Raise3D Pro3Plus", + "nozzle_diameter": [ + "0.4", + "0.4" + ], + "extruder_colour": [ + "#FCE94F", + "#FCE94F" + ], + "extruder_offset": [ + "0x0", + "0x0" + ], + "printable_area": [ + "0x0", + "340x0", + "340x300", + "0x300" + ], + "printable_height": "605", + "nozzle_type": "hardened_steel", + "auxiliary_fan": "0", + "machine_max_acceleration_e": [ + "3000", + "3000" + ], + "machine_max_acceleration_extruding": [ + "1000", + "300" + ], + "machine_max_acceleration_retracting": [ + "3000", + "1500" + ], + "machine_max_acceleration_travel": [ + "1500", + "500" + ], + "machine_max_acceleration_x": [ + "1000", + "1000" + ], + "machine_max_acceleration_y": [ + "1000", + "1000" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "120", + "120" + ], + "machine_max_speed_x": [ + "500", + "200" + ], + "machine_max_speed_y": [ + "500", + "200" + ], + "machine_max_speed_z": [ + "12", + "12" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "5", + "5" + ], + "machine_max_jerk_y": [ + "5", + "5" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.4", + "0.4" + ], + "min_layer_height": [ + "0.1", + "0.1" + ], + "printer_settings_id": "Raise3D", + "retraction_minimum_travel": [ + "0.6", + "0.6" + ], + "retract_before_wipe": [ + "0%", + "0%" + ], + "retraction_length": [ + "0.5", + "0.5" + ], + "retract_length_toolchange": [ + "2", + "2" + ], + "retract_when_changing_layer": [ + "1", + "1" + ], + "retract_restart_extra": [ + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0" + ], + "retraction_speed": [ + "40", + "40" + ], + "deretraction_speed": [ + "0", + "0" + ], + "wipe": [ + "1", + "1" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "machine_pause_gcode": "; pause print\nM2000", + "default_filament_profile": [ + "Raise3D Generic PLA" + ], + "machine_start_gcode": ";Bounding Box: {digits(first_layer_print_min[0],0,2)} {if(first_layer_print_max[0]>300)}{300}{else}{digits(first_layer_print_max[0],0,2)}{endif} {digits(first_layer_print_min[1],0,2)} {if(first_layer_print_max[1]>300)}{300}{else}{digits(first_layer_print_max[1],0,2)}{endif}\n\nM104 T1 S{nozzle_temperature_initial_layer[1] - 20} ; raise right extruder temp\nM140 S[bed_temperature_initial_layer_single] ; raise bed temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp\nM109 T1 S{nozzle_temperature_initial_layer[1] - 20} ; wait for right extruder temp\nM104 T1 S{nozzle_temperature_initial_layer[1]} ; set right extruder temp\nM109 T1 S{nozzle_temperature_initial_layer[1]} ; wait for right extruder temp\nT1\nG21\nG90\nM82\nM107\nM106 P2 S0\nG1 Z0.3 F500\nG92 E0\nG1 Z0.3 F400\nG1 X100 Y{random(2,8)} F1000\nG1 X170 Y{random(2,8)} E15 F200\nG1 Z5 E15 F200\nG92 E0\nG1 Z10 F2000 ; move up from purge line\nG1 Y30 F2000 ; move away from purge line\nG1 X{(first_layer_print_max[0] + first_layer_print_min[0])/2} Y{(first_layer_print_max[1] + first_layer_print_min[1])/2} Z{initial_layer_print_height} ; move to center of print\nM117 Printing...\nM1001", + "machine_end_gcode": "M1002\nM221 T0 S100\nM104 S0\nM140 S0\nM107\nM106 P2 S0\nG91\nG1 E-1 F300\nG1 Z+0.5 E-5 X-20 Y-20 F9000.00\nG28 X0 Y0\nM84\nG90\nM106 P2 S0\n", + "toolchange_gcode": "; layer [layer_num] tool change", + "before_layer_change_gcode": "; before layer [layer_num] change\n{if layer_z <= initial_layer_print_height + layer_height * 2}\nM109 T1 S{nozzle_temperature_initial_layer[1]}\nM140 S[bed_temperature_initial_layer_single]\n{else}\nM109 T1 S{nozzle_temperature[1]}\nM140 S{bed_temperature[1]}\n{endif}\n{if (filament_type[0] ==\"PLA\" or filament_type[0] ==\"PETG\")}\n{if layer_z >= initial_layer_print_height + layer_height * 2}\nM106 P2 S150\n{elsif layer_z >= initial_layer_print_height + layer_height * 1}\nM106 P2 S100\n{else}\nM106 P2 S0\n{endif}\n{endif}", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus.json b/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus.json new file mode 100644 index 0000000000..6606ec0e62 --- /dev/null +++ b/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Raise3D Pro3 Plus", + "model_id": "Raise3D-Pro3-Plus", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Raise3D", + "bed_model": "raise3d_pro3plus_buildplate_model.stl", + "bed_texture": "raise3d_pro3plus_buildplate_texture.png", + "hotend_model": "", + "default_materials": "Raise3D Generic ASA;Raise3D Generic PETG;Raise3D Generic PLA;Raise3D Generic PVA;Raise3D Generic TPU" +} diff --git a/resources/profiles/Raise3D/machine/Raise3D Pro3.json b/resources/profiles/Raise3D/machine/Raise3D Pro3.json new file mode 100644 index 0000000000..bcfc8bc769 --- /dev/null +++ b/resources/profiles/Raise3D/machine/Raise3D Pro3.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Raise3D Pro3", + "model_id": "Raise3D-Pro3", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Raise3D", + "bed_model": "raise3d_pro3_buildplate_model.stl", + "bed_texture": "raise3d_pro3_buildplate_texture.png", + "hotend_model": "", + "default_materials": "Raise3D Generic ASA;Raise3D Generic PETG;Raise3D Generic PLA;Raise3D Generic PVA;Raise3D Generic TPU" +} diff --git a/resources/profiles/Raise3D/machine/fdm_machine_common.json b/resources/profiles/Raise3D/machine/fdm_machine_common.json new file mode 100644 index 0000000000..ea4531cc3d --- /dev/null +++ b/resources/profiles/Raise3D/machine/fdm_machine_common.json @@ -0,0 +1,117 @@ +{ + "type": "machine", + "name": "fdm_machine_common", + "from": "system", + "instantiation": "false", + "printer_technology": "FFF", + "deretraction_speed": [ + "40" + ], + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "gcode_flavor": "marlin", + "silent_mode": "0", + "machine_max_acceleration_e": [ + "5000" + ], + "machine_max_acceleration_extruding": [ + "500" + ], + "machine_max_acceleration_retracting": [ + "1000" + ], + "machine_max_acceleration_x": [ + "500" + ], + "machine_max_acceleration_y": [ + "500" + ], + "machine_max_acceleration_z": [ + "100" + ], + "machine_max_speed_e": [ + "60" + ], + "machine_max_speed_x": [ + "500" + ], + "machine_max_speed_y": [ + "500" + ], + "machine_max_speed_z": [ + "10" + ], + "machine_max_jerk_e": [ + "5" + ], + "machine_max_jerk_x": [ + "8" + ], + "machine_max_jerk_y": [ + "8" + ], + "machine_max_jerk_z": [ + "0.4" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "printable_height": "250", + "extruder_clearance_radius": "65", + "extruder_clearance_height_to_rod": "36", + "extruder_clearance_height_to_lid": "140", + "nozzle_diameter": [ + "0.4" + ], + "printer_settings_id": "", + "printer_variant": "0.4", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "5" + ], + "retract_length_toolchange": [ + "1" + ], + "z_hop": [ + "0" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retraction_speed": [ + "60" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "wipe": [ + "1" + ], + "z_lift_type": "NormalLift", + "default_print_profile": "", + "machine_start_gcode": "", + "machine_end_gcode": "" +} diff --git a/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3.json b/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3.json new file mode 100644 index 0000000000..af384fc28f --- /dev/null +++ b/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3.json @@ -0,0 +1,110 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.10mm Fine @Raise3D Pro3", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.1", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "10", + "brim_width": "5", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "0", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.3", + "infill_combination": "0", + "sparse_infill_line_width": "0.4", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "5%", + "ironing_spacing": "0.1", + "ironing_speed": "10", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.4", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "3", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0.4", + "spiral_mode": "0", + "standby_temperature_delta": "-20", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.08", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.1", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.1", + "support_speed": "60", + "support_threshold_angle": "40", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "15", + "inner_wall_speed": "20", + "internal_solid_infill_speed": "70", + "top_surface_speed": "35", + "gap_infill_speed": "25", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "40", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Raise3D Pro3 0.4 nozzle (Dual)", + "Raise3D Pro3 0.4 nozzle (Left)", + "Raise3D Pro3 0.4 nozzle (Right)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3Plus.json b/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3Plus.json new file mode 100644 index 0000000000..1dea3021e6 --- /dev/null +++ b/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3Plus.json @@ -0,0 +1,110 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.10mm Fine @Raise3D Pro3Plus", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.1", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "10", + "brim_width": "5", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "0", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.3", + "infill_combination": "0", + "sparse_infill_line_width": "0.4", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "5%", + "ironing_spacing": "0.1", + "ironing_speed": "10", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.4", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "3", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0.4", + "spiral_mode": "0", + "standby_temperature_delta": "-20", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.08", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.1", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.1", + "support_speed": "60", + "support_threshold_angle": "40", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "15", + "inner_wall_speed": "20", + "internal_solid_infill_speed": "70", + "top_surface_speed": "35", + "gap_infill_speed": "25", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "40", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Raise3D Pro3 Plus 0.4 nozzle (Dual)", + "Raise3D Pro3 Plus 0.4 nozzle (Left)", + "Raise3D Pro3 Plus 0.4 nozzle (Right)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3.json b/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3.json new file mode 100644 index 0000000000..1c2ecdc268 --- /dev/null +++ b/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3.json @@ -0,0 +1,110 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Raise3D Pro3", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "10", + "brim_width": "5", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "0", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.3", + "infill_combination": "0", + "sparse_infill_line_width": "0.4", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "5%", + "ironing_spacing": "0.1", + "ironing_speed": "10", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.4", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "3", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0.4", + "spiral_mode": "0", + "standby_temperature_delta": "-20", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.19", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "60", + "support_threshold_angle": "40", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "25", + "inner_wall_speed": "30", + "internal_solid_infill_speed": "70", + "top_surface_speed": "35", + "gap_infill_speed": "25", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "40", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Raise3D Pro3 0.4 nozzle (Dual)", + "Raise3D Pro3 0.4 nozzle (Left)", + "Raise3D Pro3 0.4 nozzle (Right)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3Plus.json b/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3Plus.json new file mode 100644 index 0000000000..f5a59c1e13 --- /dev/null +++ b/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3Plus.json @@ -0,0 +1,110 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Raise3D Pro3Plus", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "10", + "brim_width": "5", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "0", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.3", + "infill_combination": "0", + "sparse_infill_line_width": "0.4", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "5%", + "ironing_spacing": "0.1", + "ironing_speed": "10", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.4", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "3", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0.4", + "spiral_mode": "0", + "standby_temperature_delta": "-20", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.19", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "60", + "support_threshold_angle": "40", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "25", + "inner_wall_speed": "30", + "internal_solid_infill_speed": "70", + "top_surface_speed": "35", + "gap_infill_speed": "25", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "40", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Raise3D Pro3 Plus 0.4 nozzle (Dual)", + "Raise3D Pro3 Plus 0.4 nozzle (Left)", + "Raise3D Pro3 Plus 0.4 nozzle (Right)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3.json b/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3.json new file mode 100644 index 0000000000..a82cca88bd --- /dev/null +++ b/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3.json @@ -0,0 +1,110 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.25mm Draft @Raise3D Pro3", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.25", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "10", + "brim_width": "5", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "0", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.3", + "infill_combination": "0", + "sparse_infill_line_width": "0.4", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "5%", + "ironing_spacing": "0.1", + "ironing_speed": "10", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.4", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "3", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0.4", + "spiral_mode": "0", + "standby_temperature_delta": "-20", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.24", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.25", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.25", + "support_speed": "60", + "support_threshold_angle": "40", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "35", + "inner_wall_speed": "30", + "internal_solid_infill_speed": "70", + "top_surface_speed": "35", + "gap_infill_speed": "25", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "40", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Raise3D Pro3 0.4 nozzle (Dual)", + "Raise3D Pro3 0.4 nozzle (Left)", + "Raise3D Pro3 0.4 nozzle (Right)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3Plus.json b/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3Plus.json new file mode 100644 index 0000000000..3260b2e709 --- /dev/null +++ b/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3Plus.json @@ -0,0 +1,110 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.25mm Draft @Raise3D Pro3Plus", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.25", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "10", + "brim_width": "5", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "0", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.3", + "infill_combination": "0", + "sparse_infill_line_width": "0.4", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "5%", + "ironing_spacing": "0.1", + "ironing_speed": "10", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.4", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "3", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0.4", + "spiral_mode": "0", + "standby_temperature_delta": "-20", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.24", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.25", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.25", + "support_speed": "60", + "support_threshold_angle": "40", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "35", + "inner_wall_speed": "30", + "internal_solid_infill_speed": "70", + "top_surface_speed": "35", + "gap_infill_speed": "25", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "40", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Raise3D Pro3 Plus 0.4 nozzle (Dual)", + "Raise3D Pro3 Plus 0.4 nozzle (Left)", + "Raise3D Pro3 Plus 0.4 nozzle (Right)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Raise3D/process/fdm_process_common.json b/resources/profiles/Raise3D/process/fdm_process_common.json new file mode 100644 index 0000000000..4057092f54 --- /dev/null +++ b/resources/profiles/Raise3D/process/fdm_process_common.json @@ -0,0 +1,70 @@ +{ + "type": "process", + "name": "fdm_process_common", + "from": "system", + "instantiation": "false", + "adaptive_layer_height": "0", + "reduce_crossing_wall": "0", + "bridge_flow": "0.95", + "bridge_speed": "10", + "brim_width": "5", + "compatible_printers": [], + "print_sequence": "by layer", + "default_acceleration": "0", + "bridge_no_support": "0", + "elefant_foot_compensation": "0.1", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "25", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "gap_infill_speed": "25", + "infill_combination": "0", + "sparse_infill_line_width": "0.4", + "infill_wall_overlap": "25%", + "sparse_infill_speed": "70", + "interface_shells": "0", + "detect_overhang_wall": "0", + "reduce_infill_retraction": "0", + "filename_format": "{input_filename_base}.gcode", + "wall_loops": "3", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "40", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "nearest", + "skirt_distance": "2", + "skirt_height": "2", + "minimum_sparse_infill_area": "0", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": "60", + "spiral_mode": "0", + "standby_temperature_delta": "-20", + "enable_support": "0", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_filament": "0", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_interface_loop_pattern": "0", + "support_interface_top_layers": "2", + "support_interface_spacing": "0", + "support_interface_speed": "80", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "40", + "support_object_xy_distance": "0.5", + "detect_thin_wall": "0", + "top_surface_line_width": "0.4", + "top_surface_speed": "35", + "travel_speed": "150", + "enable_prime_tower": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0" +} diff --git a/resources/profiles/Raise3D/raise3d_pro3_buildplate_model.stl b/resources/profiles/Raise3D/raise3d_pro3_buildplate_model.stl new file mode 100644 index 0000000000..b68eaca64a Binary files /dev/null and b/resources/profiles/Raise3D/raise3d_pro3_buildplate_model.stl differ diff --git a/resources/profiles/Raise3D/raise3d_pro3_buildplate_texture.png b/resources/profiles/Raise3D/raise3d_pro3_buildplate_texture.png new file mode 100644 index 0000000000..1b1672afd3 Binary files /dev/null and b/resources/profiles/Raise3D/raise3d_pro3_buildplate_texture.png differ diff --git a/resources/profiles/Raise3D/raise3d_pro3plus_buildplate_model.stl b/resources/profiles/Raise3D/raise3d_pro3plus_buildplate_model.stl new file mode 100644 index 0000000000..b68eaca64a Binary files /dev/null and b/resources/profiles/Raise3D/raise3d_pro3plus_buildplate_model.stl differ diff --git a/resources/profiles/Raise3D/raise3d_pro3plus_buildplate_texture.png b/resources/profiles/Raise3D/raise3d_pro3plus_buildplate_texture.png new file mode 100644 index 0000000000..1b1672afd3 Binary files /dev/null and b/resources/profiles/Raise3D/raise3d_pro3plus_buildplate_texture.png differ diff --git a/resources/profiles/Sovol.json b/resources/profiles/Sovol.json index 55820ca6ae..f6e66daa7e 100644 --- a/resources/profiles/Sovol.json +++ b/resources/profiles/Sovol.json @@ -16,6 +16,14 @@ { "name": "Sovol SV05", "sub_path": "machine/Sovol SV05.json" + }, + { + "name": "Sovol SV06", + "sub_path": "machine/Sovol SV06.json" + }, + { + "name": "Sovol SV06 Plus", + "sub_path": "machine/Sovol SV06 Plus.json" } ], "process_list": [ @@ -34,6 +42,14 @@ { "name": "0.18mm Optimal @Sovol SV05", "sub_path": "process/0.18mm Optimal @Sovol SV05.json" + }, + { + "name": "0.18mm Optimal @Sovol SV06", + "sub_path": "process/0.18mm Optimal @Sovol SV06.json" + }, + { + "name": "0.18mm Optimal @Sovol SV06Plus", + "sub_path": "process/0.18mm Optimal @Sovol SV06Plus.json" }, { "name": "0.20mm Standard @Sovol SV01Pro", @@ -46,6 +62,14 @@ { "name": "0.20mm Standard @Sovol SV05", "sub_path": "process/0.20mm Standard @Sovol SV05.json" + }, + { + "name": "0.20mm Standard @Sovol SV06", + "sub_path": "process/0.20mm Standard @Sovol SV06.json" + }, + { + "name": "0.20mm Standard @Sovol SV06Plus", + "sub_path": "process/0.20mm Standard @Sovol SV06Plus.json" } ], "filament_list": [ @@ -94,6 +118,14 @@ { "name": "Sovol SV05 0.4 nozzle", "sub_path": "machine/Sovol SV05 0.4 nozzle.json" + }, + { + "name": "Sovol SV06 0.4 nozzle", + "sub_path": "machine/Sovol SV06 0.4 nozzle.json" + }, + { + "name": "Sovol SV06 Plus 0.4 nozzle", + "sub_path": "machine/Sovol SV06 Plus 0.4 nozzle.json" } ] } diff --git a/resources/profiles/Sovol/Sovol SV06 Plus_cover.png b/resources/profiles/Sovol/Sovol SV06 Plus_cover.png new file mode 100644 index 0000000000..71a5061832 Binary files /dev/null and b/resources/profiles/Sovol/Sovol SV06 Plus_cover.png differ diff --git a/resources/profiles/Sovol/Sovol SV06_cover.png b/resources/profiles/Sovol/Sovol SV06_cover.png new file mode 100644 index 0000000000..9cda534e6a Binary files /dev/null and b/resources/profiles/Sovol/Sovol SV06_cover.png differ diff --git a/resources/profiles/Sovol/filament/Sovol Generic ABS.json b/resources/profiles/Sovol/filament/Sovol Generic ABS.json index 60d51360dc..e6ccdd6ba1 100644 --- a/resources/profiles/Sovol/filament/Sovol Generic ABS.json +++ b/resources/profiles/Sovol/filament/Sovol Generic ABS.json @@ -15,6 +15,8 @@ "compatible_printers": [ "Sovol SV01 Pro 0.4 nozzle", "Sovol SV02 0.4 nozzle", - "Sovol SV05 0.4 nozzle" + "Sovol SV05 0.4 nozzle", + "Sovol SV06 0.4 nozzle", + "Sovol SV06 Plus 0.4 nozzle" ] } diff --git a/resources/profiles/Sovol/filament/Sovol Generic PETG.json b/resources/profiles/Sovol/filament/Sovol Generic PETG.json index 403ea5c4a9..8bcad4645f 100644 --- a/resources/profiles/Sovol/filament/Sovol Generic PETG.json +++ b/resources/profiles/Sovol/filament/Sovol Generic PETG.json @@ -42,6 +42,8 @@ "compatible_printers": [ "Sovol SV01 Pro 0.4 nozzle", "Sovol SV02 0.4 nozzle", - "Sovol SV05 0.4 nozzle" + "Sovol SV05 0.4 nozzle", + "Sovol SV06 0.4 nozzle", + "Sovol SV06 Plus 0.4 nozzle" ] } diff --git a/resources/profiles/Sovol/filament/Sovol Generic PLA.json b/resources/profiles/Sovol/filament/Sovol Generic PLA.json index 6a942e975b..d627e37f21 100644 --- a/resources/profiles/Sovol/filament/Sovol Generic PLA.json +++ b/resources/profiles/Sovol/filament/Sovol Generic PLA.json @@ -18,6 +18,8 @@ "compatible_printers": [ "Sovol SV01 Pro 0.4 nozzle", "Sovol SV02 0.4 nozzle", - "Sovol SV05 0.4 nozzle" + "Sovol SV05 0.4 nozzle", + "Sovol SV06 0.4 nozzle", + "Sovol SV06 Plus 0.4 nozzle" ] } diff --git a/resources/profiles/Sovol/filament/fdm_filament_common.json b/resources/profiles/Sovol/filament/fdm_filament_common.json index 823c736e8a..9f77975119 100644 --- a/resources/profiles/Sovol/filament/fdm_filament_common.json +++ b/resources/profiles/Sovol/filament/fdm_filament_common.json @@ -61,7 +61,7 @@ "nil" ], "filament_diameter": [ - "2.85" + "1.75" ], "filament_max_volumetric_speed": [ "0" diff --git a/resources/profiles/Sovol/machine/Sovol SV01 Pro 0.4 nozzle.json b/resources/profiles/Sovol/machine/Sovol SV01 Pro 0.4 nozzle.json index 2a6112d7a1..13c289b10a 100644 --- a/resources/profiles/Sovol/machine/Sovol SV01 Pro 0.4 nozzle.json +++ b/resources/profiles/Sovol/machine/Sovol SV01 Pro 0.4 nozzle.json @@ -103,7 +103,7 @@ "default_filament_profile": [ "Sovol Generic PLA" ], - "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S{hot_plate_temp_initial_layer} ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S{nozzle_temperature_initial_layer} ; set final nozzle temp\nM190 S{hot_plate_temp_initial_layer} ; wait for bed temp to stabilize\nM109 S{nozzle_temperature_initial_layer} ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", "scan_first_layer": "0" } \ No newline at end of file diff --git a/resources/profiles/Sovol/machine/Sovol SV02 0.4 nozzle.json b/resources/profiles/Sovol/machine/Sovol SV02 0.4 nozzle.json index ebf3b78519..d8c221c769 100644 --- a/resources/profiles/Sovol/machine/Sovol SV02 0.4 nozzle.json +++ b/resources/profiles/Sovol/machine/Sovol SV02 0.4 nozzle.json @@ -135,7 +135,7 @@ "default_filament_profile": [ "Sovol Generic PLA" ], - "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[nozzle_temperature_initial_layer] ; set extruder temp\nM140 S[hot_plate_temp_initial_layer] ; set bed temp\nM190 S[hot_plate_temp_initial_layer] ; wait for bed temp\nM109 S[nozzle_temperature_initial_layer] ; wait for extruder temp\nG28 ; home all\nG1 Z2 F240\nG1 X2 Y10 F3000\nG1 Z0.28 F240\nG92 E0\nG1 Y190 E15 F1500 ; intro line\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E15 F1200 ; intro line\nG92 E0", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[nozzle_temperature_initial_layer] ; set extruder temp\nM140 S[bed_temperature_initial_layer_single] ; set bed temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp\nM109 S[nozzle_temperature_initial_layer] ; wait for extruder temp\nG28 ; home all\nG1 Z2 F240\nG1 X2 Y10 F3000\nG1 Z0.28 F240\nG92 E0\nG1 Y190 E15 F1500 ; intro line\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E15 F1200 ; intro line\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", "scan_first_layer": "0" } \ No newline at end of file diff --git a/resources/profiles/Sovol/machine/Sovol SV05 0.4 nozzle.json b/resources/profiles/Sovol/machine/Sovol SV05 0.4 nozzle.json index 0555504a1f..ee4c86210a 100644 --- a/resources/profiles/Sovol/machine/Sovol SV05 0.4 nozzle.json +++ b/resources/profiles/Sovol/machine/Sovol SV05 0.4 nozzle.json @@ -103,7 +103,7 @@ "default_filament_profile": [ "Sovol Generic PLA" ], - "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S{hot_plate_temp_initial_layer} ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S{nozzle_temperature_initial_layer} ; set final nozzle temp\nM190 S{hot_plate_temp_initial_layer} ; wait for bed temp to stabilize\nM109 S{nozzle_temperature_initial_layer} ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", "scan_first_layer": "0" } \ No newline at end of file diff --git a/resources/profiles/Sovol/machine/Sovol SV06 0.4 nozzle.json b/resources/profiles/Sovol/machine/Sovol SV06 0.4 nozzle.json new file mode 100644 index 0000000000..2db824de74 --- /dev/null +++ b/resources/profiles/Sovol/machine/Sovol SV06 0.4 nozzle.json @@ -0,0 +1,114 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Sovol SV06 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Sovol SV06", + "default_print_profile": "0.20mm Standard @Sovol SV06", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "220x0", + "220x220", + "0x220" + ], + "printable_height": "250", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "machine_max_acceleration_extruding": [ + "1000", + "1250" + ], + "machine_max_acceleration_retracting": [ + "1000", + "1250" + ], + "machine_max_acceleration_travel": [ + "1500", + "1250" + ], + "machine_max_acceleration_x": [ + "500", + "960" + ], + "machine_max_acceleration_y": [ + "500", + "960" + ], + "machine_max_acceleration_z": [ + "100", + "200" + ], + "machine_max_speed_e": [ + "30", + "120" + ], + "machine_max_speed_x": [ + "80", + "100" + ], + "machine_max_speed_y": [ + "80", + "100" + ], + "machine_max_speed_z": [ + "10", + "12" + ], + "machine_max_jerk_e": [ + "5", + "4.5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.25" + ], + "min_layer_height": [ + "0.07" + ], + "printer_settings_id": "Sovol", + "retraction_minimum_travel": [ + "1" + ], + "retract_before_wipe": [ + "0%" + ], + "retraction_length": [ + "0.5" + ], + "retract_length_toolchange": [ + "4" + ], + "retraction_speed": [ + "30" + ], + "deretraction_speed": [ + "30" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "M600\nG1 E0.4 F1500 ; prime after color change", + "machine_pause_gcode": "M601", + "default_filament_profile": [ + "Sovol Generic PLA" + ], + "machine_start_gcode": "G90 ; use absoulte coordinates\nM83 ; extruder relative mode\n\nM104 S150 ; set nozzle temp to 150\n\nG28 ; home all axes\nM420 S1 ;load mesh\n\nM140 S[bed_temperature_initial_layer_single] ; set bed temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM104 S[nozzle_temperature_initial_layer] ; set final extruder temp\nM109 S[nozzle_temperature_initial_layer] ; wait for extruder temp\n\nG1 X0.1 Y10 Z5.0 F1500 ; move to start position\nG1 Z0.26 F150 ; Move lower\nG4 S0.5 ; wait 0.5 seconds\n\nG1 X0.1 Y150 Z0.3 F1500 E10 ; prime the nozzle\nG1 X0.3 F1500\nG1 X0.4 Y15 Z0.3 F1500 E15 ; prime the nozzle\nG4 S0.1 ; wait 0.1 seconds\n\nG1 Z0.6 F150 ; lift nozzle\nG92 E0 ; Reset Extruder\nG1 Z2 F150 ; lift nozzle more\n", + "machine_end_gcode": "M117 READY\n\nG1 E0 F1000 ; reset extruder\n\nG91 ; relative positioning\nG1 Z2 F1000 ; lift nozzle\n\nG90 ; absolute positioning\nG27 P2 ; park extruder\n\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\n\n", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Sovol/machine/Sovol SV06 Plus 0.4 nozzle.json b/resources/profiles/Sovol/machine/Sovol SV06 Plus 0.4 nozzle.json new file mode 100644 index 0000000000..63133e1b1a --- /dev/null +++ b/resources/profiles/Sovol/machine/Sovol SV06 Plus 0.4 nozzle.json @@ -0,0 +1,114 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Sovol SV06 Plus 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Sovol SV06 Plus", + "default_print_profile": "0.20mm Standard @Sovol SV06Plus", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "300x0", + "300x300", + "0x300" + ], + "printable_height": "340", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "machine_max_acceleration_extruding": [ + "1000", + "1250" + ], + "machine_max_acceleration_retracting": [ + "1000", + "1250" + ], + "machine_max_acceleration_travel": [ + "1500", + "1250" + ], + "machine_max_acceleration_x": [ + "1500", + "960" + ], + "machine_max_acceleration_y": [ + "1500", + "960" + ], + "machine_max_acceleration_z": [ + "200", + "200" + ], + "machine_max_speed_e": [ + "120", + "120" + ], + "machine_max_speed_x": [ + "140", + "140" + ], + "machine_max_speed_y": [ + "140", + "140" + ], + "machine_max_speed_z": [ + "12", + "12" + ], + "machine_max_jerk_e": [ + "10", + "4.5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "2", + "0.4" + ], + "max_layer_height": [ + "0.25" + ], + "min_layer_height": [ + "0.07" + ], + "printer_settings_id": "Sovol", + "retraction_minimum_travel": [ + "0.5" + ], + "retract_before_wipe": [ + "0%" + ], + "retraction_length": [ + "0.5" + ], + "retract_length_toolchange": [ + "1" + ], + "retraction_speed": [ + "30" + ], + "deretraction_speed": [ + "30" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "M600\nG1 E0.4 F1500 ; prime after color change", + "machine_pause_gcode": "M601", + "default_filament_profile": [ + "Sovol Generic PLA" + ], + "machine_start_gcode": "G90 ; use absoulte coordinates\nM83 ; extruder relative mode\n\nM104 S150 ; set nozzle temp to 150\n\nG28 ; home all axes\nM420 S1 ;load mesh\n\nM140 S[bed_temperature_initial_layer_single] ; set bed temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM104 S[nozzle_temperature_initial_layer] ; set final extruder temp\nM109 S[nozzle_temperature_initial_layer] ; wait for extruder temp\n\nG1 X0.1 Y10 Z5.0 F1500 ; move to start position\nG1 Z0.26 F150 ; Move lower\nG4 S0.5 ; wait 0.5 seconds\n\nG1 X0.1 Y150 Z0.3 F1500 E10 ; prime the nozzle\nG1 X0.3 F1500\nG1 X0.4 Y15 Z0.3 F1500 E15 ; prime the nozzle\nG4 S0.1 ; wait 0.1 seconds\n\nG1 Z0.6 F150 ; lift nozzle\nG92 E0 ; Reset Extruder\nG1 Z2 F150 ; lift nozzle more\n", + "machine_end_gcode": "M117 READY\n\nG1 E0 F1000 ; reset extruder\n\nG91 ; relative positioning\nG1 Z2 F1000 ; lift nozzle\n\nG90 ; absolute positioning\nG27 P2 ; park extruder\n\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\n\n", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Sovol/machine/Sovol SV06 Plus.json b/resources/profiles/Sovol/machine/Sovol SV06 Plus.json new file mode 100644 index 0000000000..5e9e06b1ba --- /dev/null +++ b/resources/profiles/Sovol/machine/Sovol SV06 Plus.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Sovol SV06 Plus", + "model_id": "Sovol-SV06-Plus", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Sovol", + "bed_model": "sovol_sv06plus_buildplate_model.stl", + "bed_texture": "sovol_sv06plus_buildplate_texture.png", + "hotend_model": "", + "default_materials": "Sovol Generic ABS;Sovol Generic PETG;Sovol Generic PLA" +} diff --git a/resources/profiles/Sovol/machine/Sovol SV06.json b/resources/profiles/Sovol/machine/Sovol SV06.json new file mode 100644 index 0000000000..25a69810d9 --- /dev/null +++ b/resources/profiles/Sovol/machine/Sovol SV06.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Sovol SV06", + "model_id": "Sovol-SV06", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Sovol", + "bed_model": "sovol_sv06_buildplate_model.stl", + "bed_texture": "sovol_sv06_buildplate_texture.png", + "hotend_model": "", + "default_materials": "Sovol Generic ABS;Sovol Generic PETG;Sovol Generic PLA" +} diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06.json new file mode 100644 index 0000000000..452fb312bd --- /dev/null +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06.json @@ -0,0 +1,109 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.18mm Optimal @Sovol SV06", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.18", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bridge_flow": "0.85", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "outer_wall_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.42", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.44", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "0", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.24", + "infill_combination": "0", + "sparse_infill_line_width": "0.44", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.25", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "3", + "skirt_height": "2", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.15", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "40", + "support_threshold_angle": "40", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Sovol SV06 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06Plus.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06Plus.json new file mode 100644 index 0000000000..91b5b47d3c --- /dev/null +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06Plus.json @@ -0,0 +1,109 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.18mm Optimal @Sovol SV06Plus", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.18", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bridge_flow": "0.85", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "outer_wall_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.42", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.44", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "0", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.24", + "infill_combination": "0", + "sparse_infill_line_width": "0.44", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.25", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "3", + "skirt_height": "2", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.15", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "40", + "support_threshold_angle": "40", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Sovol SV06 Plus 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06.json new file mode 100644 index 0000000000..25ac14f9ea --- /dev/null +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06.json @@ -0,0 +1,109 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Sovol SV06", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.20", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bridge_flow": "0.85", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "outer_wall_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.42", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.44", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "0", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.24", + "infill_combination": "0", + "sparse_infill_line_width": "0.44", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.25", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "3", + "skirt_height": "2", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.18", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "40", + "support_threshold_angle": "40", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Sovol SV06 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06Plus.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06Plus.json new file mode 100644 index 0000000000..f15d8abaa2 --- /dev/null +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06Plus.json @@ -0,0 +1,109 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Sovol SV06Plus", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.20", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bridge_flow": "0.85", + "bridge_speed": "25", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "outer_wall_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.42", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.44", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "0", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.24", + "infill_combination": "0", + "sparse_infill_line_width": "0.44", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.25", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "3", + "skirt_height": "2", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.18", + "support_filament": "0", + "support_line_width": "0.38", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "40", + "support_threshold_angle": "40", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Sovol SV06 Plus 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Sovol/sovol_sv06_buildplate_model.stl b/resources/profiles/Sovol/sovol_sv06_buildplate_model.stl new file mode 100644 index 0000000000..254f7b8ebc Binary files /dev/null and b/resources/profiles/Sovol/sovol_sv06_buildplate_model.stl differ diff --git a/resources/profiles/Sovol/sovol_sv06_buildplate_texture.png b/resources/profiles/Sovol/sovol_sv06_buildplate_texture.png new file mode 100644 index 0000000000..eb1397ff53 Binary files /dev/null and b/resources/profiles/Sovol/sovol_sv06_buildplate_texture.png differ diff --git a/resources/profiles/Sovol/sovol_sv06plus_buildplate_model.stl b/resources/profiles/Sovol/sovol_sv06plus_buildplate_model.stl new file mode 100644 index 0000000000..d6a101982d Binary files /dev/null and b/resources/profiles/Sovol/sovol_sv06plus_buildplate_model.stl differ diff --git a/resources/profiles/Sovol/sovol_sv06plus_buildplate_texture.png b/resources/profiles/Sovol/sovol_sv06plus_buildplate_texture.png new file mode 100644 index 0000000000..1f7cf6c563 Binary files /dev/null and b/resources/profiles/Sovol/sovol_sv06plus_buildplate_texture.png differ diff --git a/resources/profiles/UltiMaker.json b/resources/profiles/UltiMaker.json new file mode 100644 index 0000000000..a047789caa --- /dev/null +++ b/resources/profiles/UltiMaker.json @@ -0,0 +1,71 @@ +{ + "name": "UltiMaker", + "url": "", + "version": "01.01.00.00", + "force_update": "0", + "description": "UltiMaker configurations", + "machine_model_list": [ + { + "name": "UltiMaker 2", + "sub_path": "machine/UltiMaker 2.json" + } + ], + "process_list": [ + { + "name": "fdm_process_common", + "sub_path": "process/fdm_process_common.json" + }, + { + "name": "0.12mm Fine @UltiMaker 2", + "sub_path": "process/0.12mm Fine @UltiMaker 2.json" + }, + { + "name": "0.18mm Standard @UltiMaker 2", + "sub_path": "process/0.18mm Standard @UltiMaker 2.json" + }, + { + "name": "0.25mm Draft @UltiMaker 2", + "sub_path": "process/0.25mm Darft @UltiMaker 2.json" + } + ], + "filament_list": [ + { + "name": "fdm_filament_common", + "sub_path": "filament/fdm_filament_common.json" + }, + { + "name": "fdm_filament_abs", + "sub_path": "filament/fdm_filament_abs.json" + }, + { + "name": "fdm_filament_pet", + "sub_path": "filament/fdm_filament_pet.json" + }, + { + "name": "fdm_filament_pla", + "sub_path": "filament/fdm_filament_pla.json" + }, + { + "name": "UltiMaker Generic ABS", + "sub_path": "filament/UltiMaker Generic ABS.json" + }, + { + "name": "UltiMaker Generic PETG", + "sub_path": "filament/UltiMaker Generic PETG.json" + }, + { + "name": "UltiMaker Generic PLA", + "sub_path": "filament/UltiMaker Generic PLA.json" + } + ], + "machine_list": [ + { + "name": "fdm_machine_common", + "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "UltiMaker 2 0.4 nozzle", + "sub_path": "machine/UltiMaker 2 0.4 nozzle.json" + } + ] +} diff --git a/resources/profiles/UltiMaker/UltiMaker 2_cover.png b/resources/profiles/UltiMaker/UltiMaker 2_cover.png new file mode 100644 index 0000000000..915d610726 Binary files /dev/null and b/resources/profiles/UltiMaker/UltiMaker 2_cover.png differ diff --git a/resources/profiles/UltiMaker/filament/UltiMaker Generic ABS.json b/resources/profiles/UltiMaker/filament/UltiMaker Generic ABS.json new file mode 100644 index 0000000000..9a59833457 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/UltiMaker Generic ABS.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "filament_id": "GFB99", + "setting_id": "GFSA04", + "name": "UltiMaker Generic ABS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_abs", + "filament_flow_ratio": [ + "0.926" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "compatible_printers": [ + "UltiMaker 2 0.4 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/UltiMaker Generic PETG.json b/resources/profiles/UltiMaker/filament/UltiMaker Generic PETG.json new file mode 100644 index 0000000000..4f41a702f9 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/UltiMaker Generic PETG.json @@ -0,0 +1,45 @@ +{ + "type": "filament", + "filament_id": "GFG99", + "setting_id": "GFSG99", + "name": "UltiMaker Generic PETG", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "overhang_fan_speed": [ + "90" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "20" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "compatible_printers": [ + "UltiMaker 2 0.4 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/UltiMaker Generic PLA.json b/resources/profiles/UltiMaker/filament/UltiMaker Generic PLA.json new file mode 100644 index 0000000000..b6176c4a4f --- /dev/null +++ b/resources/profiles/UltiMaker/filament/UltiMaker Generic PLA.json @@ -0,0 +1,30 @@ +{ + "type": "filament", + "filament_id": "GFL99", + "setting_id": "GFSL99", + "name": "UltiMaker Generic PLA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "0.987" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "slow_down_layer_time": [ + "8" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "205" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "compatible_printers": [ + "UltiMaker 2 0.4 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/fdm_filament_abs.json b/resources/profiles/UltiMaker/filament/fdm_filament_abs.json new file mode 100644 index 0000000000..a3a4574810 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/fdm_filament_abs.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_abs", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "80" + ], + "eng_plate_temp" : [ + "80" + ], + "hot_plate_temp" : [ + "80" + ], + "textured_plate_temp" : [ + "80" + ], + "cool_plate_temp_initial_layer" : [ + "80" + ], + "eng_plate_temp_initial_layer" : [ + "80" + ], + "hot_plate_temp_initial_layer" : [ + "80" + ], + "textured_plate_temp_initial_layer" : [ + "80" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "30" + ], + "filament_max_volumetric_speed": [ + "0" + ], + "filament_type": [ + "ABS" + ], + "filament_density": [ + "1.10" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "5" + ], + "fan_min_speed": [ + "5" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "80" + ], + "nozzle_temperature": [ + "235" + ], + "temperature_vitrification": [ + "110" + ], + "nozzle_temperature_range_low": [ + "235" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "15" + ] +} diff --git a/resources/profiles/UltiMaker/filament/fdm_filament_common.json b/resources/profiles/UltiMaker/filament/fdm_filament_common.json new file mode 100644 index 0000000000..823c736e8a --- /dev/null +++ b/resources/profiles/UltiMaker/filament/fdm_filament_common.json @@ -0,0 +1,144 @@ +{ + "type": "filament", + "name": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "cool_plate_temp" : [ + "60" + ], + "eng_plate_temp" : [ + "60" + ], + "hot_plate_temp" : [ + "60" + ], + "textured_plate_temp" : [ + "60" + ], + "cool_plate_temp_initial_layer" : [ + "60" + ], + "eng_plate_temp_initial_layer" : [ + "60" + ], + "hot_plate_temp_initial_layer" : [ + "60" + ], + "textured_plate_temp_initial_layer" : [ + "60" + ], + "overhang_fan_threshold": [ + "95%" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "fan_cooling_layer_time": [ + "60" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "0" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "2.85" + ], + "filament_max_volumetric_speed": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_settings_id": [ + "" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "bed_type": [ + "Cool Plate" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "full_fan_speed_layer": [ + "0" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "35" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "nozzle_temperature": [ + "200" + ], + "temperature_vitrification": [ + "100" + ] +} diff --git a/resources/profiles/UltiMaker/filament/fdm_filament_pet.json b/resources/profiles/UltiMaker/filament/fdm_filament_pet.json new file mode 100644 index 0000000000..0c65253151 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/fdm_filament_pet.json @@ -0,0 +1,82 @@ +{ + "type": "filament", + "name": "fdm_filament_pet", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "85" + ], + "eng_plate_temp" : [ + "85" + ], + "hot_plate_temp" : [ + "85" + ], + "textured_plate_temp" : [ + "85" + ], + "cool_plate_temp_initial_layer" : [ + "85" + ], + "eng_plate_temp_initial_layer" : [ + "85" + ], + "hot_plate_temp_initial_layer" : [ + "85" + ], + "textured_plate_temp_initial_layer" : [ + "85" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "15" + ], + "filament_max_volumetric_speed": [ + "0" + ], + "filament_type": [ + "PETG" + ], + "filament_density": [ + "1.27" + ], + "filament_cost": [ + "30" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "20" + ], + "overhang_fan_speed": [ + "50" + ], + "nozzle_temperature": [ + "235" + ], + "temperature_vitrification": [ + "80" + ], + "nozzle_temperature_range_low": [ + "235" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/UltiMaker/filament/fdm_filament_pla.json b/resources/profiles/UltiMaker/filament/fdm_filament_pla.json new file mode 100644 index 0000000000..1111af5b8d --- /dev/null +++ b/resources/profiles/UltiMaker/filament/fdm_filament_pla.json @@ -0,0 +1,91 @@ +{ + "type": "filament", + "name": "fdm_filament_pla", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "fan_cooling_layer_time": [ + "100" + ], + "filament_max_volumetric_speed": [ + "0" + ], + "filament_type": [ + "PLA" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "cool_plate_temp" : [ + "60" + ], + "eng_plate_temp" : [ + "60" + ], + "hot_plate_temp" : [ + "60" + ], + "textured_plate_temp" : [ + "60" + ], + "cool_plate_temp_initial_layer" : [ + "55" + ], + "eng_plate_temp_initial_layer" : [ + "55" + ], + "hot_plate_temp_initial_layer" : [ + "55" + ], + "textured_plate_temp_initial_layer" : [ + "55" + ], + "nozzle_temperature_initial_layer": [ + "205" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "210" + ], + "temperature_vitrification": [ + "60" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "210" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/UltiMaker/machine/UltiMaker 2 0.4 nozzle.json b/resources/profiles/UltiMaker/machine/UltiMaker 2 0.4 nozzle.json new file mode 100644 index 0000000000..9404ebfc9b --- /dev/null +++ b/resources/profiles/UltiMaker/machine/UltiMaker 2 0.4 nozzle.json @@ -0,0 +1,115 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "UltiMaker 2 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "UltiMaker 2", + "default_print_profile": "0.18mm Standard @UltiMaker 2", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "224x0", + "224x225", + "0x225" + ], + "printable_height": "212", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "machine_max_acceleration_extruding": [ + "1500", + "1500" + ], + "machine_max_acceleration_retracting": [ + "1500", + "1500" + ], + "machine_max_acceleration_travel": [ + "500", + "500" + ], + "machine_max_acceleration_x": [ + "3000", + "3000" + ], + "machine_max_acceleration_y": [ + "3000", + "3000" + ], + "machine_max_acceleration_z": [ + "500", + "500" + ], + "machine_max_speed_e": [ + "120", + "120" + ], + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "12", + "12" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "20", + "20" + ], + "machine_max_jerk_y": [ + "20", + "20" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.3" + ], + "min_layer_height": [ + "0.08" + ], + "printer_settings_id": "Qidi", + "retraction_minimum_travel": [ + "5" + ], + "retract_before_wipe": [ + "70%" + ], + "retraction_length": [ + "4.5" + ], + "retract_length_toolchange": [ + "10" + ], + "retraction_speed": [ + "35" + ], + "deretraction_speed": [ + "0" + ], + "wipe_distance": [ + "0.2" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "machine_pause_gcode": "M0", + "default_filament_profile": [ + "UltiMaker Generic PLA" + ], + "machine_start_gcode": "; # # # # # # START Header\nG21; metric values\nG90; absolute positioning\nM82 ; set extruder to absolute mode\nM107; start with the fan off\n\nM140 S[bed_temperature_initial_layer_single]; start bed heating\n\nG28 X0 Y0 Z0; move X/Y/Z to endstops\nG1 X1 Y6 F15000; move X/Y to start position\nG1 Z35 F9000; move Z to start position\n\n; Wait for bed and nozzle temperatures\nM190 S{hot_plate_temp_initial_layer[0] - 5}; wait for bed temperature - 5\nM140 S[bed_temperature_initial_layer_single]; continue bed heating\nM109 S[nozzle_temperature_initial_layer]; wait for nozzle temperature\n\n; Purge and prime\nM83; set extruder to relative mode\nG92 E0; reset extrusion distance\nG0 X0 Y1 F10000\nG1 F150 E20 ; compress the bowden tube\nG1 E-8 F1200\nG0 X30 Y1 F5000\nG0 F1200 Z{initial_layer_print_height/2}; Cut the connection to priming blob\nG0 X100 F10000; disconnect with the prime blob\nG0 X50; Avoid the metal clip holding the Ultimaker glass plate\nG0 Z0.2 F720\nG1 E8 F1200\nG1 X80 E3 F1000; intro line 1\nG1 X110 E4 F1000 ; intro line 2\nG1 X140 F600; drag filament to decompress bowden tube\nG1 X100 F3200; wipe backwards a bit\nG1 X150 F3200; back to where there is no plastic: avoid dragging\nG92 E0; reset extruder reference\nM82; set extruder to absolute mode\n\n; # # # # # # END Header", + "machine_end_gcode": "; # # # # # # START Footer\nG91; relative coordinates\n;G1 E-1 F1200; retract the filament\nG1 Z+15 X-10 Y-10 E-7 F6000; move Z a bit\n; G1 X-10 Y-10 F6000; move XY a bit\nG1 E-5.5 F300; retract the filament\nG28 X0 Y0; move X/Y to min endstops, so the head is out of the way\nM104 S0; extruder heater off\nM140 S0; heated bed heater off (if you have it)\nM84; disable motors\n; # # # # # # END Footer\n", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/UltiMaker/machine/UltiMaker 2.json b/resources/profiles/UltiMaker/machine/UltiMaker 2.json new file mode 100644 index 0000000000..6679d57cac --- /dev/null +++ b/resources/profiles/UltiMaker/machine/UltiMaker 2.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "UltiMaker 2", + "model_id": "UltiMaker-2", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "UltiMaker", + "bed_model": "ultimaker_2_buildplate_model.stl", + "bed_texture": "ultimaker_2_buildplate_texture.png", + "hotend_model": "ultimaker_hotend.stl", + "default_materials": "UltiMaker Generic ABS;UltiMaker Generic PETG;UltiMaker Generic PLA" +} diff --git a/resources/profiles/UltiMaker/machine/fdm_machine_common.json b/resources/profiles/UltiMaker/machine/fdm_machine_common.json new file mode 100644 index 0000000000..6127f00693 --- /dev/null +++ b/resources/profiles/UltiMaker/machine/fdm_machine_common.json @@ -0,0 +1,117 @@ +{ + "type": "machine", + "name": "fdm_machine_common", + "from": "system", + "instantiation": "false", + "printer_technology": "FFF", + "deretraction_speed": [ + "40" + ], + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "gcode_flavor": "marlin", + "silent_mode": "0", + "machine_max_acceleration_e": [ + "10000" + ], + "machine_max_acceleration_extruding": [ + "1500" + ], + "machine_max_acceleration_retracting": [ + "1500" + ], + "machine_max_acceleration_x": [ + "3000" + ], + "machine_max_acceleration_y": [ + "3000" + ], + "machine_max_acceleration_z": [ + "500" + ], + "machine_max_speed_e": [ + "120" + ], + "machine_max_speed_x": [ + "500" + ], + "machine_max_speed_y": [ + "500" + ], + "machine_max_speed_z": [ + "12" + ], + "machine_max_jerk_e": [ + "2.5" + ], + "machine_max_jerk_x": [ + "20" + ], + "machine_max_jerk_y": [ + "20" + ], + "machine_max_jerk_z": [ + "0.4" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "max_layer_height": [ + "0.3" + ], + "min_layer_height": [ + "0.07" + ], + "printable_height": "212", + "extruder_clearance_radius": "65", + "extruder_clearance_height_to_rod": "36", + "extruder_clearance_height_to_lid": "140", + "nozzle_diameter": [ + "0.4" + ], + "printer_settings_id": "", + "printer_variant": "0.4", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "0%" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "6" + ], + "retract_length_toolchange": [ + "10" + ], + "z_hop": [ + "0" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retraction_speed": [ + "50" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "wipe": [ + "1" + ], + "z_lift_type": "NormalLift", + "default_print_profile": "", + "machine_start_gcode": "", + "machine_end_gcode": "" +} diff --git a/resources/profiles/UltiMaker/process/0.12mm Fine @UltiMaker 2.json b/resources/profiles/UltiMaker/process/0.12mm Fine @UltiMaker 2.json new file mode 100644 index 0000000000..05aeb03482 --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.12mm Fine @UltiMaker 2.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @UltiMaker 2", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.12", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "0", + "bridge_flow": "1", + "bridge_speed": "60", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "500", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.3", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "35%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "3", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "60", + "support_threshold_angle": "30", + "support_object_xy_distance": "50%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "7", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "200", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "200", + "gap_infill_speed": "250", + "sparse_infill_speed": "270", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "UltiMaker 2 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/UltiMaker/process/0.18mm Standard @UltiMaker 2.json b/resources/profiles/UltiMaker/process/0.18mm Standard @UltiMaker 2.json new file mode 100644 index 0000000000..0d70edc00f --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.18mm Standard @UltiMaker 2.json @@ -0,0 +1,109 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.18mm Standard @UltiMaker 2", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.18", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.8", + "bridge_flow": "1", + "bridge_speed": "60", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "500", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.45", + "initial_layer_print_height": "0.25", + "infill_combination": "0", + "sparse_infill_line_width": "0.5", + "infill_wall_overlap": "35%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "3", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0.45", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.45", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "45", + "support_threshold_angle": "30", + "support_object_xy_distance": "50%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "15", + "initial_layer_infill_speed": "30", + "initial_layer_travel_speed": "60", + "outer_wall_speed": "30", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "15", + "gap_infill_speed": "20", + "sparse_infill_speed": "40", + "travel_speed": "120", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "UltiMaker 2 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/UltiMaker/process/0.25mm Darft @UltiMaker 2.json b/resources/profiles/UltiMaker/process/0.25mm Darft @UltiMaker 2.json new file mode 100644 index 0000000000..66163f3c3a --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.25mm Darft @UltiMaker 2.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.25mm Draft @UltiMaker 2", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.25", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "1", + "bridge_speed": "60", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "500", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.3", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "35%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "3", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "60", + "support_threshold_angle": "30", + "support_object_xy_distance": "50%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "200", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "200", + "gap_infill_speed": "250", + "sparse_infill_speed": "270", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "UltiMaker 2 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/UltiMaker/process/fdm_process_common.json b/resources/profiles/UltiMaker/process/fdm_process_common.json new file mode 100644 index 0000000000..7ccf87cfd2 --- /dev/null +++ b/resources/profiles/UltiMaker/process/fdm_process_common.json @@ -0,0 +1,70 @@ +{ + "type": "process", + "name": "fdm_process_common", + "from": "system", + "instantiation": "false", + "adaptive_layer_height": "0", + "reduce_crossing_wall": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "5", + "compatible_printers": [], + "print_sequence": "by layer", + "default_acceleration": "0", + "bridge_no_support": "0", + "elefant_foot_compensation": "0.1", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "120", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "20", + "gap_infill_speed": "30", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "sparse_infill_speed": "50", + "interface_shells": "0", + "detect_overhang_wall": "0", + "reduce_infill_retraction": "0", + "filename_format": "{input_filename_base}.gcode", + "wall_loops": "3", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "40", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "nearest", + "skirt_distance": "2", + "skirt_height": "2", + "minimum_sparse_infill_area": "0", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_speed": "40", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "support_filament": "0", + "support_line_width": "0.42", + "support_interface_filament": "0", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.15", + "support_interface_loop_pattern": "0", + "support_interface_top_layers": "2", + "support_interface_spacing": "0", + "support_interface_speed": "80", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "40", + "support_object_xy_distance": "0.5", + "detect_thin_wall": "0", + "top_surface_line_width": "0.4", + "top_surface_speed": "30", + "travel_speed": "400", + "enable_prime_tower": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0" +} diff --git a/resources/profiles/UltiMaker/ultimaker_2_buildplate_model.stl b/resources/profiles/UltiMaker/ultimaker_2_buildplate_model.stl new file mode 100644 index 0000000000..6d76baaf43 Binary files /dev/null and b/resources/profiles/UltiMaker/ultimaker_2_buildplate_model.stl differ diff --git a/resources/profiles/UltiMaker/ultimaker_2_buildplate_texture.png b/resources/profiles/UltiMaker/ultimaker_2_buildplate_texture.png new file mode 100644 index 0000000000..b45fd947f0 Binary files /dev/null and b/resources/profiles/UltiMaker/ultimaker_2_buildplate_texture.png differ diff --git a/resources/profiles/UltiMaker/ultimaker_hotend.stl b/resources/profiles/UltiMaker/ultimaker_hotend.stl new file mode 100644 index 0000000000..4ef5fcde1b Binary files /dev/null and b/resources/profiles/UltiMaker/ultimaker_hotend.stl differ diff --git a/resources/profiles/Vivedino.json b/resources/profiles/Vivedino.json new file mode 100644 index 0000000000..a02c85e391 --- /dev/null +++ b/resources/profiles/Vivedino.json @@ -0,0 +1,154 @@ +{ + "name": "Vivedino", + "version": "01.05.01.02", + "force_update": "0", + "description": "Vivedino configurations", + "machine_model_list": [ + { + "name": "Troodon 2.0 - RRF", + "sub_path": "machine/Troodon2RRF.json" + }, + { + "name": "Troodon 2.0 - Klipper", + "sub_path": "machine/Troodon2Klipper.json" + } + ], + "process_list": [ + { + "name": "fdm_process_common", + "sub_path": "process/fdm_process_common.json" + }, + { + "name": "fdm_process_klipper_common", + "sub_path": "process/fdm_process_klipper_common.json" + }, + { + "name": "fdm_process_rrf_common", + "sub_path": "process/fdm_process_rrf_common.json" + }, + { + "name": "0.08mm Extra Fine @Troodon2", + "sub_path": "process/0.08mm Extra Fine @Troodon2.json" + }, + { + "name": "0.12mm Fine @Troodon2", + "sub_path": "process/0.12mm Fine @Troodon2.json" + }, + { + "name": "0.15mm Optimal @Troodon2", + "sub_path": "process/0.15mm Optimal @Troodon2.json" + }, + { + "name": "0.20mm Standard @Troodon2", + "sub_path": "process/0.20mm Standard @Troodon2.json" + }, + { + "name": "0.24mm Draft @Troodon2", + "sub_path": "process/0.24mm Draft @Troodon2.json" + }, + { + "name": "0.28mm Extra Draft @Troodon2", + "sub_path": "process/0.28mm Extra Draft @Troodon2.json" + } + ], + "filament_list": [ + { + "name": "fdm_filament_common", + "sub_path": "filament/fdm_filament_common.json" + }, + { + "name": "fdm_filament_pla", + "sub_path": "filament/fdm_filament_pla.json" + }, + { + "name": "fdm_filament_tpu", + "sub_path": "filament/fdm_filament_tpu.json" + }, + { + "name": "fdm_filament_pet", + "sub_path": "filament/fdm_filament_pet.json" + }, + { + "name": "fdm_filament_abs", + "sub_path": "filament/fdm_filament_abs.json" + }, + { + "name": "fdm_filament_pc", + "sub_path": "filament/fdm_filament_pc.json" + }, + { + "name": "fdm_filament_asa", + "sub_path": "filament/fdm_filament_asa.json" + }, + { + "name": "fdm_filament_pva", + "sub_path": "filament/fdm_filament_pva.json" + }, + { + "name": "fdm_filament_pa", + "sub_path": "filament/fdm_filament_pa.json" + }, + { + "name": "Troodon Generic PLA", + "sub_path": "filament/Troodon Generic PLA.json" + }, + { + "name": "Troodon Generic PLA-CF", + "sub_path": "filament/Troodon Generic PLA-CF.json" + }, + { + "name": "Troodon Generic PETG", + "sub_path": "filament/Troodon Generic PETG.json" + }, + { + "name": "Troodon Generic ABS", + "sub_path": "filament/Troodon Generic ABS.json" + }, + { + "name": "Troodon Generic TPU", + "sub_path": "filament/Troodon Generic TPU.json" + }, + { + "name": "Troodon Generic ASA", + "sub_path": "filament/Troodon Generic ASA.json" + }, + { + "name": "Troodon Generic PC", + "sub_path": "filament/Troodon Generic PC.json" + }, + { + "name": "Troodon Generic PVA", + "sub_path": "filament/Troodon Generic PVA.json" + }, + { + "name": "Troodon Generic PA", + "sub_path": "filament/Troodon Generic PA.json" + }, + { + "name": "Troodon Generic PA-CF", + "sub_path": "filament/Troodon Generic PA-CF.json" + } + ], + "machine_list": [ + { + "name": "fdm_machine_common", + "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "fdm_klipper_common", + "sub_path": "machine/fdm_klipper_common.json" + }, + { + "name": "fdm_rrf_common", + "sub_path": "machine/fdm_rrf_common.json" + }, + { + "name": "Troodon 2.0 Klipper 0.4 nozzle", + "sub_path": "machine/Troodon 2.0 Klipper 0.4 nozzle.json" + }, + { + "name": "Troodon 2.0 RRF 0.4 nozzle", + "sub_path": "machine/Troodon 2.0 RRF 0.4 nozzle.json" + } + ] +} diff --git a/resources/profiles/Vivedino/OrcaSlicer-Troodon2-Bed-Texture.png b/resources/profiles/Vivedino/OrcaSlicer-Troodon2-Bed-Texture.png new file mode 100644 index 0000000000..8c2fda926d Binary files /dev/null and b/resources/profiles/Vivedino/OrcaSlicer-Troodon2-Bed-Texture.png differ diff --git a/resources/profiles/Vivedino/Troodon 2.0 - Klipper_cover.png b/resources/profiles/Vivedino/Troodon 2.0 - Klipper_cover.png new file mode 100644 index 0000000000..568ecbaab7 Binary files /dev/null and b/resources/profiles/Vivedino/Troodon 2.0 - Klipper_cover.png differ diff --git a/resources/profiles/Vivedino/Troodon 2.0 - RRF_cover.png b/resources/profiles/Vivedino/Troodon 2.0 - RRF_cover.png new file mode 100644 index 0000000000..e10204af83 Binary files /dev/null and b/resources/profiles/Vivedino/Troodon 2.0 - RRF_cover.png differ diff --git a/resources/profiles/Vivedino/filament/Troodon Generic ABS.json b/resources/profiles/Vivedino/filament/Troodon Generic ABS.json new file mode 100644 index 0000000000..abce8966d4 --- /dev/null +++ b/resources/profiles/Vivedino/filament/Troodon Generic ABS.json @@ -0,0 +1,19 @@ +{ + "type": "filament", + "filament_id": "GFB99", + "setting_id": "GFSA04", + "name": "Troodon Generic ABS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_abs", + "filament_flow_ratio": [ + "0.926" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "compatible_printers": [ + "Troodon 2.0 Klipper 0.4 nozzle", + "Troodon 2.0 RRF 0.4 nozzle" + ] +} diff --git a/resources/profiles/Vivedino/filament/Troodon Generic ASA.json b/resources/profiles/Vivedino/filament/Troodon Generic ASA.json new file mode 100644 index 0000000000..77fa770702 --- /dev/null +++ b/resources/profiles/Vivedino/filament/Troodon Generic ASA.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "filament_id": "GFB98", + "setting_id": "GFSA04", + "name": "Troodon Generic ASA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_asa", + "filament_flow_ratio": [ + "0.93" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "compatible_printers": [ + "Troodon 2.0 Klipper 0.4 nozzle", + "Troodon 2.0 RRF 0.4 nozzle" + ] + +} diff --git a/resources/profiles/Vivedino/filament/Troodon Generic PA-CF.json b/resources/profiles/Vivedino/filament/Troodon Generic PA-CF.json new file mode 100644 index 0000000000..d2a20e87e8 --- /dev/null +++ b/resources/profiles/Vivedino/filament/Troodon Generic PA-CF.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "filament_id": "GFN98", + "setting_id": "GFSA04", + "name": "Troodon Generic PA-CF", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_type": [ + "PA-CF" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "compatible_printers": [ + "Troodon 2.0 Klipper 0.4 nozzle", + "Troodon 2.0 RRF 0.4 nozzle" + ] +} diff --git a/resources/profiles/Vivedino/filament/Troodon Generic PA.json b/resources/profiles/Vivedino/filament/Troodon Generic PA.json new file mode 100644 index 0000000000..137701db32 --- /dev/null +++ b/resources/profiles/Vivedino/filament/Troodon Generic PA.json @@ -0,0 +1,22 @@ +{ + "type": "filament", + "filament_id": "GFN99", + "setting_id": "GFSA04", + "name": "Troodon Generic PA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "compatible_printers": [ + "Troodon 2.0 Klipper 0.4 nozzle", + "Troodon 2.0 RRF 0.4 nozzle" + ] +} diff --git a/resources/profiles/Vivedino/filament/Troodon Generic PC.json b/resources/profiles/Vivedino/filament/Troodon Generic PC.json new file mode 100644 index 0000000000..449cb5bd8a --- /dev/null +++ b/resources/profiles/Vivedino/filament/Troodon Generic PC.json @@ -0,0 +1,19 @@ +{ + "type": "filament", + "filament_id": "GFC99", + "setting_id": "GFSA04", + "name": "Troodon Generic PC", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_max_volumetric_speed": [ + "12" + ], + "filament_flow_ratio": [ + "0.94" + ], + "compatible_printers": [ + "Troodon 2.0 Klipper 0.4 nozzle", + "Troodon 2.0 RRF 0.4 nozzle" + ] +} diff --git a/resources/profiles/Vivedino/filament/Troodon Generic PETG.json b/resources/profiles/Vivedino/filament/Troodon Generic PETG.json new file mode 100644 index 0000000000..efc7a5985d --- /dev/null +++ b/resources/profiles/Vivedino/filament/Troodon Generic PETG.json @@ -0,0 +1,49 @@ +{ + "type": "filament", + "filament_id": "GFG99", + "setting_id": "GFSA04", + "name": "Troodon Generic PETG", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "compatible_printers": [ + "Troodon 2.0 Klipper 0.4 nozzle", + "Troodon 2.0 RRF 0.4 nozzle" + ] +} diff --git a/resources/profiles/Vivedino/filament/Troodon Generic PLA-CF.json b/resources/profiles/Vivedino/filament/Troodon Generic PLA-CF.json new file mode 100644 index 0000000000..3d68b5f232 --- /dev/null +++ b/resources/profiles/Vivedino/filament/Troodon Generic PLA-CF.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "filament_id": "GFL98", + "setting_id": "GFSA04", + "name": "Troodon Generic PLA-CF", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "0.95" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "slow_down_layer_time": [ + "7" + ], + "compatible_printers": [ + "Troodon 2.0 Klipper 0.4 nozzle", + "Troodon 2.0 RRF 0.4 nozzle" + ] +} diff --git a/resources/profiles/Vivedino/filament/Troodon Generic PLA.json b/resources/profiles/Vivedino/filament/Troodon Generic PLA.json new file mode 100644 index 0000000000..31e66f950a --- /dev/null +++ b/resources/profiles/Vivedino/filament/Troodon Generic PLA.json @@ -0,0 +1,22 @@ +{ + "type": "filament", + "filament_id": "GFL99", + "setting_id": "GFSA04", + "name": "Troodon Generic PLA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Troodon 2.0 Klipper 0.4 nozzle", + "Troodon 2.0 RRF 0.4 nozzle" + ] +} diff --git a/resources/profiles/Vivedino/filament/Troodon Generic PVA.json b/resources/profiles/Vivedino/filament/Troodon Generic PVA.json new file mode 100644 index 0000000000..8e1f16e36c --- /dev/null +++ b/resources/profiles/Vivedino/filament/Troodon Generic PVA.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "filament_id": "GFS99", + "setting_id": "GFSA04", + "name": "Troodon Generic PVA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pva", + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "10" + ], + "compatible_printers": [ + "Troodon 2.0 Klipper 0.4 nozzle", + "Troodon 2.0 RRF 0.4 nozzle" + ] +} diff --git a/resources/profiles/Vivedino/filament/Troodon Generic TPU.json b/resources/profiles/Vivedino/filament/Troodon Generic TPU.json new file mode 100644 index 0000000000..dd4f7b5106 --- /dev/null +++ b/resources/profiles/Vivedino/filament/Troodon Generic TPU.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "filament_id": "GFU99", + "setting_id": "GFSA04", + "name": "Troodon Generic TPU", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_tpu", + "filament_max_volumetric_speed": [ + "3.2" + ], + "compatible_printers": [ + "Troodon 2.0 Klipper 0.4 nozzle", + "Troodon 2.0 RRF 0.4 nozzle" + ] +} diff --git a/resources/profiles/Vivedino/filament/fdm_filament_abs.json b/resources/profiles/Vivedino/filament/fdm_filament_abs.json new file mode 100644 index 0000000000..b9d4eeda31 --- /dev/null +++ b/resources/profiles/Vivedino/filament/fdm_filament_abs.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_abs", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "105" + ], + "eng_plate_temp" : [ + "105" + ], + "hot_plate_temp" : [ + "105" + ], + "textured_plate_temp" : [ + "105" + ], + "cool_plate_temp_initial_layer" : [ + "105" + ], + "eng_plate_temp_initial_layer" : [ + "105" + ], + "hot_plate_temp_initial_layer" : [ + "105" + ], + "textured_plate_temp_initial_layer" : [ + "105" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "30" + ], + "filament_max_volumetric_speed": [ + "28.6" + ], + "filament_type": [ + "ABS" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "80" + ], + "nozzle_temperature": [ + "260" + ], + "temperature_vitrification": [ + "110" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "3" + ] +} diff --git a/resources/profiles/Vivedino/filament/fdm_filament_asa.json b/resources/profiles/Vivedino/filament/fdm_filament_asa.json new file mode 100644 index 0000000000..262c561bda --- /dev/null +++ b/resources/profiles/Vivedino/filament/fdm_filament_asa.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_asa", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "105" + ], + "eng_plate_temp" : [ + "105" + ], + "hot_plate_temp" : [ + "105" + ], + "textured_plate_temp" : [ + "105" + ], + "cool_plate_temp_initial_layer" : [ + "105" + ], + "eng_plate_temp_initial_layer" : [ + "105" + ], + "hot_plate_temp_initial_layer" : [ + "105" + ], + "textured_plate_temp_initial_layer" : [ + "105" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "35" + ], + "filament_max_volumetric_speed": [ + "28.6" + ], + "filament_type": [ + "ASA" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "80" + ], + "nozzle_temperature": [ + "260" + ], + "temperature_vitrification": [ + "110" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "3" + ] +} diff --git a/resources/profiles/Vivedino/filament/fdm_filament_common.json b/resources/profiles/Vivedino/filament/fdm_filament_common.json new file mode 100644 index 0000000000..9f77975119 --- /dev/null +++ b/resources/profiles/Vivedino/filament/fdm_filament_common.json @@ -0,0 +1,144 @@ +{ + "type": "filament", + "name": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "cool_plate_temp" : [ + "60" + ], + "eng_plate_temp" : [ + "60" + ], + "hot_plate_temp" : [ + "60" + ], + "textured_plate_temp" : [ + "60" + ], + "cool_plate_temp_initial_layer" : [ + "60" + ], + "eng_plate_temp_initial_layer" : [ + "60" + ], + "hot_plate_temp_initial_layer" : [ + "60" + ], + "textured_plate_temp_initial_layer" : [ + "60" + ], + "overhang_fan_threshold": [ + "95%" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "fan_cooling_layer_time": [ + "60" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "0" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_max_volumetric_speed": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_settings_id": [ + "" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "bed_type": [ + "Cool Plate" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "full_fan_speed_layer": [ + "0" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "35" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "nozzle_temperature": [ + "200" + ], + "temperature_vitrification": [ + "100" + ] +} diff --git a/resources/profiles/Vivedino/filament/fdm_filament_pa.json b/resources/profiles/Vivedino/filament/fdm_filament_pa.json new file mode 100644 index 0000000000..58f53cd451 --- /dev/null +++ b/resources/profiles/Vivedino/filament/fdm_filament_pa.json @@ -0,0 +1,85 @@ +{ + "type": "filament", + "name": "fdm_filament_pa", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "0" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "textured_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "0" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "textured_plate_temp_initial_layer" : [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "4" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_type": [ + "PA" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "0" + ], + "overhang_fan_speed": [ + "30" + ], + "nozzle_temperature": [ + "290" + ], + "temperature_vitrification": [ + "108" + ], + "nozzle_temperature_range_low": [ + "270" + ], + "nozzle_temperature_range_high": [ + "300" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "2" + ] +} diff --git a/resources/profiles/Vivedino/filament/fdm_filament_pc.json b/resources/profiles/Vivedino/filament/fdm_filament_pc.json new file mode 100644 index 0000000000..cec8b89a38 --- /dev/null +++ b/resources/profiles/Vivedino/filament/fdm_filament_pc.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_pc", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "0" + ], + "eng_plate_temp" : [ + "110" + ], + "hot_plate_temp" : [ + "110" + ], + "textured_plate_temp" : [ + "110" + ], + "cool_plate_temp_initial_layer" : [ + "0" + ], + "eng_plate_temp_initial_layer" : [ + "110" + ], + "hot_plate_temp_initial_layer" : [ + "110" + ], + "textured_plate_temp_initial_layer" : [ + "110" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "30" + ], + "filament_max_volumetric_speed": [ + "23.2" + ], + "filament_type": [ + "PC" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "60" + ], + "nozzle_temperature": [ + "280" + ], + "temperature_vitrification": [ + "140" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "2" + ] +} diff --git a/resources/profiles/Vivedino/filament/fdm_filament_pet.json b/resources/profiles/Vivedino/filament/fdm_filament_pet.json new file mode 100644 index 0000000000..bb2323e9c1 --- /dev/null +++ b/resources/profiles/Vivedino/filament/fdm_filament_pet.json @@ -0,0 +1,82 @@ +{ + "type": "filament", + "name": "fdm_filament_pet", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "60" + ], + "eng_plate_temp" : [ + "0" + ], + "hot_plate_temp" : [ + "80" + ], + "textured_plate_temp" : [ + "80" + ], + "cool_plate_temp_initial_layer" : [ + "60" + ], + "eng_plate_temp_initial_layer" : [ + "0" + ], + "hot_plate_temp_initial_layer" : [ + "80" + ], + "textured_plate_temp_initial_layer" : [ + "80" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "20" + ], + "filament_max_volumetric_speed": [ + "25" + ], + "filament_type": [ + "PETG" + ], + "filament_density": [ + "1.27" + ], + "filament_cost": [ + "30" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "20" + ], + "overhang_fan_speed": [ + "100" + ], + "nozzle_temperature": [ + "255" + ], + "temperature_vitrification": [ + "80" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Vivedino/filament/fdm_filament_pla.json b/resources/profiles/Vivedino/filament/fdm_filament_pla.json new file mode 100644 index 0000000000..82c6772f35 --- /dev/null +++ b/resources/profiles/Vivedino/filament/fdm_filament_pla.json @@ -0,0 +1,94 @@ +{ + "type": "filament", + "name": "fdm_filament_pla", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "fan_cooling_layer_time": [ + "100" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PLA" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "cool_plate_temp" : [ + "60" + ], + "eng_plate_temp" : [ + "60" + ], + "hot_plate_temp" : [ + "60" + ], + "textured_plate_temp" : [ + "60" + ], + "cool_plate_temp_initial_layer" : [ + "60" + ], + "eng_plate_temp_initial_layer" : [ + "60" + ], + "hot_plate_temp_initial_layer" : [ + "60" + ], + "textured_plate_temp_initial_layer" : [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "220" + ], + "temperature_vitrification": [ + "60" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "4" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Vivedino/filament/fdm_filament_pva.json b/resources/profiles/Vivedino/filament/fdm_filament_pva.json new file mode 100644 index 0000000000..ebf25aa3ae --- /dev/null +++ b/resources/profiles/Vivedino/filament/fdm_filament_pva.json @@ -0,0 +1,100 @@ +{ + "type": "filament", + "name": "fdm_filament_pva", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "35" + ], + "eng_plate_temp" : [ + "0" + ], + "hot_plate_temp" : [ + "45" + ], + "textured_plate_temp" : [ + "45" + ], + "cool_plate_temp_initial_layer" : [ + "35" + ], + "eng_plate_temp_initial_layer" : [ + "0" + ], + "hot_plate_temp_initial_layer" : [ + "45" + ], + "textured_plate_temp_initial_layer" : [ + "45" + ], + "fan_cooling_layer_time": [ + "100" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_soluble": [ + "1" + ], + "filament_is_support": [ + "1" + ], + "filament_type": [ + "PVA" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "220" + ], + "temperature_vitrification": [ + "50" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "4" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Vivedino/filament/fdm_filament_tpu.json b/resources/profiles/Vivedino/filament/fdm_filament_tpu.json new file mode 100644 index 0000000000..d00b7dbcab --- /dev/null +++ b/resources/profiles/Vivedino/filament/fdm_filament_tpu.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_tpu", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "30" + ], + "eng_plate_temp" : [ + "30" + ], + "hot_plate_temp" : [ + "35" + ], + "textured_plate_temp" : [ + "35" + ], + "cool_plate_temp_initial_layer" : [ + "30" + ], + "eng_plate_temp_initial_layer" : [ + "30" + ], + "hot_plate_temp_initial_layer" : [ + "35" + ], + "textured_plate_temp_initial_layer" : [ + "35" + ], + "fan_cooling_layer_time": [ + "100" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_type": [ + "TPU" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "filament_retraction_length": [ + "0.4" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "240" + ], + "temperature_vitrification": [ + "60" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Vivedino/machine/Troodon 2.0 Klipper 0.4 nozzle.json b/resources/profiles/Vivedino/machine/Troodon 2.0 Klipper 0.4 nozzle.json new file mode 100644 index 0000000000..ac1bad85e8 --- /dev/null +++ b/resources/profiles/Vivedino/machine/Troodon 2.0 Klipper 0.4 nozzle.json @@ -0,0 +1,19 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Troodon 2.0 Klipper 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_klipper_common", + "printer_model": "Troodon 2.0 - Klipper", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "350x0", + "350x350", + "0x350" + ], + "printable_height": "330" +} diff --git a/resources/profiles/Vivedino/machine/Troodon 2.0 RRF 0.4 nozzle.json b/resources/profiles/Vivedino/machine/Troodon 2.0 RRF 0.4 nozzle.json new file mode 100644 index 0000000000..d151b961f7 --- /dev/null +++ b/resources/profiles/Vivedino/machine/Troodon 2.0 RRF 0.4 nozzle.json @@ -0,0 +1,19 @@ +{ + "type": "machine", + "setting_id": "GM002", + "name": "Troodon 2.0 RRF 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_rrf_common", + "printer_model": "Troodon 2.0 - RRF", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "350x0", + "350x350", + "0x350" + ], + "printable_height": "330" +} diff --git a/resources/profiles/Vivedino/machine/Troodon2Klipper.json b/resources/profiles/Vivedino/machine/Troodon2Klipper.json new file mode 100644 index 0000000000..69a53625c8 --- /dev/null +++ b/resources/profiles/Vivedino/machine/Troodon2Klipper.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Troodon 2.0 - Klipper", + "model_id": "Troodon2Klipper", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Vivedino", + "bed_model": "", + "bed_texture": "OrcaSlicer-Troodon2-Bed-Texture.png", + "hotend_model": "", + "default_materials": "Troodon Generic ABS;Troodon Generic PLA;Troodon Generic PLA-CF;Troodon Generic PETG;Troodon Generic TPU;Troodon Generic ASA;Troodon Generic PC;Troodon Generic PVA;Troodon Generic PA;Troodon Generic PA-CF" +} diff --git a/resources/profiles/Vivedino/machine/Troodon2RRF.json b/resources/profiles/Vivedino/machine/Troodon2RRF.json new file mode 100644 index 0000000000..76e8f54b1b --- /dev/null +++ b/resources/profiles/Vivedino/machine/Troodon2RRF.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Troodon 2.0 - RRF", + "model_id": "Troodon2RRF", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Vivedino", + "bed_model": "", + "bed_texture": "OrcaSlicer-Troodon2-Bed-Texture.png", + "hotend_model": "", + "default_materials": "Troodon Generic ABS;Troodon Generic PLA;Troodon Generic PLA-CF;Troodon Generic PETG;Troodon Generic TPU;Troodon Generic ASA;Troodon Generic PC;Troodon Generic PVA;Troodon Generic PA;Troodon Generic PA-CF" +} diff --git a/resources/profiles/Vivedino/machine/fdm_klipper_common.json b/resources/profiles/Vivedino/machine/fdm_klipper_common.json new file mode 100644 index 0000000000..98b753942d --- /dev/null +++ b/resources/profiles/Vivedino/machine/fdm_klipper_common.json @@ -0,0 +1,141 @@ +{ + "type": "machine", + "name": "fdm_klipper_common", + "from": "system", + "instantiation": "false", + "inherits": "fdm_machine_common", + "gcode_flavor": "klipper", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "200" + ], + "machine_max_speed_e": [ + "25", + "25" + ], + "machine_max_speed_x": [ + "500", + "200" + ], + "machine_max_speed_y": [ + "500", + "200" + ], + "machine_max_speed_z": [ + "12", + "12" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9" + ], + "machine_max_jerk_z": [ + "0.2", + "0.4" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.08" + ], + "printable_height": "250", + "extruder_clearance_radius": "65", + "extruder_clearance_height_to_rod": "36", + "extruder_clearance_height_to_lid": "140", + "printer_settings_id": "", + "printer_technology": "FFF", + "printer_variant": "0.4", + "retraction_minimum_travel": [ + "1" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "0.8" + ], + "retract_length_toolchange": [ + "2" + ], + "z_hop": [ + "0.4" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retraction_speed": [ + "30" + ], + "deretraction_speed": [ + "30" + ], + "z_hop_types": "Normal Lift", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "change_filament_gcode": "", + "wipe": [ + "1" + ], + "default_filament_profile": [ + "Troodon Generic ABS" + ], + "default_print_profile": "0.20mm Standard @Troodon2", + "bed_exclude_area": [ + "0x0" + ], + "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer]\nPRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single]\n", + "machine_end_gcode": "PRINT_END", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "machine_pause_gcode": "PAUSE", + "scan_first_layer": "0", + "nozzle_type": "undefine", + "auxiliary_fan": "0" +} diff --git a/resources/profiles/Vivedino/machine/fdm_machine_common.json b/resources/profiles/Vivedino/machine/fdm_machine_common.json new file mode 100644 index 0000000000..76cfe3d36c --- /dev/null +++ b/resources/profiles/Vivedino/machine/fdm_machine_common.json @@ -0,0 +1,119 @@ +{ + "type": "machine", + "name": "fdm_machine_common", + "from": "system", + "instantiation": "false", + "printer_technology": "FFF", + "deretraction_speed": [ + "40" + ], + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "gcode_flavor": "marlin", + "silent_mode": "0", + "machine_max_acceleration_e": [ + "5000" + ], + "machine_max_acceleration_extruding": [ + "10000" + ], + "machine_max_acceleration_retracting": [ + "1000" + ], + "machine_max_acceleration_x": [ + "10000" + ], + "machine_max_acceleration_y": [ + "10000" + ], + "machine_max_acceleration_z": [ + "100" + ], + "machine_max_speed_e": [ + "60" + ], + "machine_max_speed_x": [ + "500" + ], + "machine_max_speed_y": [ + "500" + ], + "machine_max_speed_z": [ + "10" + ], + "machine_max_jerk_e": [ + "5" + ], + "machine_max_jerk_x": [ + "8" + ], + "machine_max_jerk_y": [ + "8" + ], + "machine_max_jerk_z": [ + "0.4" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.08" + ], + "printable_height": "250", + "extruder_clearance_radius": "65", + "extruder_clearance_height_to_rod": "36", + "extruder_clearance_height_to_lid": "140", + "nozzle_diameter": [ + "0.4" + ], + "printer_settings_id": "", + "printer_variant": "0.4", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "5" + ], + "retract_length_toolchange": [ + "1" + ], + "z_hop": [ + "0" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retraction_speed": [ + "60" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "wipe": [ + "1" + ], + "default_print_profile": "", + "machine_start_gcode": "G0 Z20 F9000\nG92 E0; G1 E-10 F1200\nG28\nM970 Q1 A10 B10 C130 K0\nM970 Q1 A10 B131 C250 K1\nM974 Q1 S1 P0\nM970 Q0 A10 B10 C130 H20 K0\nM970 Q0 A10 B131 C250 K1\nM974 Q0 S1 P0\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nG29 ;Home\nG90;\nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S205;\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder \nG1 X110 Y110 Z2.0 F3000 ;Move Z Axis up", + "machine_end_gcode": "M400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-4.0 F3600; retract \nG91\nG1 Z3;\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nG90 \nG0 X110 Y200 F3600 \nprint_end", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "machine_pause_gcode": "M601" +} diff --git a/resources/profiles/Vivedino/machine/fdm_rrf_common.json b/resources/profiles/Vivedino/machine/fdm_rrf_common.json new file mode 100644 index 0000000000..d73876ec01 --- /dev/null +++ b/resources/profiles/Vivedino/machine/fdm_rrf_common.json @@ -0,0 +1,141 @@ +{ + "type": "machine", + "name": "fdm_rrf_common", + "from": "system", + "instantiation": "false", + "inherits": "fdm_machine_common", + "gcode_flavor": "reprapfirmware", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "200" + ], + "machine_max_speed_e": [ + "25", + "25" + ], + "machine_max_speed_x": [ + "500", + "200" + ], + "machine_max_speed_y": [ + "500", + "200" + ], + "machine_max_speed_z": [ + "12", + "12" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9" + ], + "machine_max_jerk_z": [ + "0.2", + "0.4" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "printable_height": "330", + "extruder_clearance_radius": "65", + "extruder_clearance_height_to_rod": "36", + "extruder_clearance_height_to_lid": "140", + "printer_settings_id": "", + "printer_technology": "FFF", + "printer_variant": "0.4", + "retraction_minimum_travel": [ + "1" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "0.8" + ], + "retract_length_toolchange": [ + "2" + ], + "z_hop": [ + "0.4" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retraction_speed": [ + "30" + ], + "deretraction_speed": [ + "30" + ], + "z_hop_types": "Normal Lift", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "change_filament_gcode": "", + "machine_pause_gcode": "PAUSE\n", + "wipe": [ + "1" + ], + "default_filament_profile": [ + "Troodon Generic ABS" + ], + "default_print_profile": "0.20mm Standard @Troodon2", + "bed_exclude_area": [ + "0x0" + ], + "machine_start_gcode": "M104 S0\nM190 S0\nM98 P\"start_print.g\" A[first_layer_bed_temperature] B\"[filament_type]\" C[first_layer_temperature] D[nozzle_diameter] E{first_layer_print_min[0]} F{first_layer_print_max[0]} H{first_layer_print_min[1]} J{first_layer_print_max[1]}", + "machine_end_gcode": "M0", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "scan_first_layer": "0", + "nozzle_type": "undefine", + "auxiliary_fan": "0" +} diff --git a/resources/profiles/Vivedino/process/0.08mm Extra Fine @Troodon2.json b/resources/profiles/Vivedino/process/0.08mm Extra Fine @Troodon2.json new file mode 100644 index 0000000000..526a376de0 --- /dev/null +++ b/resources/profiles/Vivedino/process/0.08mm Extra Fine @Troodon2.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.08mm Extra Fine @Troodon", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_rrf_common", + "layer_height": "0.08", + "bottom_shell_layers": "7", + "top_shell_layers": "9" +} diff --git a/resources/profiles/Vivedino/process/0.12mm Fine @Troodon2.json b/resources/profiles/Vivedino/process/0.12mm Fine @Troodon2.json new file mode 100644 index 0000000000..500b72a7cd --- /dev/null +++ b/resources/profiles/Vivedino/process/0.12mm Fine @Troodon2.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @Troodon", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_rrf_common", + "layer_height": "0.12", + "bottom_shell_layers": "5", + "top_shell_layers": "6" +} diff --git a/resources/profiles/Vivedino/process/0.15mm Optimal @Troodon2.json b/resources/profiles/Vivedino/process/0.15mm Optimal @Troodon2.json new file mode 100644 index 0000000000..7c4587f9c7 --- /dev/null +++ b/resources/profiles/Vivedino/process/0.15mm Optimal @Troodon2.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Optimal @Troodon", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_rrf_common", + "bottom_shell_layers": "4", + "top_shell_layers": "5", + "layer_height": "0.15" +} diff --git a/resources/profiles/Vivedino/process/0.20mm Standard @Troodon2.json b/resources/profiles/Vivedino/process/0.20mm Standard @Troodon2.json new file mode 100644 index 0000000000..d116e7d695 --- /dev/null +++ b/resources/profiles/Vivedino/process/0.20mm Standard @Troodon2.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Troodon", + "from": "system", + "inherits": "fdm_process_rrf_common", + "instantiation": "true", + "layer_height": "0.2", + "bottom_shell_layers": "3", + "top_shell_layers": "4" +} diff --git a/resources/profiles/Vivedino/process/0.24mm Draft @Troodon2.json b/resources/profiles/Vivedino/process/0.24mm Draft @Troodon2.json new file mode 100644 index 0000000000..093f06dc19 --- /dev/null +++ b/resources/profiles/Vivedino/process/0.24mm Draft @Troodon2.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @Troodon", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_rrf_common", + "layer_height": "0.24", + "top_surface_line_width": "0.45", + "bottom_shell_layers": "3", + "top_shell_layers": "4" +} diff --git a/resources/profiles/Vivedino/process/0.28mm Extra Draft @Troodon2.json b/resources/profiles/Vivedino/process/0.28mm Extra Draft @Troodon2.json new file mode 100644 index 0000000000..dcb30b140b --- /dev/null +++ b/resources/profiles/Vivedino/process/0.28mm Extra Draft @Troodon2.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.28mm Extra Draft @Troodon", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_rrf_common", + "layer_height": "0.28", + "top_surface_line_width": "0.45", + "bottom_shell_layers": "3", + "top_shell_layers": "4" +} diff --git a/resources/profiles/Vivedino/process/fdm_process_common.json b/resources/profiles/Vivedino/process/fdm_process_common.json new file mode 100644 index 0000000000..7398bcd481 --- /dev/null +++ b/resources/profiles/Vivedino/process/fdm_process_common.json @@ -0,0 +1,70 @@ +{ + "type": "process", + "name": "fdm_process_common", + "from": "system", + "instantiation": "false", + "adaptive_layer_height": "0", + "reduce_crossing_wall": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "5", + "compatible_printers": [], + "print_sequence": "by layer", + "default_acceleration": "10000", + "bridge_no_support": "0", + "elefant_foot_compensation": "0.1", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "120", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "20", + "gap_infill_speed": "30", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "sparse_infill_speed": "50", + "interface_shells": "0", + "detect_overhang_wall": "0", + "reduce_infill_retraction": "0", + "filename_format": "{input_filename_base}.gcode", + "wall_loops": "3", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "40", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "nearest", + "skirt_distance": "2", + "skirt_height": "2", + "minimum_sparse_infill_area": "0", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_speed": "40", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "support_filament": "0", + "support_line_width": "0.42", + "support_interface_filament": "0", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.15", + "support_interface_loop_pattern": "0", + "support_interface_top_layers": "2", + "support_interface_spacing": "0", + "support_interface_speed": "80", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "40", + "support_object_xy_distance": "0.5", + "detect_thin_wall": "0", + "top_surface_line_width": "0.4", + "top_surface_speed": "30", + "travel_speed": "400", + "enable_prime_tower": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0" +} diff --git a/resources/profiles/Vivedino/process/fdm_process_klipper_common.json b/resources/profiles/Vivedino/process/fdm_process_klipper_common.json new file mode 100644 index 0000000000..4bb5f01dd4 --- /dev/null +++ b/resources/profiles/Vivedino/process/fdm_process_klipper_common.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "name": "fdm_process_klipper_common", + "from": "system", + "instantiation": "false", + "inherits": "fdm_process_common", + "adaptive_layer_height": "0", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "50", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "3000", + "travel_acceleration": "7000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "3000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "500", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "layer_height": "0.2", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "minimum_sparse_infill_area": "15", + "internal_solid_infill_line_width": "0.4", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "150", + "support_threshold_angle": "30", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "120", + "inner_wall_speed": "200", + "internal_solid_infill_speed": "200", + "top_surface_speed": "100", + "gap_infill_speed": "100", + "sparse_infill_speed": "200", + "travel_speed": "350", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "35", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "enable_arc_fitting": "0", + "compatible_printers": [ + "Troodon 2.0 Klipper 0.4 nozzle" + ] +} diff --git a/resources/profiles/Vivedino/process/fdm_process_rrf_common.json b/resources/profiles/Vivedino/process/fdm_process_rrf_common.json new file mode 100644 index 0000000000..a888287bd9 --- /dev/null +++ b/resources/profiles/Vivedino/process/fdm_process_rrf_common.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "name": "fdm_process_rrf_common", + "from": "system", + "instantiation": "false", + "inherits": "fdm_process_common", + "adaptive_layer_height": "0", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "50", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1000", + "top_surface_acceleration": "1000", + "travel_acceleration": "1000", + "inner_wall_acceleration": "1000", + "outer_wall_acceleration": "1000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "500", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "layer_height": "0.2", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "minimum_sparse_infill_area": "15", + "internal_solid_infill_line_width": "0.4", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "40", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "60", + "support_threshold_angle": "30", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "initial_layer_speed": "45", + "initial_layer_infill_speed": "60", + "outer_wall_speed": "60", + "inner_wall_speed": "80", + "internal_solid_infill_speed": "80", + "top_surface_speed": "50", + "gap_infill_speed": "80", + "sparse_infill_speed": "80", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "35", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "enable_arc_fitting": "0", + "compatible_printers": [ + "Troodon 2.0 RRF 0.4 nozzle" + ] +} diff --git a/resources/profiles/Voxelab/machine/Voxelab Aquila X2 0.4 nozzle.json b/resources/profiles/Voxelab/machine/Voxelab Aquila X2 0.4 nozzle.json index ea0a7fcebe..5f6fd4fb02 100644 --- a/resources/profiles/Voxelab/machine/Voxelab Aquila X2 0.4 nozzle.json +++ b/resources/profiles/Voxelab/machine/Voxelab Aquila X2 0.4 nozzle.json @@ -103,7 +103,7 @@ "default_filament_profile": [ "Voxelab Generic PLA" ], - "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S{hot_plate_temp_initial_layer} ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S{nozzle_temperature_initial_layer} ; set final nozzle temp\nM190 S{hot_plate_temp_initial_layer} ; wait for bed temp to stabilize\nM109 S{nozzle_temperature_initial_layer} ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", "scan_first_layer": "0" } \ No newline at end of file diff --git a/resources/web/data/text.js b/resources/web/data/text.js index c0903dd843..208bb9fc15 100644 --- a/resources/web/data/text.js +++ b/resources/web/data/text.js @@ -88,6 +88,95 @@ var LangText={ "t93":"Printer Connection", "t94":"Please set up your printer connection to view the device." }, + "es_ES":{ + "t1":"Bienvenido a Orca Slicer", + "t2":"Va a configurar Orca Slicer mediante varios pasos. ¡Vamos a comenzar!", + "t3":"Terminos de usuario", + "t4":"Estoy en desacuerdo", + "t5":"Estoy de deacuerdo", + "t6":"Le rogamos su ayuda para mejorar
la experiencia de impresión de todos", + "t7":"Permitir enviar datos anónimos", + "t8":"Volver", + "t9":"Siguiente", + "t10":"Seleccionar impresora", + "t11":"Todo", + "t12":"Limpiar todo", + "t13":"mm de boquilla", + "t14":"Seleccionar filamento", + "t15":"Impresora", + "t16":"Tipo de filamento", + "t17":"Fabricante", + "t18":"error", + "t19":"Al menos se debe seleccionar un filamento.", + "t20":"¿Desea usar el filamento por defecto?", + "t21":"sí", + "t22":"no", + "t23":"Notas de lanzamiento", + "t24":"Comencemos", + "t25":"Finalizar", + "t26":"Ingresar", + "t27":"Registro", + "t28":"Reciente", + "t29":"Tienda", + "t30":"Manual", + "t31":"Nuevo proyecto", + "t32":"Crear nuevo proyecto", + "t33":"Abrir proyecto", + "t34":"punto de acceso", + "t35":"Abiertos recientemente", + "t36":"ok", + "t37":"Al menos se debe seleccionar una impresora.", + "t38":"Cancelar", + "t39":"Confirmar", + "t40":"Desconectado, por favor compruebe la conexión de red e inténtelo de nuevo.", + "t47":"Por favor, seleccione su región:", + "t48":"Asia-Pacífico", + "t49":"China", + "t50":"Desconectarse", + "t52":"Saltar", + "t53":"Ingresar", + "t54":"En la comunidad de impresión 3D, pordemos aprender de los logros y los fallos de otros para obtener nuestros propios parametros y configuraciones de Orca Slicer follows the same principle and uses machine learning to improve its performance from the successes and failures of the vast number of prints by our users. We are training Orca Slicer to be smarter by feeding them the real-world data. If you are willing, this service will access information from your error logs and usage logs, which may include information described in ", + "t55":"Política de privacidad", + "t56":". No recolectaremos ningún tipo de dato personal con el que se le pueda identificar directa o indirectamente, incluyendo nombre, direcciones, información de pago, o números de teléfono. Activando este servicio, si está de acuerdo en estos términos y los acuerdos sobre Política y Privacidad.", + "t57":"", + "t58":"", + "t59":".", + "t60":"Europa", + "t61":"Norte América", + "t62":"Otras", + "t63":"Después de cambiar de región, su cuenta será desconectada. por favor, vuelva a ingresar.", + "t64":"Complemento de red Bambú", + "t65":"", + "t66":"Control remoto total", + "t67":"Retransmisión en vivo", + "t68":"Sincronización de datos de usuario", + "t69":"Instalar complemento de red Bambú", + "t70":"", + "t71":"Descargando", + "t72":"Descarga fallida", + "t73":"Instalación exitosa.", + "t74":"Reiniciar", + "t75":"El complemento de red Bambú proporciona las siguientes carácteristicas:", + "t76":"Complemento de red Bambú no encontrado. Presione ", + "t77":"aquí", + "t78":" para instalarlo.", + "t79":"Fallo al instalar el complemento. ", + "t80":"Intente los siguientes pasos:", + "t81":"1, Presionar ", + "t82":" para abrir el directorio de complementos", + "t83":"2, Cerrar todos los Orca Slicer abiertos", + "t84":"3, Borrar todos los archivos en el directorio de complementos", + "t85":"4, Reabrir Orca Slicer e instalar el complemento de nuevo", + "t86":"Cerrar", + "t87":"Manual de usuario", + "t88":"Borrar", + "t89":"Abrir carpeta contenedora", + "t90":"Modelo 3D", + "t91":"Descargar modelos 3D", + "t92":"Cabina Bambú de Navidad", + "t93":"Conexión de Impresora", + "t94":"Por favor, configure la conexión de red de la impresora para encontrarla." + }, "de_DE":{ "t1":"Willkommen im Orca Slicer", "t2":"Das Orca Slicer wird in mehreren Schritten eingerichtet. Lass uns anfangen!", diff --git a/run_gettext.bat b/run_gettext.bat new file mode 100644 index 0000000000..2d15878c8f --- /dev/null +++ b/run_gettext.bat @@ -0,0 +1,24 @@ +@echo off +REM OrcaSlicer gettext +REM Created by SoftFever on 27/5/23. +xgettext --keyword=L --keyword=_L --keyword=_u8L --keyword=L_CONTEXT:1,2c --keyword=_L_PLURAL:1,2 --add-comments=TRN --from-code=UTF-8 --no-location --debug --boost -f ./bbl/i18n/list.txt -o ./bbl/i18n/OrcaSlicer.pot +./build/src/hints/Release/hintsToPot.exe ./resources ./bbl/i18n + +REM Print the current directory +echo %cd% +set pot_file="./bbl/i18n/OrcaSlicer.pot" + +REM Run the script for each .po file +for /r "./bbl/i18n/" %%f in (*.po) do ( + call :processFile "%%f" +) +goto :eof + +:processFile + set "file=%~1" + set "dir=%~dp1" + set "name=%~n1" + set "lang=%name:OrcaSlicer_=%" + msgmerge -N -o "%file%" "%file%" "%pot_file%" + msgfmt --check-format -o "./resources/i18n/%lang%/OrcaSlicer.mo" "%file%" +goto :eof diff --git a/run_gettext.sh b/run_gettext.sh new file mode 100755 index 0000000000..1862ccd39b --- /dev/null +++ b/run_gettext.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# OrcaSlicer gettext +# Created by SoftFever on 27/5/23. +# +xgettext --keyword=L --keyword=_L --keyword=_u8L --keyword=L_CONTEXT:1,2c --keyword=_L_PLURAL:1,2 --add-comments=TRN --from-code=UTF-8 --no-location --debug --boost -f ./bbl/i18n/list.txt -o ./bbl/i18n/OrcaSlicer.pot +./build_arm64/src/hints/Release/hintsToPot.app/Contents/MacOS/hintsToPot ./resources ./bbl/i18n + + +echo $PWD +pot_file="./bbl/i18n/OrcaSlicer.pot" +for dir in ./bbl/i18n/*/ +do + dir=${dir%*/} # remove the trailing "/" + lang=${dir##*/} # extract the language identifier + + if [ -f "$dir/OrcaSlicer_${lang}.po" ]; then + msgmerge -N -o $dir/OrcaSlicer_${lang}.po $dir/OrcaSlicer_${lang}.po $pot_file + msgfmt --check-format -o ./resources/i18n/${lang}/OrcaSlicer.mo $dir/OrcaSlicer_${lang}.po + fi +done diff --git a/src/clipper2/Clipper2Lib/include/clipper2/clipper.engine.h b/src/clipper2/Clipper2Lib/include/clipper2/clipper.engine.h index 34e216ac5a..67383f2130 100644 --- a/src/clipper2/Clipper2Lib/include/clipper2/clipper.engine.h +++ b/src/clipper2/Clipper2Lib/include/clipper2/clipper.engine.h @@ -17,6 +17,8 @@ constexpr auto CLIPPER2_VERSION = "1.0.6"; #include #include #include +#include +#include #include "clipper.core.h" namespace Clipper2Lib { @@ -31,19 +33,19 @@ namespace Clipper2Lib { //Note: all clipping operations except for Difference are commutative. enum class ClipType { None, Intersection, Union, Difference, Xor }; - + enum class PathType { Subject, Clip }; enum class VertexFlags : uint32_t { None = 0, OpenStart = 1, OpenEnd = 2, LocalMax = 4, LocalMin = 8 }; - constexpr enum VertexFlags operator &(enum VertexFlags a, enum VertexFlags b) + constexpr enum VertexFlags operator &(enum VertexFlags a, enum VertexFlags b) { return (enum VertexFlags)(uint32_t(a) & uint32_t(b)); } - constexpr enum VertexFlags operator |(enum VertexFlags a, enum VertexFlags b) + constexpr enum VertexFlags operator |(enum VertexFlags a, enum VertexFlags b) { return (enum VertexFlags)(uint32_t(a) | uint32_t(b)); } @@ -97,7 +99,7 @@ namespace Clipper2Lib { //Important: UP and DOWN here are premised on Y-axis positive down //displays, which is the orientation used in Clipper's development. /////////////////////////////////////////////////////////////////// - + struct Active { Point64 bot; Point64 top; @@ -168,7 +170,7 @@ namespace Clipper2Lib { std::vector::iterator current_locmin_iter_; std::vector vertex_lists_; std::priority_queue scanline_list_; - std::vector intersect_nodes_; + std::vector intersect_nodes_; std::vector joiner_list_; //pointers in case of memory reallocs void Reset(); void InsertScanline(int64_t y); @@ -197,7 +199,7 @@ namespace Clipper2Lib { void ProcessIntersectList(); void SwapPositionsInAEL(Active& edge1, Active& edge2); OutPt* AddOutPt(const Active &e, const Point64& pt); - OutPt* AddLocalMinPoly(Active &e1, Active &e2, + OutPt* AddLocalMinPoly(Active &e1, Active &e2, const Point64& pt, bool is_new = false); OutPt* AddLocalMaxPoly(Active &e1, Active &e2, const Point64& pt); void DoHorizontal(Active &horz); @@ -254,7 +256,7 @@ namespace Clipper2Lib { PolyPath* parent_; public: PolyPath(PolyPath* parent = nullptr): parent_(parent){} - virtual ~PolyPath() { Clear(); }; + virtual ~PolyPath() { Clear(); }; //https://en.cppreference.com/w/cpp/language/rule_of_three PolyPath(const PolyPath&) = delete; PolyPath& operator=(const PolyPath&) = delete; @@ -274,7 +276,7 @@ namespace Clipper2Lib { const PolyPath* Parent() const { return parent_; } - bool IsHole() const + bool IsHole() const { const PolyPath* pp = parent_; bool is_hole = pp; @@ -364,13 +366,13 @@ namespace Clipper2Lib { PathD polygon_; typedef typename std::vector::const_iterator ppD_itor; public: - PolyPathD(PolyPathD* parent = nullptr) : PolyPath(parent) + PolyPathD(PolyPathD* parent = nullptr) : PolyPath(parent) { inv_scale_ = parent ? parent->inv_scale_ : 1.0; } - PolyPathD* operator [] (size_t index) - { - return static_cast(childs_[index]); + PolyPathD* operator [] (size_t index) + { + return static_cast(childs_[index]); } ppD_itor begin() const { return childs_.cbegin(); } ppD_itor end() const { return childs_.cend(); } @@ -437,7 +439,7 @@ namespace Clipper2Lib { return Execute(clip_type, fill_rule, closed_paths, dummy); } - bool Execute(ClipType clip_type, FillRule fill_rule, + bool Execute(ClipType clip_type, FillRule fill_rule, Paths64& closed_paths, Paths64& open_paths) { closed_paths.clear(); @@ -509,12 +511,12 @@ namespace Clipper2Lib { void CheckCallback() { if(zCallback_) - // if the user defined float point callback has been assigned + // if the user defined float point callback has been assigned // then assign the proxy callback function - ClipperBase::zCallback_ = + ClipperBase::zCallback_ = std::bind(&ClipperD::ZCB, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, - std::placeholders::_4, std::placeholders::_5); + std::placeholders::_4, std::placeholders::_5); else ClipperBase::zCallback_ = nullptr; } @@ -581,6 +583,6 @@ namespace Clipper2Lib { }; -} // namespace +} // namespace #endif // CLIPPER_ENGINE_H diff --git a/src/clipper2/Clipper2Lib/src/clipper.engine.cpp b/src/clipper2/Clipper2Lib/src/clipper.engine.cpp index 0c0d47f37a..069b52392c 100644 --- a/src/clipper2/Clipper2Lib/src/clipper.engine.cpp +++ b/src/clipper2/Clipper2Lib/src/clipper.engine.cpp @@ -15,6 +15,9 @@ #include #include "clipper2/clipper.engine.h" +#include +#include + namespace Clipper2Lib { static const double FloatingPointTolerance = 1.0e-12; @@ -94,7 +97,7 @@ namespace Clipper2Lib { inline bool IsOpenEnd(const Vertex& v) { - return (v.flags & (VertexFlags::OpenStart | VertexFlags::OpenEnd)) != + return (v.flags & (VertexFlags::OpenStart | VertexFlags::OpenEnd)) != VertexFlags::None; } @@ -189,8 +192,8 @@ namespace Clipper2Lib { } inline Point64 GetEndE1ClosestToEndE2( - const Active& e1, const Active& e2) - { + const Active& e1, const Active& e2) + { double d[] = { DistanceSqr(e1.bot, e2.bot), DistanceSqr(e1.top, e2.top), @@ -204,7 +207,7 @@ namespace Clipper2Lib { if (d[i] < d[idx]) idx = i; if (d[i] == 0) break; } - switch (idx) + switch (idx) { case 1: case 2: return e1.top; default: return e1.bot; @@ -214,7 +217,7 @@ namespace Clipper2Lib { Point64 GetIntersectPoint(const Active& e1, const Active& e2) { double b1, b2, q = (e1.dx - e2.dx); - if (std::abs(q) < 1e-5) // 1e-5 is a rough empirical limit + if (std::abs(q) < 1e-5) // 1e-5 is a rough empirical limit return GetEndE1ClosestToEndE2(e1, e2); // ie almost parallel if (e1.dx == 0) @@ -235,7 +238,7 @@ namespace Clipper2Lib { { b1 = e1.bot.x - e1.bot.y * e1.dx; b2 = e2.bot.x - e2.bot.y * e2.dx; - + q = (b2 - b1) / q; return (abs(e1.dx) < abs(e2.dx)) ? Point64(static_cast(e1.dx * q + b1), @@ -306,7 +309,7 @@ namespace Clipper2Lib { //PrevPrevVertex: useful to get the (inverted Y-axis) top of the - //alternate edge (ie left or right bound) during edge insertion. + //alternate edge (ie left or right bound) during edge insertion. inline Vertex* PrevPrevVertex(const Active& ae) { if (ae.wind_dx > 0) @@ -353,7 +356,7 @@ namespace Clipper2Lib { while (result->next->pt.y == result->pt.y) result = result->next; else while (result->prev->pt.y == result->pt.y) result = result->prev; - if (!IsMaxima(*result)) result = nullptr; // not a maxima + if (!IsMaxima(*result)) result = nullptr; // not a maxima return result; } @@ -494,7 +497,7 @@ namespace Clipper2Lib { return result * 0.5; } - inline double AreaTriangle(const Point64& pt1, + inline double AreaTriangle(const Point64& pt1, const Point64& pt2, const Point64& pt3) { return (static_cast(pt3.y + pt1.y) * static_cast(pt3.x - pt1.x) + @@ -630,7 +633,7 @@ namespace Clipper2Lib { Clear(); } - void ClipperBase::DeleteEdges(Active*& e) + void ClipperBase::DeleteEdges(Active*& e) { while (e) { @@ -681,7 +684,7 @@ namespace Clipper2Lib { void ClipperBase::SetZ(const Active& e1, const Active& e2, Point64& ip) { if (!zCallback_) return; - // prioritize subject over clip vertices by passing + // prioritize subject over clip vertices by passing // subject vertices before clip vertices in the callback if (GetPolyType(e1) == PathType::Subject) { @@ -872,19 +875,19 @@ namespace Clipper2Lib { case FillRule::EvenOdd: break; case FillRule::NonZero: - if (abs(e.wind_cnt) != 1) return false; + if (abs(e.wind_cnt) != 1) return false; break; case FillRule::Positive: - if (e.wind_cnt != 1) return false; + if (e.wind_cnt != 1) return false; break; case FillRule::Negative: - if (e.wind_cnt != -1) return false; + if (e.wind_cnt != -1) return false; break; } switch (cliptype_) { - case ClipType::None: + case ClipType::None: return false; case ClipType::Intersection: switch (fillrule_) @@ -914,17 +917,17 @@ namespace Clipper2Lib { bool result; switch (fillrule_) { - case FillRule::Positive: - result = (e.wind_cnt2 <= 0); + case FillRule::Positive: + result = (e.wind_cnt2 <= 0); break; case FillRule::Negative: - result = (e.wind_cnt2 >= 0); + result = (e.wind_cnt2 >= 0); break; - default: + default: result = (e.wind_cnt2 == 0); } if (GetPolyType(e) == PathType::Subject) - return result; + return result; else return !result; break; @@ -940,15 +943,15 @@ namespace Clipper2Lib { bool is_in_clip, is_in_subj; switch (fillrule_) { - case FillRule::Positive: - is_in_clip = e.wind_cnt2 > 0; + case FillRule::Positive: + is_in_clip = e.wind_cnt2 > 0; is_in_subj = e.wind_cnt > 0; break; - case FillRule::Negative: - is_in_clip = e.wind_cnt2 < 0; + case FillRule::Negative: + is_in_clip = e.wind_cnt2 < 0; is_in_subj = e.wind_cnt < 0; break; - default: + default: is_in_clip = e.wind_cnt2 != 0; is_in_subj = e.wind_cnt != 0; } @@ -1085,15 +1088,15 @@ namespace Clipper2Lib { //the direction they're about to turn if (!IsMaxima(resident) && (resident.top.y > newcomer.top.y)) { - return CrossProduct(newcomer.bot, + return CrossProduct(newcomer.bot, resident.top, NextVertex(resident)->pt) <= 0; } - else if (!IsMaxima(newcomer) && (newcomer.top.y > resident.top.y)) + else if (!IsMaxima(newcomer) && (newcomer.top.y > resident.top.y)) { return CrossProduct(newcomer.bot, newcomer.top, NextVertex(newcomer)->pt) >= 0; } - + int64_t y = newcomer.bot.y; bool newcomerIsLeft = newcomer.is_left_bound; @@ -1103,7 +1106,7 @@ namespace Clipper2Lib { else if (resident.is_left_bound != newcomerIsLeft) return newcomerIsLeft; else if (CrossProduct(PrevPrevVertex(resident)->pt, - resident.bot, resident.top) == 0) return true; + resident.bot, resident.top) == 0) return true; else //compare turning direction of the alternate bound return (CrossProduct(PrevPrevVertex(resident)->pt, @@ -1319,7 +1322,7 @@ namespace Clipper2Lib { SetSides(*outrec, e1, e2); else SetSides(*outrec, e2, e1); - } + } else { Active* prevHotEdge = GetPrevHotEdge(e1); @@ -1335,7 +1338,7 @@ namespace Clipper2Lib { else SetSides(*outrec, e1, e2); } - else + else { outrec->owner = nullptr; if (is_new) @@ -1344,7 +1347,7 @@ namespace Clipper2Lib { SetSides(*outrec, e2, e1); } } - + OutPt* op = new OutPt(pt, outrec); outrec->pts = op; return op; @@ -1359,7 +1362,7 @@ namespace Clipper2Lib { SwapFrontBackSides(*e1.outrec); else if (IsOpenEnd(e2)) SwapFrontBackSides(*e2.outrec); - else + else { succeeded_ = false; return nullptr; @@ -1369,7 +1372,7 @@ namespace Clipper2Lib { OutPt* result = AddOutPt(e1, pt); if (e1.outrec == e2.outrec) { - OutRec& outrec = *e1.outrec; + OutRec& outrec = *e1.outrec; outrec.pts = result; UncoupleOutRec(e1); @@ -1523,7 +1526,7 @@ namespace Clipper2Lib { void ClipperBase::DoSplitOp(OutRec* outrec, OutPt* splitOp) { - // splitOp.prev -> splitOp && + // splitOp.prev -> splitOp && // splitOp.next -> splitOp.next.next are intersecting OutPt* prevOp = splitOp->prev; OutPt* nextNextOp = splitOp->next->next; @@ -1572,7 +1575,7 @@ namespace Clipper2Lib { SafeDeleteOutPtJoiners(splitOp->next); SafeDeleteOutPtJoiners(splitOp); - if (absArea2 >= 1 && + if (absArea2 >= 1 && (absArea2 > absArea1 || (area2 > 0) == (area1 > 0))) { OutRec* newOutRec = new OutRec(); @@ -1762,7 +1765,7 @@ namespace Clipper2Lib { else result = result->next_in_ael; } result = e->prev_in_ael; - while (result) + while (result) { if (result->local_min == e->local_min) return result; else if (!IsHorizontal(*result) && e->bot != result->bot) return nullptr; @@ -1791,14 +1794,14 @@ namespace Clipper2Lib { edge_c = &e1; } - if (abs(edge_c->wind_cnt) != 1) return nullptr; + if (abs(edge_c->wind_cnt) != 1) return nullptr; switch (cliptype_) { - case ClipType::Union: - if (!IsHotEdge(*edge_c)) return nullptr; + case ClipType::Union: + if (!IsHotEdge(*edge_c)) return nullptr; break; - default: - if (edge_c->local_min->polytype == PathType::Subject) + default: + if (edge_c->local_min->polytype == PathType::Subject) return nullptr; } @@ -1821,11 +1824,11 @@ namespace Clipper2Lib { edge_o->outrec = nullptr; return resultOp; } - + //horizontal edges can pass under open paths at a LocMins else if (pt == edge_o->local_min->vertex->pt && !IsOpenEnd(*edge_o->local_min->vertex)) - { + { //find the other side of the LocMin and //if it's 'hot' join up with it ... Active* e3 = FindEdgeWithMatchingLocMin(edge_o); @@ -1833,7 +1836,7 @@ namespace Clipper2Lib { { edge_o->outrec = e3->outrec; if (edge_o->wind_dx > 0) - SetSides(*e3->outrec, *edge_o, *e3); + SetSides(*e3->outrec, *edge_o, *e3); else SetSides(*e3->outrec, *e3, *edge_o); return e3->outrec->pts; @@ -1847,7 +1850,7 @@ namespace Clipper2Lib { //MANAGING CLOSED PATHS FROM HERE ON - + //UPDATE WINDING COUNTS... int old_e1_windcnt, old_e2_windcnt; @@ -1913,7 +1916,7 @@ namespace Clipper2Lib { { return nullptr; } - + //NOW PROCESS THE INTERSECTION ... OutPt* resultOp = nullptr; //if both edges are 'hot' ... @@ -2282,7 +2285,7 @@ namespace Clipper2Lib { inline bool HorzIsSpike(const Active& horzEdge) { Point64 nextPt = NextVertex(horzEdge)->pt; - return (nextPt.y == horzEdge.bot.y) && + return (nextPt.y == horzEdge.bot.y) && (horzEdge.bot.x < horzEdge.top.x) != (horzEdge.top.x < nextPt.x); } @@ -2295,7 +2298,7 @@ namespace Clipper2Lib { //always trim 180 deg. spikes (in closed paths) //but otherwise break if preserveCollinear = true if (preserveCollinear && - ((pt.x < horzEdge.top.x) != (horzEdge.bot.x < horzEdge.top.x))) + ((pt.x < horzEdge.top.x) != (horzEdge.bot.x < horzEdge.top.x))) break; horzEdge.vertex_top = NextVertex(horzEdge); @@ -2353,11 +2356,11 @@ namespace Clipper2Lib { OutPt* op; while (true) // loop through consec. horizontal edges - { + { if (horzIsOpen && IsMaxima(horz) && !IsOpenEnd(horz)) { vertex_max = GetCurrYMaximaVertex(horz); - if (vertex_max) + if (vertex_max) max_pair = GetHorzMaximaPair(horz, vertex_max); } @@ -2388,7 +2391,7 @@ namespace Clipper2Lib { //if horzEdge is a maxima, keep going until we reach //its maxima pair, otherwise check for break conditions - if (vertex_max != horz.vertex_top || IsOpenEnd(horz)) + if (vertex_max != horz.vertex_top || IsOpenEnd(horz)) { //otherwise stop when 'ae' is beyond the end of the horizontal line if ((is_left_to_right && e->curr_x > horz_right) || @@ -2467,15 +2470,15 @@ namespace Clipper2Lib { { AddOutPt(horz, horz.top); if (IsFront(horz)) - horz.outrec->front_edge = nullptr; + horz.outrec->front_edge = nullptr; else horz.outrec->back_edge = nullptr; horz.outrec = nullptr; } - DeleteFromAEL(horz); + DeleteFromAEL(horz); return; } - else if (NextVertex(horz)->pt.y != horz.top.y) + else if (NextVertex(horz)->pt.y != horz.top.y) break; //still more horizontals in bound to process ... @@ -2486,7 +2489,7 @@ namespace Clipper2Lib { if (PreserveCollinear && !horzIsOpen && HorzIsSpike(horz)) TrimHorz(horz, true); - is_left_to_right = + is_left_to_right = ResetHorzDirection(horz, max_pair, horz_left, horz_right); } @@ -2499,7 +2502,7 @@ namespace Clipper2Lib { else op = nullptr; - if ((horzIsOpen && !IsOpenEnd(horz)) || + if ((horzIsOpen && !IsOpenEnd(horz)) || (!horzIsOpen && vertex_max != horz.vertex_top)) { UpdateEdgeIntoAEL(&horz); // this is the end of an intermediate horiz. @@ -2516,7 +2519,7 @@ namespace Clipper2Lib { AddJoin(op2, op); } } - else if (IsHotEdge(horz)) + else if (IsHotEdge(horz)) AddLocalMaxPoly(horz, *max_pair, horz.top); else { @@ -2966,7 +2969,7 @@ namespace Clipper2Lib { OutRec* outrec = ProcessJoin(j); CleanCollinear(outrec); } - else + else delete j; } @@ -3015,7 +3018,7 @@ namespace Clipper2Lib { bool CollinearSegsOverlap(const Point64& seg1a, const Point64& seg1b, const Point64& seg2a, const Point64& seg2b) { - //precondition: seg1 and seg2 are collinear + //precondition: seg1 and seg2 are collinear if (seg1a.x == seg1b.x) { if (seg2a.x != seg1a.x || seg2a.x != seg2b.x) return false; @@ -3146,7 +3149,7 @@ namespace Clipper2Lib { { or1->pts = op1; or2->pts = nullptr; - if (or1->owner && (!or2->owner || + if (or1->owner && (!or2->owner || or2->owner->idx < or1->owner->idx)) or1->owner = or2->owner; or2->owner = or1; @@ -3156,7 +3159,7 @@ namespace Clipper2Lib { result = or2; or2->pts = op1; or1->pts = nullptr; - if (or2->owner && (!or1->owner || + if (or2->owner && (!or1->owner || or1->owner->idx < or2->owner->idx)) or2->owner = or1->owner; or1->owner = or2; @@ -3207,7 +3210,7 @@ namespace Clipper2Lib { { or1->pts = op1; or2->pts = nullptr; - if (or1->owner && (!or2->owner || + if (or1->owner && (!or2->owner || or2->owner->idx < or1->owner->idx)) or1->owner = or2->owner; or2->owner = or1; @@ -3217,9 +3220,9 @@ namespace Clipper2Lib { result = or2; or2->pts = op1; or1->pts = nullptr; - if (or2->owner && (!or1->owner || + if (or2->owner && (!or1->owner || or1->owner->idx < or2->owner->idx)) - or2->owner = or1->owner; + or2->owner = or1->owner; or1->owner = or2; } } @@ -3310,11 +3313,11 @@ namespace Clipper2Lib { if (pt.y > result.bottom) result.bottom = pt.y; } return result; - } + } bool BuildPath64(OutPt* op, bool reverse, bool isOpen, Path64& path) { - if (op->next == op || (!isOpen && op->next == op->prev)) + if (op->next == op || (!isOpen && op->next == op->prev)) return false; path.resize(0); @@ -3355,9 +3358,9 @@ namespace Clipper2Lib { if (owner->bounds.IsEmpty()) owner->bounds = GetBounds(owner->path); bool is_inside_owner_bounds = owner->bounds.Contains(outrec->bounds); - // while looking for the correct owner, check the owner's - // splits **before** checking the owner itself because - // splits can occur internally, and checking the owner + // while looking for the correct owner, check the owner's + // splits **before** checking the owner itself because + // splits can occur internally, and checking the owner // first would miss the inner split's true ownership if (owner->splits) { @@ -3388,7 +3391,7 @@ namespace Clipper2Lib { { if (is_inside_owner_bounds && Path1InsidePath2(outrec, outrec->owner)) return true; - // otherwise keep trying with owner's owner + // otherwise keep trying with owner's owner outrec->owner = outrec->owner->owner; if (!outrec->owner) return true; // true or false is_inside_owner_bounds = outrec->owner->bounds.Contains(outrec->bounds); diff --git a/src/libslic3r/Fill/Fill.cpp b/src/libslic3r/Fill/Fill.cpp index 5b0bb503cc..028ab8fba2 100644 --- a/src/libslic3r/Fill/Fill.cpp +++ b/src/libslic3r/Fill/Fill.cpp @@ -185,7 +185,7 @@ std::vector group_fills(const Layer &layer) params.bridge = is_bridge || Fill::use_bridge_flow(params.pattern); params.flow = params.bridge ? //BBS: always enable thick bridge for internal bridge - layerm.bridging_flow(extrusion_role, (surface.is_bridge() && !surface.is_external()) || object_config.thick_bridges, surface.is_external() ? region_config.bridge_density.get_abs_value(1.0) : 1.0f) : + layerm.bridging_flow(extrusion_role, (surface.is_bridge() && !surface.is_external()) || object_config.thick_bridges) : layerm.flow(extrusion_role, (surface.thickness == -1) ? layer.height : surface.thickness); // Calculate flow spacing for infill pattern generation. @@ -199,8 +199,13 @@ std::vector group_fills(const Layer &layer) // so that internall infill will be aligned over all layers of the current region. params.spacing = layerm.region().flow(*layer.object(), frInfill, layer.object()->config().layer_height, false).spacing(); // Anchor a sparse infill to inner perimeters with the following anchor length: - params.anchor_length = float(Fill::infill_anchor * 0.01 * params.spacing); - params.anchor_length_max = Fill::infill_anchor_max; + // Anchor a sparse infill to inner perimeters with the following anchor length: + params.anchor_length = float(region_config.infill_anchor); + if (region_config.infill_anchor.percent) + params.anchor_length = float(params.anchor_length * 0.01 * params.spacing); + params.anchor_length_max = float(region_config.infill_anchor_max); + if (region_config.infill_anchor_max.percent) + params.anchor_length_max = float(params.anchor_length_max * 0.01 * params.spacing); params.anchor_length = std::min(params.anchor_length, params.anchor_length_max); } @@ -494,6 +499,11 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive: // Spacing is modified by the filler to indicate adjustments. Reset it for each expolygon. f->spacing = surface_fill.params.spacing; surface_fill.surface.expolygon = std::move(expoly); + + if(surface_fill.params.bridge && surface_fill.surface.is_external() && surface_fill.params.density > 99.0){ + params.density = layerm->region().config().bridge_density.get_abs_value(1.0); + params.dont_adjust = true; + } // BBS: make fill f->fill_surface_extrusion(&surface_fill.surface, params, diff --git a/src/libslic3r/Format/bbs_3mf.cpp b/src/libslic3r/Format/bbs_3mf.cpp index c2a826100a..c64cc5000f 100644 --- a/src/libslic3r/Format/bbs_3mf.cpp +++ b/src/libslic3r/Format/bbs_3mf.cpp @@ -154,8 +154,8 @@ const std::string BBS_MODEL_CONFIG_FILE = "Metadata/model_settings.config"; const std::string BBS_MODEL_CONFIG_RELS_FILE = "Metadata/_rels/model_settings.config.rels"; const std::string SLICE_INFO_CONFIG_FILE = "Metadata/slice_info.config"; const std::string BBS_LAYER_HEIGHTS_PROFILE_FILE = "Metadata/layer_heights_profile.txt"; -/*const std::string LAYER_CONFIG_RANGES_FILE = "Metadata/Prusa_Slicer_layer_config_ranges.xml"; -const std::string SLA_SUPPORT_POINTS_FILE = "Metadata/Slic3r_PE_sla_support_points.txt"; +const std::string LAYER_CONFIG_RANGES_FILE = "Metadata/layer_config_ranges.xml"; +/*const std::string SLA_SUPPORT_POINTS_FILE = "Metadata/Slic3r_PE_sla_support_points.txt"; const std::string SLA_DRAIN_HOLES_FILE = "Metadata/Slic3r_PE_sla_drain_holes.txt";*/ const std::string CUSTOM_GCODE_PER_PRINT_Z_FILE = "Metadata/custom_gcode_per_layer.xml"; const std::string AUXILIARY_DIR = "Auxiliaries/"; @@ -751,8 +751,8 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) typedef std::map IdToCutObjectInfoMap; //typedef std::map IdToGeometryMap; typedef std::map> IdToLayerHeightsProfileMap; - /*typedef std::map IdToLayerConfigRangesMap; - typedef std::map> IdToSlaSupportPointsMap; + typedef std::map IdToLayerConfigRangesMap; + /*typedef std::map> IdToSlaSupportPointsMap; typedef std::map> IdToSlaDrainHolesMap;*/ struct ObjectImporter @@ -942,8 +942,8 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) IdToMetadataMap m_objects_metadata; IdToCutObjectInfoMap m_cut_object_infos; IdToLayerHeightsProfileMap m_layer_heights_profiles; - /*IdToLayerConfigRangesMap m_layer_config_ranges; - IdToSlaSupportPointsMap m_sla_support_points; + IdToLayerConfigRangesMap m_layer_config_ranges; + /*IdToSlaSupportPointsMap m_sla_support_points; IdToSlaDrainHolesMap m_sla_drain_holes;*/ std::string m_curr_metadata_name; std::string m_curr_characters; @@ -1199,7 +1199,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) m_curr_config.volume_id = -1; m_objects_metadata.clear(); m_layer_heights_profiles.clear(); - //m_layer_config_ranges.clear(); + m_layer_config_ranges.clear(); //m_sla_support_points.clear(); m_curr_metadata_name.clear(); m_curr_characters.clear(); @@ -1510,10 +1510,10 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) _extract_layer_heights_profile_config_from_archive(archive, stat); } else - /*if (boost::algorithm::iequals(name, LAYER_CONFIG_RANGES_FILE)) { + if (boost::algorithm::iequals(name, LAYER_CONFIG_RANGES_FILE)) { // extract slic3r layer config ranges file _extract_layer_config_ranges_from_archive(archive, stat, config_substitutions); - }*/ + } //BBS: disable SLA related files currently /*else if (boost::algorithm::iequals(name, SLA_SUPPORT_POINTS_FILE)) { // extract sla support points file @@ -1687,12 +1687,12 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) model_object->layer_height_profile.set(std::move(obj_layer_heights_profile->second)); // m_layer_config_ranges are indexed by a 1 based model object index. - /*IdToLayerConfigRangesMap::iterator obj_layer_config_ranges = m_layer_config_ranges.find(object.second + 1); + IdToLayerConfigRangesMap::iterator obj_layer_config_ranges = m_layer_config_ranges.find(object.second + 1); if (obj_layer_config_ranges != m_layer_config_ranges.end()) model_object->layer_config_ranges = std::move(obj_layer_config_ranges->second); // m_sla_support_points are indexed by a 1 based model object index. - IdToSlaSupportPointsMap::iterator obj_sla_support_points = m_sla_support_points.find(object.second + 1); + /*IdToSlaSupportPointsMap::iterator obj_sla_support_points = m_sla_support_points.find(object.second + 1); if (obj_sla_support_points != m_sla_support_points.end() && !obj_sla_support_points->second.empty()) { model_object->sla_support_points = std::move(obj_sla_support_points->second); model_object->sla_points_status = sla::PointsStatus::UserModified; @@ -2437,7 +2437,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) } } } - /* + void _BBS_3MF_Importer::_extract_layer_config_ranges_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat, ConfigSubstitutionContext& config_substitutions) { if (stat.m_uncomp_size > 0) { @@ -2495,7 +2495,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) } } } - + /* void _BBS_3MF_Importer::_extract_sla_support_points_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat) { if (stat.m_uncomp_size > 0) { @@ -5363,14 +5363,16 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) proFn(EXPORT_STAGE_ADD_LAYER_RANGE, 0, 1, cb_cancel); if (cb_cancel) return false; - } + }*/ // Adds layer config ranges file ("Metadata/Slic3r_PE_layer_config_ranges.txt"). // All layer height profiles of all ModelObjects are stored here, indexed by 1 based index of the ModelObject in Model. // The index differes from the index of an object ID of an object instance of a 3MF file! if (!_add_layer_config_ranges_file_to_archive(archive, model)) { + close_zip_writer(&archive); + boost::filesystem::remove(filename); return false; - }*/ + } // BBS progress point /*BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ":" <<__LINE__ << boost::format("export 3mf EXPORT_STAGE_ADD_SUPPORT\n"); @@ -6417,7 +6419,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) return true; } - /* + bool _BBS_3MF_Exporter::_add_layer_config_ranges_file_to_archive(mz_zip_archive& archive, Model& model) { std::string out = ""; @@ -6477,6 +6479,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) return true; } + /* bool _BBS_3MF_Exporter::_add_sla_support_points_file_to_archive(mz_zip_archive& archive, Model& model) { assert(is_decimal_separator_point()); @@ -6810,7 +6813,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) stream << " <" << PLATE_TAG << ">\n"; //plate index stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << PLATERID_ATTR << "\" " << VALUE_ATTR << "=\"" << plate_data->plate_index + 1 << "\"/>\n"; - stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << PLATER_NAME_ATTR << "\" " << VALUE_ATTR << "=\"" << plate_data->plate_name << "\"/>\n"; + stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << PLATER_NAME_ATTR << "\" " << VALUE_ATTR << "=\"" << xml_escape(plate_data->plate_name) << "\"/>\n"; stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << LOCK_ATTR << "\" " << VALUE_ATTR << "=\"" << std::boolalpha<< plate_data->locked<< "\"/>\n"; ConfigOption* bed_type_opt = plate_data->config.option("curr_bed_type"); t_config_enum_names bed_type_names = ConfigOptionEnum::get_enum_names(); diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 9d3e41287c..126112f0d1 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -1435,6 +1435,7 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato // modifies m_silent_time_estimator_enabled DoExport::init_gcode_processor(print.config(), m_processor, m_silent_time_estimator_enabled); const bool is_bbl_printers = print.is_BBL_printer(); + m_calib_config.clear(); // resets analyzer's tracking data m_last_height = 0.f; m_last_layer_z = 0.f; @@ -1728,7 +1729,11 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato //m_placeholder_parser.set("has_single_extruder_multi_material_priming", has_wipe_tower && print.config().single_extruder_multi_material_priming); m_placeholder_parser.set("total_toolchanges", std::max(0, print.wipe_tower_data().number_of_toolchanges)); // Check for negative toolchanges (single extruder mode) and set to 0 (no tool change). - std::vector is_extruder_used(print.config().filament_diameter.size(), 0); + // PlaceholderParser currently substitues non-existent vector values with the zero'th value, which is harmful in the + // case of "is_extruder_used[]" as Slicer may lie about availability of such non-existent extruder. We rather + // sacrifice 256B of memory before we change the behavior of the PlaceholderParser, which should really only fill in + // the non-existent vector elements for filament parameters. + std::vector is_extruder_used(std::max(size_t(255), print.config().filament_diameter.size()), 0); for (unsigned int extruder : tool_ordering.all_extruders()) is_extruder_used[extruder] = true; m_placeholder_parser.set("is_extruder_used", new ConfigOptionBools(is_extruder_used)); @@ -1776,6 +1781,7 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato m_placeholder_parser.set("max_print_height",new ConfigOptionInt(m_config.printable_height)); m_placeholder_parser.set("z_offset", new ConfigOptionFloat(0.0f)); m_placeholder_parser.set("plate_name", new ConfigOptionString(print.get_plate_name())); + m_placeholder_parser.set("first_layer_height", new ConfigOptionFloat(m_config.initial_layer_print_height.value)); //BBS: calculate the volumetric speed of outer wall. Ignore pre-object setting and multi-filament, and just use the default setting { @@ -1871,7 +1877,9 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato // SoftFever: calib if (print.calib_params().mode == CalibMode::Calib_PA_Line) { std::string gcode; - gcode += m_writer.set_acceleration((unsigned int)floor(m_config.outer_wall_acceleration.value + 0.5)); + if ((m_config.default_acceleration.value > 0 && m_config.outer_wall_acceleration.value > 0)) { + gcode += m_writer.set_acceleration((unsigned int)floor(m_config.outer_wall_acceleration.value + 0.5)); + } if (m_config.default_jerk.value > 0) { double jerk = m_config.outer_wall_jerk.value; @@ -2857,7 +2865,7 @@ GCode::LayerResult GCode::process_layer( m_calib_config.set_key_value("outer_wall_speed", new ConfigOptionFloat(std::round(_speed))); } else if (print.calib_mode() == CalibMode::Calib_Retraction_tower) { - auto _length = print.calib_params().start + std::floor(print_z) * print.calib_params().step; + auto _length = print.calib_params().start + std::floor(std::max(0.0,print_z-0.4)) * print.calib_params().step; DynamicConfig _cfg; _cfg.set_key_value("retraction_length", new ConfigOptionFloats{_length}); writer().config.apply(_cfg); @@ -3635,14 +3643,6 @@ std::string GCode::extrude_loop(ExtrusionLoop loop, std::string description, dou gcode += m_writer.extrude_to_xy(this->point_to_gcode(pt), 0,"move inwards before travel",true); } - //BBS: don't reset acceleration when printing first layer. During first layer, acceleration is always same value. - if (!this->on_first_layer()) { - // reset acceleration - if (m_config.default_acceleration.value > 0) - gcode += m_writer.set_acceleration((unsigned int)(m_config.default_acceleration.value + 0.5)); - if (m_config.default_jerk.value > 0) - gcode += m_writer.set_jerk_xy(m_config.default_jerk.value); - } return gcode; } @@ -3666,14 +3666,7 @@ std::string GCode::extrude_multi_path(ExtrusionMultiPath multipath, std::string } m_wipe.path.reverse(); } - //BBS: don't reset acceleration when printing first layer. During first layer, acceleration is always same value. - if (!this->on_first_layer()) { - // reset acceleration - if (m_config.default_acceleration.value > 0) - gcode += m_writer.set_acceleration((unsigned int)floor(m_config.default_acceleration.value + 0.5)); - if(m_config.default_jerk.value > 0) - gcode += m_writer.set_jerk_xy(m_config.default_jerk.value); - } + return gcode; } @@ -3698,15 +3691,7 @@ std::string GCode::extrude_path(ExtrusionPath path, std::string description, dou m_wipe.path = std::move(path.polyline); m_wipe.path.reverse(); } - //BBS: don't reset acceleration when printing first layer. During first layer, acceleration is always same value. - if (!this->on_first_layer()){ - // reset acceleration - if (m_config.default_acceleration.value > 0) - gcode += m_writer.set_acceleration((unsigned int)floor(m_config.default_acceleration.value + 0.5)); - if(m_config.default_jerk.value > 0) - gcode += m_writer.set_jerk_xy(m_config.default_jerk.value); - } return gcode; } @@ -4015,6 +4000,12 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, } } } + // Override skirt speed if set + if (path.role() == erSkirt) { + const double skirt_speed = m_config.get_abs_value("skirt_speed"); + if (skirt_speed > 0.0) + speed = skirt_speed; + } //BBS: remove this config //else if (this->object_layer_over_raft()) // speed = m_config.get_abs_value("first_layer_speed_over_raft", speed); @@ -4272,15 +4263,16 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, } } - gcode += - m_writer.extrude_to_xy(p, e_per_mm * line_length, GCodeWriter::full_gcode_comment ? description : ""); - - prev = p; double new_speed = std::max((float)EXTRUDER_CONFIG(slow_down_min_speed), processed_point.speed) * 60.0; if (last_set_speed != new_speed) { gcode += m_writer.set_speed(new_speed, "", comment); last_set_speed = new_speed; } + gcode += + m_writer.extrude_to_xy(p, e_per_mm * line_length, GCodeWriter::full_gcode_comment ? description : ""); + + prev = p; + } if (is_overhang_fan_on) { is_overhang_fan_on = false; diff --git a/src/libslic3r/GCode/SeamPlacer.cpp b/src/libslic3r/GCode/SeamPlacer.cpp index 4b89930635..cf5b9c5080 100644 --- a/src/libslic3r/GCode/SeamPlacer.cpp +++ b/src/libslic3r/GCode/SeamPlacer.cpp @@ -1,5 +1,7 @@ #include "SeamPlacer.hpp" +#include "Polygon.hpp" +#include "PrintConfig.hpp" #include "tbb/parallel_for.h" #include "tbb/blocked_range.h" #include "tbb/parallel_reduce.h" @@ -33,957 +35,1059 @@ namespace Slic3r { namespace SeamPlacerImpl { -// ************ FOR BACKPORT COMPATIBILITY ONLY *************** -// Color mapping of a value into RGB false colors. -inline Vec3f value_to_rgbf(float minimum, float maximum, float value) -{ - float ratio = 2.0f * (value - minimum) / (maximum - minimum); - float b = std::max(0.0f, (1.0f - ratio)); - float r = std::max(0.0f, (ratio - 1.0f)); - float g = 1.0f - b - r; - return Vec3f{r, g, b}; +template int sgn(T val) { + return int(T(0) < val) - int(val < T(0)); } -// Color mapping of a value into RGB false colors. -inline Vec3i value_to_rgbi(float minimum, float maximum, float value) { return (value_to_rgbf(minimum, maximum, value) * 255).cast(); } -// *************************** - -template int sgn(T val) { return int(T(0) < val) - int(val < T(0)); } - // base function: ((e^(((1)/(x^(2)+1)))-1)/(e-1)) // checkout e.g. here: https://www.geogebra.org/calculator -float gauss(float value, float mean_x_coord, float mean_value, float falloff_speed) -{ - float shifted = value - mean_x_coord; - float denominator = falloff_speed * shifted * shifted + 1.0f; - float exponent = 1.0f / denominator; - return mean_value * (std::exp(exponent) - 1.0f) / (std::exp(1.0f) - 1.0f); +float gauss(float value, float mean_x_coord, float mean_value, float falloff_speed) { + float shifted = value - mean_x_coord; + float denominator = falloff_speed * shifted * shifted + 1.0f; + float exponent = 1.0f / denominator; + return mean_value * (std::exp(exponent) - 1.0f) / (std::exp(1.0f) - 1.0f); } -float compute_angle_penalty(float ccw_angle) -{ - // This function is used: - // ((ℯ^(((1)/(x^(2)*3+1)))-1)/(ℯ-1))*1+((1)/(2+ℯ^(-x))) - // looks scary, but it is gaussian combined with sigmoid, - // so that concave points have much smaller penalty over convex ones - // https://github.com/prusa3d/PrusaSlicer/tree/master/doc/seam_placement/corner_penalty_function.png - return gauss(ccw_angle, 0.0f, 1.0f, 3.0f) + 1.0f / (2 + std::exp(-ccw_angle)); +float compute_angle_penalty(float ccw_angle) { + // This function is used: + // ((ℯ^(((1)/(x^(2)*3+1)))-1)/(ℯ-1))*1+((1)/(2+ℯ^(-x))) + // looks scary, but it is gaussian combined with sigmoid, + // so that concave points have much smaller penalty over convex ones + // https://github.com/prusa3d/PrusaSlicer/tree/master/doc/seam_placement/corner_penalty_function.png + return gauss(ccw_angle, 0.0f, 1.0f, 3.0f) + + 1.0f / (2 + std::exp(-ccw_angle)); } /// Coordinate frame -class Frame -{ +class Frame { public: - Frame() - { - mX = Vec3f(1, 0, 0); - mY = Vec3f(0, 1, 0); - mZ = Vec3f(0, 0, 1); - } + Frame() { + mX = Vec3f(1, 0, 0); + mY = Vec3f(0, 1, 0); + mZ = Vec3f(0, 0, 1); + } - Frame(const Vec3f &x, const Vec3f &y, const Vec3f &z) : mX(x), mY(y), mZ(z) {} + Frame(const Vec3f &x, const Vec3f &y, const Vec3f &z) : + mX(x), mY(y), mZ(z) { + } - void set_from_z(const Vec3f &z) - { - mZ = z.normalized(); - Vec3f tmpZ = mZ; - Vec3f tmpX = (std::abs(tmpZ.x()) > 0.99f) ? Vec3f(0, 1, 0) : Vec3f(1, 0, 0); - mY = (tmpZ.cross(tmpX)).normalized(); - mX = mY.cross(tmpZ); - } + void set_from_z(const Vec3f &z) { + mZ = z.normalized(); + Vec3f tmpZ = mZ; + Vec3f tmpX = (std::abs(tmpZ.x()) > 0.99f) ? Vec3f(0, 1, 0) : Vec3f(1, 0, 0); + mY = (tmpZ.cross(tmpX)).normalized(); + mX = mY.cross(tmpZ); + } - Vec3f to_world(const Vec3f &a) const { return a.x() * mX + a.y() * mY + a.z() * mZ; } + Vec3f to_world(const Vec3f &a) const { + return a.x() * mX + a.y() * mY + a.z() * mZ; + } - Vec3f to_local(const Vec3f &a) const { return Vec3f(mX.dot(a), mY.dot(a), mZ.dot(a)); } + Vec3f to_local(const Vec3f &a) const { + return Vec3f(mX.dot(a), mY.dot(a), mZ.dot(a)); + } - const Vec3f &binormal() const { return mX; } + const Vec3f& binormal() const { + return mX; + } - const Vec3f &tangent() const { return mY; } + const Vec3f& tangent() const { + return mY; + } - const Vec3f &normal() const { return mZ; } + const Vec3f& normal() const { + return mZ; + } private: - Vec3f mX, mY, mZ; + Vec3f mX, mY, mZ; }; -Vec3f sample_sphere_uniform(const Vec2f &samples) -{ - float term1 = 2.0f * float(PI) * samples.x(); - float term2 = 2.0f * sqrt(samples.y() - samples.y() * samples.y()); - return {cos(term1) * term2, sin(term1) * term2, 1.0f - 2.0f * samples.y()}; +Vec3f sample_sphere_uniform(const Vec2f &samples) { + float term1 = 2.0f * float(PI) * samples.x(); + float term2 = 2.0f * sqrt(samples.y() - samples.y() * samples.y()); + return {cos(term1) * term2, sin(term1) * term2, + 1.0f - 2.0f * samples.y()}; } -Vec3f sample_hemisphere_uniform(const Vec2f &samples) -{ - float term1 = 2.0f * float(PI) * samples.x(); - float term2 = 2.0f * sqrt(samples.y() - samples.y() * samples.y()); - return {cos(term1) * term2, sin(term1) * term2, abs(1.0f - 2.0f * samples.y())}; +Vec3f sample_hemisphere_uniform(const Vec2f &samples) { + float term1 = 2.0f * float(PI) * samples.x(); + float term2 = 2.0f * sqrt(samples.y() - samples.y() * samples.y()); + return {cos(term1) * term2, sin(term1) * term2, + abs(1.0f - 2.0f * samples.y())}; } -Vec3f sample_power_cosine_hemisphere(const Vec2f &samples, float power) -{ - float term1 = 2.f * float(PI) * samples.x(); - float term2 = pow(samples.y(), 1.f / (power + 1.f)); - float term3 = sqrt(1.f - term2 * term2); +Vec3f sample_power_cosine_hemisphere(const Vec2f &samples, float power) { + float term1 = 2.f * float(PI) * samples.x(); + float term2 = pow(samples.y(), 1.f / (power + 1.f)); + float term3 = sqrt(1.f - term2 * term2); - return Vec3f(cos(term1) * term3, sin(term1) * term3, term2); + return Vec3f(cos(term1) * term3, sin(term1) * term3, term2); } std::vector raycast_visibility(const AABBTreeIndirect::Tree<3, float> &raycasting_tree, - const indexed_triangle_set & triangles, - const TriangleSetSamples & samples, - size_t negative_volumes_start_index) -{ - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: raycast visibility of " << samples.positions.size() << " samples over " << triangles.indices.size() << " triangles: end"; + const indexed_triangle_set &triangles, + const TriangleSetSamples &samples, + size_t negative_volumes_start_index) { + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: raycast visibility of " << samples.positions.size() << " samples over " << triangles.indices.size() + << " triangles: end"; - // prepare uniform samples of a hemisphere - float step_size = 1.0f / SeamPlacer::sqr_rays_per_sample_point; - std::vector precomputed_sample_directions(SeamPlacer::sqr_rays_per_sample_point * SeamPlacer::sqr_rays_per_sample_point); - for (size_t x_idx = 0; x_idx < SeamPlacer::sqr_rays_per_sample_point; ++x_idx) { - float sample_x = x_idx * step_size + step_size / 2.0; - for (size_t y_idx = 0; y_idx < SeamPlacer::sqr_rays_per_sample_point; ++y_idx) { - size_t dir_index = x_idx * SeamPlacer::sqr_rays_per_sample_point + y_idx; - float sample_y = y_idx * step_size + step_size / 2.0; - precomputed_sample_directions[dir_index] = sample_hemisphere_uniform({sample_x, sample_y}); - } + //prepare uniform samples of a hemisphere + float step_size = 1.0f / SeamPlacer::sqr_rays_per_sample_point; + std::vector precomputed_sample_directions( + SeamPlacer::sqr_rays_per_sample_point * SeamPlacer::sqr_rays_per_sample_point); + for (size_t x_idx = 0; x_idx < SeamPlacer::sqr_rays_per_sample_point; ++x_idx) { + float sample_x = x_idx * step_size + step_size / 2.0; + for (size_t y_idx = 0; y_idx < SeamPlacer::sqr_rays_per_sample_point; ++y_idx) { + size_t dir_index = x_idx * SeamPlacer::sqr_rays_per_sample_point + y_idx; + float sample_y = y_idx * step_size + step_size / 2.0; + precomputed_sample_directions[dir_index] = sample_hemisphere_uniform( { sample_x, sample_y }); } + } - bool model_contains_negative_parts = negative_volumes_start_index < triangles.indices.size(); + bool model_contains_negative_parts = negative_volumes_start_index < triangles.indices.size(); - std::vector result(samples.positions.size()); - tbb::parallel_for(tbb::blocked_range(0, result.size()), [&triangles, &precomputed_sample_directions, model_contains_negative_parts, negative_volumes_start_index, - &raycasting_tree, &result, &samples](tbb::blocked_range r) { - // Maintaining hits memory outside of the loop, so it does not have to be reallocated for each query. - std::vector hits; - for (size_t s_idx = r.begin(); s_idx < r.end(); ++s_idx) { - result[s_idx] = 1.0f; - constexpr float decrease_step = 1.0f / (SeamPlacer::sqr_rays_per_sample_point * SeamPlacer::sqr_rays_per_sample_point); + std::vector result(samples.positions.size()); + tbb::parallel_for(tbb::blocked_range(0, result.size()), + [&triangles, &precomputed_sample_directions, model_contains_negative_parts, negative_volumes_start_index, + &raycasting_tree, &result, &samples](tbb::blocked_range r) { + // Maintaining hits memory outside of the loop, so it does not have to be reallocated for each query. + std::vector hits; + for (size_t s_idx = r.begin(); s_idx < r.end(); ++s_idx) { + result[s_idx] = 1.0f; + constexpr float decrease_step = 1.0f + / (SeamPlacer::sqr_rays_per_sample_point * SeamPlacer::sqr_rays_per_sample_point); - const Vec3f ¢er = samples.positions[s_idx]; - const Vec3f &normal = samples.normals[s_idx]; - // apply the local direction via Frame struct - the local_dir is with respect to +Z being forward - Frame f; - f.set_from_z(normal); + const Vec3f ¢er = samples.positions[s_idx]; + const Vec3f &normal = samples.normals[s_idx]; + // apply the local direction via Frame struct - the local_dir is with respect to +Z being forward + Frame f; + f.set_from_z(normal); - for (const auto &dir : precomputed_sample_directions) { - Vec3f final_ray_dir = (f.to_world(dir)); - if (!model_contains_negative_parts) { - igl::Hit hitpoint; - // FIXME: This AABBTTreeIndirect query will not compile for float ray origin and - // direction. - Vec3d final_ray_dir_d = final_ray_dir.cast(); - Vec3d ray_origin_d = (center + normal * 0.01f).cast(); // start above surface. - bool hit = AABBTreeIndirect::intersect_ray_first_hit(triangles.vertices, triangles.indices, raycasting_tree, ray_origin_d, final_ray_dir_d, hitpoint); - if (hit && its_face_normal(triangles, hitpoint.id).dot(final_ray_dir) <= 0) { result[s_idx] -= decrease_step; } - } else { // TODO improve logic for order based boolean operations - consider order of volumes - bool casting_from_negative_volume = samples.triangle_indices[s_idx] >= negative_volumes_start_index; - - Vec3d ray_origin_d = (center + normal * 0.01f).cast(); // start above surface. - if (casting_from_negative_volume) { // if casting from negative volume face, invert direction, change start pos - final_ray_dir = -1.0 * final_ray_dir; - ray_origin_d = (center - normal * 0.01f).cast(); - } - Vec3d final_ray_dir_d = final_ray_dir.cast(); - bool some_hit = AABBTreeIndirect::intersect_ray_all_hits(triangles.vertices, triangles.indices, raycasting_tree, ray_origin_d, final_ray_dir_d, hits); - if (some_hit) { - int counter = 0; - // NOTE: iterating in reverse, from the last hit for one simple reason: We know the state of the ray at that point; - // It cannot be inside model, and it cannot be inside negative volume - for (int hit_index = int(hits.size()) - 1; hit_index >= 0; --hit_index) { - Vec3f face_normal = its_face_normal(triangles, hits[hit_index].id); - if (hits[hit_index].id >= int(negative_volumes_start_index)) { // negative volume hit - counter -= sgn(face_normal.dot(final_ray_dir)); // if volume face aligns with ray dir, we are leaving negative space - // which in reverse hit analysis means, that we are entering negative space :) and vice versa - } else { - counter += sgn(face_normal.dot(final_ray_dir)); + for (const auto &dir : precomputed_sample_directions) { + Vec3f final_ray_dir = (f.to_world(dir)); + if (!model_contains_negative_parts) { + igl::Hit hitpoint; + // FIXME: This AABBTTreeIndirect query will not compile for float ray origin and + // direction. + Vec3d final_ray_dir_d = final_ray_dir.cast(); + Vec3d ray_origin_d = (center + normal * 0.01f).cast(); // start above surface. + bool hit = AABBTreeIndirect::intersect_ray_first_hit(triangles.vertices, + triangles.indices, raycasting_tree, ray_origin_d, final_ray_dir_d, hitpoint); + if (hit && its_face_normal(triangles, hitpoint.id).dot(final_ray_dir) <= 0) { + result[s_idx] -= decrease_step; } + } else { //TODO improve logic for order based boolean operations - consider order of volumes + bool casting_from_negative_volume = samples.triangle_indices[s_idx] + >= negative_volumes_start_index; + + Vec3d ray_origin_d = (center + normal * 0.01f).cast(); // start above surface. + if (casting_from_negative_volume) { // if casting from negative volume face, invert direction, change start pos + final_ray_dir = -1.0 * final_ray_dir; + ray_origin_d = (center - normal * 0.01f).cast(); + } + Vec3d final_ray_dir_d = final_ray_dir.cast(); + bool some_hit = AABBTreeIndirect::intersect_ray_all_hits(triangles.vertices, + triangles.indices, raycasting_tree, + ray_origin_d, final_ray_dir_d, hits); + if (some_hit) { + int counter = 0; + // NOTE: iterating in reverse, from the last hit for one simple reason: We know the state of the ray at that point; + // It cannot be inside model, and it cannot be inside negative volume + for (int hit_index = int(hits.size()) - 1; hit_index >= 0; --hit_index) { + Vec3f face_normal = its_face_normal(triangles, hits[hit_index].id); + if (hits[hit_index].id >= int(negative_volumes_start_index)) { //negative volume hit + counter -= sgn(face_normal.dot(final_ray_dir)); // if volume face aligns with ray dir, we are leaving negative space + // which in reverse hit analysis means, that we are entering negative space :) and vice versa + } else { + counter += sgn(face_normal.dot(final_ray_dir)); + } + } + if (counter == 0) { + result[s_idx] -= decrease_step; + } + } + } } - if (counter == 0) { result[s_idx] -= decrease_step; } - } - } - } - } - }); + } + }); - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: raycast visibility of " << samples.positions.size() << " samples over " << triangles.indices.size() << " triangles: end"; + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: raycast visibility of " << samples.positions.size() << " samples over " << triangles.indices.size() + << " triangles: end"; - return result; + return result; } -std::vector calculate_polygon_angles_at_vertices(const Polygon &polygon, const std::vector &lengths, float min_arm_length) -{ - std::vector result(polygon.size()); +std::vector calculate_polygon_angles_at_vertices(const Polygon &polygon, const std::vector &lengths, + float min_arm_length) { + std::vector result(polygon.size()); - if (polygon.size() == 1) { result[0] = 0.0f; } + if (polygon.size() == 1) { + result[0] = 0.0f; + } - size_t idx_prev = 0; - size_t idx_curr = 0; - size_t idx_next = 0; + size_t idx_prev = 0; + size_t idx_curr = 0; + size_t idx_next = 0; - float distance_to_prev = 0; - float distance_to_next = 0; + float distance_to_prev = 0; + float distance_to_next = 0; - // push idx_prev far enough back as initialization - while (distance_to_prev < min_arm_length) { - idx_prev = Slic3r::prev_idx_modulo(idx_prev, polygon.size()); - distance_to_prev += lengths[idx_prev]; + //push idx_prev far enough back as initialization + while (distance_to_prev < min_arm_length) { + idx_prev = Slic3r::prev_idx_modulo(idx_prev, polygon.size()); + distance_to_prev += lengths[idx_prev]; + } + + for (size_t _i = 0; _i < polygon.size(); ++_i) { + // pull idx_prev to current as much as possible, while respecting the min_arm_length + while (distance_to_prev - lengths[idx_prev] > min_arm_length) { + distance_to_prev -= lengths[idx_prev]; + idx_prev = Slic3r::next_idx_modulo(idx_prev, polygon.size()); } - for (size_t _i = 0; _i < polygon.size(); ++_i) { - // pull idx_prev to current as much as possible, while respecting the min_arm_length - while (distance_to_prev - lengths[idx_prev] > min_arm_length) { - distance_to_prev -= lengths[idx_prev]; - idx_prev = Slic3r::next_idx_modulo(idx_prev, polygon.size()); - } - - // push idx_next forward as far as needed - while (distance_to_next < min_arm_length) { - distance_to_next += lengths[idx_next]; - idx_next = Slic3r::next_idx_modulo(idx_next, polygon.size()); - } - - // Calculate angle between idx_prev, idx_curr, idx_next. - const Point &p0 = polygon.points[idx_prev]; - const Point &p1 = polygon.points[idx_curr]; - const Point &p2 = polygon.points[idx_next]; - result[idx_curr] = float(angle(p1 - p0, p2 - p1)); - - // increase idx_curr by one - float curr_distance = lengths[idx_curr]; - idx_curr++; - distance_to_prev += curr_distance; - distance_to_next -= curr_distance; + //push idx_next forward as far as needed + while (distance_to_next < min_arm_length) { + distance_to_next += lengths[idx_next]; + idx_next = Slic3r::next_idx_modulo(idx_next, polygon.size()); } - return result; + // Calculate angle between idx_prev, idx_curr, idx_next. + const Point &p0 = polygon.points[idx_prev]; + const Point &p1 = polygon.points[idx_curr]; + const Point &p2 = polygon.points[idx_next]; + result[idx_curr] = float(angle(p1 - p0, p2 - p1)); + + // increase idx_curr by one + float curr_distance = lengths[idx_curr]; + idx_curr++; + distance_to_prev += curr_distance; + distance_to_next -= curr_distance; + } + + return result; } -struct CoordinateFunctor -{ - const std::vector *coordinates; - CoordinateFunctor(const std::vector *coords) : coordinates(coords) {} - CoordinateFunctor() : coordinates(nullptr) {} +struct CoordinateFunctor { + const std::vector *coordinates; + CoordinateFunctor(const std::vector *coords) : + coordinates(coords) { + } + CoordinateFunctor() : + coordinates(nullptr) { + } - const float &operator()(size_t idx, size_t dim) const { return coordinates->operator[](idx)[dim]; } + const float& operator()(size_t idx, size_t dim) const { + return coordinates->operator [](idx)[dim]; + } }; // structure to store global information about the model - occlusion hits, enforcers, blockers -struct GlobalModelInfo -{ - TriangleSetSamples mesh_samples; - std::vector mesh_samples_visibility; - CoordinateFunctor mesh_samples_coordinate_functor; - KDTreeIndirect<3, float, CoordinateFunctor> mesh_samples_tree{CoordinateFunctor{}}; - float mesh_samples_radius; +struct GlobalModelInfo { + TriangleSetSamples mesh_samples; + std::vector mesh_samples_visibility; + CoordinateFunctor mesh_samples_coordinate_functor; + KDTreeIndirect<3, float, CoordinateFunctor> mesh_samples_tree { CoordinateFunctor { } }; + float mesh_samples_radius; - indexed_triangle_set enforcers; - indexed_triangle_set blockers; - AABBTreeIndirect::Tree<3, float> enforcers_tree; - AABBTreeIndirect::Tree<3, float> blockers_tree; + indexed_triangle_set enforcers; + indexed_triangle_set blockers; + AABBTreeIndirect::Tree<3, float> enforcers_tree; + AABBTreeIndirect::Tree<3, float> blockers_tree; - bool is_enforced(const Vec3f &position, float radius) const - { - if (enforcers.empty()) { return false; } - float radius_sqr = radius * radius; - return AABBTreeIndirect::is_any_triangle_in_radius(enforcers.vertices, enforcers.indices, enforcers_tree, position, radius_sqr); + bool is_enforced(const Vec3f &position, float radius) const { + if (enforcers.empty()) { + return false; + } + float radius_sqr = radius * radius; + return AABBTreeIndirect::is_any_triangle_in_radius(enforcers.vertices, enforcers.indices, + enforcers_tree, position, radius_sqr); + } + + bool is_blocked(const Vec3f &position, float radius) const { + if (blockers.empty()) { + return false; + } + float radius_sqr = radius * radius; + return AABBTreeIndirect::is_any_triangle_in_radius(blockers.vertices, blockers.indices, + blockers_tree, position, radius_sqr); + } + + float calculate_point_visibility(const Vec3f &position) const { + std::vector points = find_nearby_points(mesh_samples_tree, position, mesh_samples_radius); + if (points.empty()) { + return 1.0f; } - bool is_blocked(const Vec3f &position, float radius) const - { - if (blockers.empty()) { return false; } - float radius_sqr = radius * radius; - return AABBTreeIndirect::is_any_triangle_in_radius(blockers.vertices, blockers.indices, blockers_tree, position, radius_sqr); + auto compute_dist_to_plane = [](const Vec3f &position, const Vec3f &plane_origin, const Vec3f &plane_normal) { + Vec3f orig_to_point = position - plane_origin; + return std::abs(orig_to_point.dot(plane_normal)); + }; + + float total_weight = 0; + float total_visibility = 0; + for (size_t i = 0; i < points.size(); ++i) { + size_t sample_idx = points[i]; + + Vec3f sample_point = this->mesh_samples.positions[sample_idx]; + Vec3f sample_normal = this->mesh_samples.normals[sample_idx]; + + float weight = mesh_samples_radius - compute_dist_to_plane(position, sample_point, sample_normal); + weight += (mesh_samples_radius - (position - sample_point).norm()); + total_visibility += weight * mesh_samples_visibility[sample_idx]; + total_weight += weight; } - float calculate_point_visibility(const Vec3f &position) const - { - std::vector points = find_nearby_points(mesh_samples_tree, position, mesh_samples_radius); - if (points.empty()) { return 1.0f; } + return total_visibility / total_weight; - auto compute_dist_to_plane = [](const Vec3f &position, const Vec3f &plane_origin, const Vec3f &plane_normal) { - Vec3f orig_to_point = position - plane_origin; - return std::abs(orig_to_point.dot(plane_normal)); - }; - - float total_weight = 0; - float total_visibility = 0; - for (size_t i = 0; i < points.size(); ++i) { - size_t sample_idx = points[i]; - - Vec3f sample_point = this->mesh_samples.positions[sample_idx]; - Vec3f sample_normal = this->mesh_samples.normals[sample_idx]; - - float weight = mesh_samples_radius - compute_dist_to_plane(position, sample_point, sample_normal); - weight += (mesh_samples_radius - (position - sample_point).norm()); - total_visibility += weight * mesh_samples_visibility[sample_idx]; - total_weight += weight; - } - - return total_visibility / total_weight; - } + } #ifdef DEBUG_FILES - void debug_export(const indexed_triangle_set &obj_mesh) const + void debug_export(const indexed_triangle_set &obj_mesh) const { + + indexed_triangle_set divided_mesh = obj_mesh; + Slic3r::CNumericLocalesSetter locales_setter; + { - indexed_triangle_set divided_mesh = obj_mesh; - Slic3r::CNumericLocalesSetter locales_setter; + auto filename = debug_out_path("visiblity.obj"); + FILE *fp = boost::nowide::fopen(filename.c_str(), "w"); + if (fp == nullptr) { + BOOST_LOG_TRIVIAL(error) + << "stl_write_obj: Couldn't open " << filename << " for writing"; + return; + } - { - auto filename = debug_out_path("visiblity.obj"); - FILE *fp = boost::nowide::fopen(filename.c_str(), "w"); - if (fp == nullptr) { - BOOST_LOG_TRIVIAL(error) << "stl_write_obj: Couldn't open " << filename << " for writing"; - return; - } - - for (size_t i = 0; i < divided_mesh.vertices.size(); ++i) { - float visibility = calculate_point_visibility(divided_mesh.vertices[i]); - Vec3f color = value_to_rgbf(0.0f, 1.0f, visibility); - fprintf(fp, "v %f %f %f %f %f %f\n", divided_mesh.vertices[i](0), divided_mesh.vertices[i](1), divided_mesh.vertices[i](2), color(0), color(1), color(2)); - } - for (size_t i = 0; i < divided_mesh.indices.size(); ++i) - fprintf(fp, "f %d %d %d\n", divided_mesh.indices[i][0] + 1, divided_mesh.indices[i][1] + 1, divided_mesh.indices[i][2] + 1); - fclose(fp); - } - - { - auto filename = debug_out_path("visiblity_samples.obj"); - FILE *fp = boost::nowide::fopen(filename.c_str(), "w"); - if (fp == nullptr) { - BOOST_LOG_TRIVIAL(error) << "stl_write_obj: Couldn't open " << filename << " for writing"; - return; - } - - for (size_t i = 0; i < mesh_samples.positions.size(); ++i) { - float visibility = mesh_samples_visibility[i]; - Vec3f color = value_to_rgbf(0.0f, 1.0f, visibility); - fprintf(fp, "v %f %f %f %f %f %f\n", mesh_samples.positions[i](0), mesh_samples.positions[i](1), mesh_samples.positions[i](2), color(0), color(1), color(2)); - } - fclose(fp); - } + for (size_t i = 0; i < divided_mesh.vertices.size(); ++i) { + float visibility = calculate_point_visibility(divided_mesh.vertices[i]); + Vec3f color = value_to_rgbf(0.0f, 1.0f, visibility); + fprintf(fp, "v %f %f %f %f %f %f\n", + divided_mesh.vertices[i](0), divided_mesh.vertices[i](1), divided_mesh.vertices[i](2), + color(0), color(1), color(2)); + } + for (size_t i = 0; i < divided_mesh.indices.size(); ++i) + fprintf(fp, "f %d %d %d\n", divided_mesh.indices[i][0] + 1, divided_mesh.indices[i][1] + 1, + divided_mesh.indices[i][2] + 1); + fclose(fp); } + + { + auto filename = debug_out_path("visiblity_samples.obj"); + FILE *fp = boost::nowide::fopen(filename.c_str(), "w"); + if (fp == nullptr) { + BOOST_LOG_TRIVIAL(error) + << "stl_write_obj: Couldn't open " << filename << " for writing"; + return; + } + + for (size_t i = 0; i < mesh_samples.positions.size(); ++i) { + float visibility = mesh_samples_visibility[i]; + Vec3f color = value_to_rgbf(0.0f, 1.0f, visibility); + fprintf(fp, "v %f %f %f %f %f %f\n", + mesh_samples.positions[i](0), mesh_samples.positions[i](1), mesh_samples.positions[i](2), + color(0), color(1), color(2)); + } + fclose(fp); + } + + } #endif -}; +} +; -// Extract perimeter polygons of the given layer -Polygons extract_perimeter_polygons(const Layer *layer, const SeamPosition configured_seam_preference, std::vector &corresponding_regions_out) -{ - Polygons polygons; - for (const LayerRegion *layer_region : layer->regions()) { - for (const ExtrusionEntity *ex_entity : layer_region->perimeters.entities) { - if (ex_entity->is_collection()) { // collection of inner, outer, and overhang perimeters - for (const ExtrusionEntity *perimeter : static_cast(ex_entity)->entities) { - ExtrusionRole role = perimeter->role(); - if (perimeter->is_loop()) { - for (const ExtrusionPath &path : static_cast(perimeter)->paths) { - if (path.role() == ExtrusionRole::erExternalPerimeter) { role = ExtrusionRole::erExternalPerimeter; } - } - } - - if (role == ExtrusionRole::erExternalPerimeter || - (is_perimeter(role) && configured_seam_preference == spRandom)) { // for random seam alignment, extract all perimeters - Points p; - perimeter->collect_points(p); - polygons.emplace_back(std::move(p)); - corresponding_regions_out.push_back(layer_region); - } - } - if (polygons.empty()) { - Points p; - ex_entity->collect_points(p); - polygons.emplace_back(std::move(p)); - corresponding_regions_out.push_back(layer_region); - } - } else { - Points p; - ex_entity->collect_points(p); - polygons.emplace_back(std::move(p)); - corresponding_regions_out.push_back(layer_region); +//Extract perimeter polygons of the given layer +Polygons extract_perimeter_polygons(const Layer *layer, std::vector &corresponding_regions_out) { + Polygons polygons; + for (const LayerRegion *layer_region : layer->regions()) { + for (const ExtrusionEntity *ex_entity : layer_region->perimeters.entities) { + if (ex_entity->is_collection()) { //collection of inner, outer, and overhang perimeters + for (const ExtrusionEntity *perimeter : static_cast(ex_entity)->entities) { + ExtrusionRole role = perimeter->role(); + if (perimeter->is_loop()) { + for (const ExtrusionPath &path : static_cast(perimeter)->paths) { + if (path.role() == ExtrusionRole::erExternalPerimeter) { + role = ExtrusionRole::erExternalPerimeter; + } } + } + + if (role == ExtrusionRole::erExternalPerimeter) { + Points p; + perimeter->collect_points(p); + polygons.emplace_back(std::move(p)); + corresponding_regions_out.push_back(layer_region); + } } + if (polygons.empty()) { + Points p; + ex_entity->collect_points(p); + polygons.emplace_back(std::move(p)); + corresponding_regions_out.push_back(layer_region); + } + } else { + Points p; + ex_entity->collect_points(p); + polygons.emplace_back(std::move(p)); + corresponding_regions_out.push_back(layer_region); + } } + } - if (polygons.empty()) { // If there are no perimeter polygons for whatever reason (disabled perimeters .. ) insert dummy point - // it is easier than checking everywhere if the layer is not emtpy, no seam will be placed to this layer anyway - polygons.emplace_back(std::vector{Point{0, 0}}); - corresponding_regions_out.push_back(nullptr); - } + if (polygons.empty()) { // If there are no perimeter polygons for whatever reason (disabled perimeters .. ) insert dummy point + // it is easier than checking everywhere if the layer is not emtpy, no seam will be placed to this layer anyway + polygons.emplace_back(Points{ { 0, 0 } }); + corresponding_regions_out.push_back(nullptr); + } - return polygons; + return polygons; } // Insert SeamCandidates created from perimeter polygons in to the result vector. // Compute its type (Enfrocer,Blocker), angle, and position -// each SeamCandidate also contains pointer to shared Perimeter structure representing the polygon +//each SeamCandidate also contains pointer to shared Perimeter structure representing the polygon // if Custom Seam modifiers are present, oversamples the polygon if necessary to better fit user intentions -void process_perimeter_polygon( - const Polygon &orig_polygon, float z_coord, const LayerRegion *region, const GlobalModelInfo &global_model_info, PrintObjectSeamData::LayerSeams &result) -{ - if (orig_polygon.size() == 0) { return; } - Polygon polygon = orig_polygon; - bool was_clockwise = polygon.make_counter_clockwise(); - float angle_arm_len = region != nullptr ? region->flow(FlowRole::frExternalPerimeter).nozzle_diameter() : 0.5f; +void process_perimeter_polygon(const Polygon &orig_polygon, float z_coord, const LayerRegion *region, + const GlobalModelInfo &global_model_info, PrintObjectSeamData::LayerSeams &result) { + if (orig_polygon.size() == 0) { + return; + } + Polygon polygon = orig_polygon; + bool was_clockwise = polygon.make_counter_clockwise(); + float angle_arm_len = region != nullptr ? region->flow(FlowRole::frExternalPerimeter).nozzle_diameter() : 0.5f; - std::vector lengths{}; - for (size_t point_idx = 0; point_idx < polygon.size() - 1; ++point_idx) { lengths.push_back((unscale(polygon[point_idx]) - unscale(polygon[point_idx + 1])).norm()); } - lengths.push_back(std::max((unscale(polygon[0]) - unscale(polygon[polygon.size() - 1])).norm(), 0.1)); - std::vector polygon_angles = calculate_polygon_angles_at_vertices(polygon, lengths, angle_arm_len); + std::vector lengths { }; + for (size_t point_idx = 0; point_idx < polygon.size() - 1; ++point_idx) { + lengths.push_back((unscale(polygon[point_idx]) - unscale(polygon[point_idx + 1])).norm()); + } + lengths.push_back(std::max((unscale(polygon[0]) - unscale(polygon[polygon.size() - 1])).norm(), 0.1)); + std::vector polygon_angles = calculate_polygon_angles_at_vertices(polygon, lengths, + angle_arm_len); - result.perimeters.push_back({}); - Perimeter &perimeter = result.perimeters.back(); + result.perimeters.push_back( { }); + Perimeter &perimeter = result.perimeters.back(); - std::queue orig_polygon_points{}; - for (size_t index = 0; index < polygon.size(); ++index) { - Vec2f unscaled_p = unscale(polygon[index]).cast(); - orig_polygon_points.emplace(unscaled_p.x(), unscaled_p.y(), z_coord); + std::queue orig_polygon_points { }; + for (size_t index = 0; index < polygon.size(); ++index) { + Vec2f unscaled_p = unscale(polygon[index]).cast(); + orig_polygon_points.emplace(unscaled_p.x(), unscaled_p.y(), z_coord); + } + Vec3f first = orig_polygon_points.front(); + std::queue oversampled_points { }; + size_t orig_angle_index = 0; + perimeter.start_index = result.points.size(); + perimeter.flow_width = region != nullptr ? region->flow(FlowRole::frExternalPerimeter).width() : 0.0f; + bool some_point_enforced = false; + while (!orig_polygon_points.empty() || !oversampled_points.empty()) { + EnforcedBlockedSeamPoint type = EnforcedBlockedSeamPoint::Neutral; + Vec3f position; + float local_ccw_angle = 0; + bool orig_point = false; + if (!oversampled_points.empty()) { + position = oversampled_points.front(); + oversampled_points.pop(); + } else { + position = orig_polygon_points.front(); + orig_polygon_points.pop(); + local_ccw_angle = was_clockwise ? -polygon_angles[orig_angle_index] : polygon_angles[orig_angle_index]; + orig_angle_index++; + orig_point = true; } - Vec3f first = orig_polygon_points.front(); - std::queue oversampled_points{}; - size_t orig_angle_index = 0; - perimeter.start_index = result.points.size(); - perimeter.flow_width = region != nullptr ? region->flow(FlowRole::frExternalPerimeter).width() : 0.0f; - bool some_point_enforced = false; - while (!orig_polygon_points.empty() || !oversampled_points.empty()) { - EnforcedBlockedSeamPoint type = EnforcedBlockedSeamPoint::Neutral; - Vec3f position; - float local_ccw_angle = 0; - bool orig_point = false; - if (!oversampled_points.empty()) { - position = oversampled_points.front(); - oversampled_points.pop(); + + if (global_model_info.is_enforced(position, perimeter.flow_width)) { + type = EnforcedBlockedSeamPoint::Enforced; + } + + if (global_model_info.is_blocked(position, perimeter.flow_width)) { + type = EnforcedBlockedSeamPoint::Blocked; + } + some_point_enforced = some_point_enforced || type == EnforcedBlockedSeamPoint::Enforced; + + if (orig_point) { + Vec3f pos_of_next = orig_polygon_points.empty() ? first : orig_polygon_points.front(); + float distance_to_next = (position - pos_of_next).norm(); + if (global_model_info.is_enforced(position, distance_to_next)) { + Vec3f vec_to_next = (pos_of_next - position).normalized(); + float step_size = SeamPlacer::enforcer_oversampling_distance; + float step = step_size; + while (step < distance_to_next) { + oversampled_points.push(position + vec_to_next * step); + step += step_size; + } + } + } + + result.points.emplace_back(position, perimeter, local_ccw_angle, type); + } + + perimeter.end_index = result.points.size(); + + if (some_point_enforced) { + // We will patches of enforced points (patch: continuous section of enforced points), choose + // the longest patch, and select the middle point or sharp point (depending on the angle) + // this point will have high priority on this perimeter + size_t perimeter_size = perimeter.end_index - perimeter.start_index; + const auto next_index = [&](size_t idx) { + return perimeter.start_index + Slic3r::next_idx_modulo(idx - perimeter.start_index, perimeter_size); + }; + + std::vector patches_starts_ends; + for (size_t i = perimeter.start_index; i < perimeter.end_index; ++i) { + if (result.points[i].type != EnforcedBlockedSeamPoint::Enforced && + result.points[next_index(i)].type == EnforcedBlockedSeamPoint::Enforced) { + patches_starts_ends.push_back(next_index(i)); + } + if (result.points[i].type == EnforcedBlockedSeamPoint::Enforced && + result.points[next_index(i)].type != EnforcedBlockedSeamPoint::Enforced) { + patches_starts_ends.push_back(next_index(i)); + } + } + //if patches_starts_ends are empty, it means that the whole perimeter is enforced.. don't do anything in that case + if (!patches_starts_ends.empty()) { + //if the first point in the patches is not enforced, it marks a patch end. in that case, put it to the end and start on next + // to simplify the processing + assert(patches_starts_ends.size() % 2 == 0); + bool start_on_second = false; + if (result.points[patches_starts_ends[0]].type != EnforcedBlockedSeamPoint::Enforced) { + start_on_second = true; + patches_starts_ends.push_back(patches_starts_ends[0]); + } + //now pick the longest patch + std::pair longest_patch { 0, 0 }; + auto patch_len = [perimeter_size](const std::pair &start_end) { + if (start_end.second < start_end.first) { + return start_end.first + (perimeter_size - start_end.second); } else { - position = orig_polygon_points.front(); - orig_polygon_points.pop(); - local_ccw_angle = was_clockwise ? -polygon_angles[orig_angle_index] : polygon_angles[orig_angle_index]; - orig_angle_index++; - orig_point = true; + return start_end.second - start_end.first; } - - if (global_model_info.is_enforced(position, perimeter.flow_width)) { type = EnforcedBlockedSeamPoint::Enforced; } - - if (global_model_info.is_blocked(position, perimeter.flow_width)) { type = EnforcedBlockedSeamPoint::Blocked; } - some_point_enforced = some_point_enforced || type == EnforcedBlockedSeamPoint::Enforced; - - if (orig_point) { - Vec3f pos_of_next = orig_polygon_points.empty() ? first : orig_polygon_points.front(); - float distance_to_next = (position - pos_of_next).norm(); - if (distance_to_next > perimeter.flow_width * perimeter.flow_width * 4) - oversampled_points.push((position + pos_of_next) / 2); - if (global_model_info.is_enforced(position, distance_to_next)) { - Vec3f vec_to_next = (pos_of_next - position).normalized(); - float step_size = SeamPlacer::enforcer_oversampling_distance; - float step = step_size; - while (step < distance_to_next) { - oversampled_points.push(position + vec_to_next * step); - step += step_size; - } - } + }; + for (size_t patch_idx = start_on_second ? 1 : 0; patch_idx < patches_starts_ends.size(); patch_idx += 2) { + std::pair current_patch { patches_starts_ends[patch_idx], patches_starts_ends[patch_idx + + 1] }; + if (patch_len(longest_patch) < patch_len(current_patch)) { + longest_patch = current_patch; } - - result.points.emplace_back(position, perimeter, local_ccw_angle, type); + } + std::vector viable_points_indices; + std::vector large_angle_points_indices; + for (size_t point_idx = longest_patch.first; point_idx != longest_patch.second; + point_idx = next_index(point_idx)) { + viable_points_indices.push_back(point_idx); + if (std::abs(result.points[point_idx].local_ccw_angle) + > SeamPlacer::sharp_angle_snapping_threshold) { + large_angle_points_indices.push_back(point_idx); + } + } + assert(viable_points_indices.size() > 0); + if (large_angle_points_indices.empty()) { + size_t central_idx = viable_points_indices[viable_points_indices.size() / 2]; + result.points[central_idx].central_enforcer = true; + } else { + size_t central_idx = large_angle_points_indices.size() / 2; + result.points[large_angle_points_indices[central_idx]].central_enforcer = true; + } } + } - perimeter.end_index = result.points.size(); - - if (some_point_enforced) { - // We will patches of enforced points (patch: continuous section of enforced points), choose - // the longest patch, and select the middle point or sharp point (depending on the angle) - // this point will have high priority on this perimeter - size_t perimeter_size = perimeter.end_index - perimeter.start_index; - const auto next_index = [&](size_t idx) { return perimeter.start_index + Slic3r::next_idx_modulo(idx - perimeter.start_index, perimeter_size); }; - - std::vector patches_starts_ends; - for (size_t i = perimeter.start_index; i < perimeter.end_index; ++i) { - if (result.points[i].type != EnforcedBlockedSeamPoint::Enforced && result.points[next_index(i)].type == EnforcedBlockedSeamPoint::Enforced) { - patches_starts_ends.push_back(next_index(i)); - } - if (result.points[i].type == EnforcedBlockedSeamPoint::Enforced && result.points[next_index(i)].type != EnforcedBlockedSeamPoint::Enforced) { - patches_starts_ends.push_back(next_index(i)); - } - } - // if patches_starts_ends are empty, it means that the whole perimeter is enforced.. don't do anything in that case - if (!patches_starts_ends.empty()) { - // if the first point in the patches is not enforced, it marks a patch end. in that case, put it to the end and start on next - // to simplify the processing - assert(patches_starts_ends.size() % 2 == 0); - bool start_on_second = false; - if (result.points[patches_starts_ends[0]].type != EnforcedBlockedSeamPoint::Enforced) { - start_on_second = true; - patches_starts_ends.push_back(patches_starts_ends[0]); - } - // now pick the longest patch - std::pair longest_patch{0, 0}; - auto patch_len = [perimeter_size](const std::pair &start_end) { - if (start_end.second < start_end.first) { - return start_end.first + (perimeter_size - start_end.second); - } else { - return start_end.second - start_end.first; - } - }; - for (size_t patch_idx = start_on_second ? 1 : 0; patch_idx < patches_starts_ends.size(); patch_idx += 2) { - std::pair current_patch{patches_starts_ends[patch_idx], patches_starts_ends[patch_idx + 1]}; - if (patch_len(longest_patch) < patch_len(current_patch)) { longest_patch = current_patch; } - } - std::vector viable_points_indices; - std::vector large_angle_points_indices; - for (size_t point_idx = longest_patch.first; point_idx != longest_patch.second; point_idx = next_index(point_idx)) { - viable_points_indices.push_back(point_idx); - if (std::abs(result.points[point_idx].local_ccw_angle) > SeamPlacer::sharp_angle_snapping_threshold) { large_angle_points_indices.push_back(point_idx); } - } - assert(viable_points_indices.size() > 0); - if (large_angle_points_indices.empty()) { - size_t central_idx = viable_points_indices[viable_points_indices.size() / 2]; - result.points[central_idx].central_enforcer = true; - } else { - size_t central_idx = large_angle_points_indices.size() / 2; - result.points[large_angle_points_indices[central_idx]].central_enforcer = true; - } - } - } } // Get index of previous and next perimeter point of the layer. Because SeamCandidates of all polygons of the given layer // are sequentially stored in the vector, each perimeter contains info about start and end index. These vales are used to // deduce index of previous and next neigbour in the corresponding perimeter. -std::pair find_previous_and_next_perimeter_point(const std::vector &perimeter_points, size_t point_index) -{ - const SeamCandidate ¤t = perimeter_points[point_index]; - int prev = point_index - 1; // for majority of points, it is true that neighbours lie behind and in front of them in the vector - int next = point_index + 1; +std::pair find_previous_and_next_perimeter_point(const std::vector &perimeter_points, + size_t point_index) { + const SeamCandidate ¤t = perimeter_points[point_index]; + int prev = point_index - 1; //for majority of points, it is true that neighbours lie behind and in front of them in the vector + int next = point_index + 1; - if (point_index == current.perimeter.start_index) { - // if point_index is equal to start, it means that the previous neighbour is at the end - prev = current.perimeter.end_index; - } + if (point_index == current.perimeter.start_index) { + // if point_index is equal to start, it means that the previous neighbour is at the end + prev = current.perimeter.end_index; + } - if (point_index == current.perimeter.end_index - 1) { - // if point_index is equal to end, than next neighbour is at the start - next = current.perimeter.start_index; - } + if (point_index == current.perimeter.end_index - 1) { + // if point_index is equal to end, than next neighbour is at the start + next = current.perimeter.start_index; + } - assert(prev >= 0); - assert(next >= 0); - return {size_t(prev), size_t(next)}; + assert(prev >= 0); + assert(next >= 0); + return {size_t(prev),size_t(next)}; } // Computes all global model info - transforms object, performs raycasting -void compute_global_occlusion(GlobalModelInfo &result, const PrintObject *po, std::function throw_if_canceled) -{ - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: gather occlusion meshes: start"; - auto obj_transform = po->trafo_centered(); - indexed_triangle_set triangle_set; - indexed_triangle_set negative_volumes_set; - // add all parts - for (const ModelVolume *model_volume : po->model_object()->volumes) { - if (model_volume->type() == ModelVolumeType::MODEL_PART || model_volume->type() == ModelVolumeType::NEGATIVE_VOLUME) { - auto model_transformation = model_volume->get_matrix(); - indexed_triangle_set model_its = model_volume->mesh().its; - its_transform(model_its, model_transformation); - if (model_volume->type() == ModelVolumeType::MODEL_PART) { - its_merge(triangle_set, model_its); - } else { - its_merge(negative_volumes_set, model_its); - } - } +void compute_global_occlusion(GlobalModelInfo &result, const PrintObject *po, + std::function throw_if_canceled) { + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: gather occlusion meshes: start"; + auto obj_transform = po->trafo_centered(); + indexed_triangle_set triangle_set; + indexed_triangle_set negative_volumes_set; + //add all parts + for (const ModelVolume *model_volume : po->model_object()->volumes) { + if (model_volume->type() == ModelVolumeType::MODEL_PART + || model_volume->type() == ModelVolumeType::NEGATIVE_VOLUME) { + auto model_transformation = model_volume->get_matrix(); + indexed_triangle_set model_its = model_volume->mesh().its; + its_transform(model_its, model_transformation); + if (model_volume->type() == ModelVolumeType::MODEL_PART) { + its_merge(triangle_set, model_its); + } else { + its_merge(negative_volumes_set, model_its); + } } - throw_if_canceled(); + } + throw_if_canceled(); - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: gather occlusion meshes: end"; + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: gather occlusion meshes: end"; - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: decimate: start"; - its_short_edge_collpase(triangle_set, 25000); - its_short_edge_collpase(negative_volumes_set, 25000); + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: decimate: start"; + its_short_edge_collpase(triangle_set, SeamPlacer::fast_decimation_triangle_count_target); + its_short_edge_collpase(negative_volumes_set, SeamPlacer::fast_decimation_triangle_count_target); - size_t negative_volumes_start_index = triangle_set.indices.size(); - its_merge(triangle_set, negative_volumes_set); - its_transform(triangle_set, obj_transform); - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: decimate: end"; + size_t negative_volumes_start_index = triangle_set.indices.size(); + its_merge(triangle_set, negative_volumes_set); + its_transform(triangle_set, obj_transform); + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: decimate: end"; - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: Compute visibility sample points: start"; + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: Compute visibility sample points: start"; - result.mesh_samples = sample_its_uniform_parallel(SeamPlacer::raycasting_visibility_samples_count, triangle_set); - result.mesh_samples_coordinate_functor = CoordinateFunctor(&result.mesh_samples.positions); - result.mesh_samples_tree = KDTreeIndirect<3, float, CoordinateFunctor>(result.mesh_samples_coordinate_functor, result.mesh_samples.positions.size()); + result.mesh_samples = sample_its_uniform_parallel(SeamPlacer::raycasting_visibility_samples_count, + triangle_set); + result.mesh_samples_coordinate_functor = CoordinateFunctor(&result.mesh_samples.positions); + result.mesh_samples_tree = KDTreeIndirect<3, float, CoordinateFunctor>(result.mesh_samples_coordinate_functor, + result.mesh_samples.positions.size()); - // The following code determines search area for random visibility samples on the mesh when calculating visibility of each perimeter point - // number of random samples in the given radius (area) is approximately poisson distribution - // to compute ideal search radius (area), we use exponential distribution (complementary distr to poisson) - // parameters of exponential distribution to compute area that will have with probability="probability" more than given number of samples="samples" - float probability = 0.9f; - float samples = 4; - float density = SeamPlacer::raycasting_visibility_samples_count / result.mesh_samples.total_area; - // exponential probability distrubtion function is : f(x) = P(X > x) = e^(l*x) where l is the rate parameter (computed as 1/u where u is mean value) - // probability that sampled area A with S samples contains more than samples count: - // P(S > samples in A) = e^-(samples/(density*A)); express A: - float search_area = samples / (-logf(probability) * density); - float search_radius = sqrt(search_area / PI); - result.mesh_samples_radius = search_radius; + // The following code determines search area for random visibility samples on the mesh when calculating visibility of each perimeter point + // number of random samples in the given radius (area) is approximately poisson distribution + // to compute ideal search radius (area), we use exponential distribution (complementary distr to poisson) + // parameters of exponential distribution to compute area that will have with probability="probability" more than given number of samples="samples" + float probability = 0.9f; + float samples = 4; + float density = SeamPlacer::raycasting_visibility_samples_count / result.mesh_samples.total_area; + // exponential probability distrubtion function is : f(x) = P(X > x) = e^(l*x) where l is the rate parameter (computed as 1/u where u is mean value) + // probability that sampled area A with S samples contains more than samples count: + // P(S > samples in A) = e^-(samples/(density*A)); express A: + float search_area = samples / (-logf(probability) * density); + float search_radius = sqrt(search_area / PI); + result.mesh_samples_radius = search_radius; - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: Compute visiblity sample points: end"; - throw_if_canceled(); + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: Compute visiblity sample points: end"; + throw_if_canceled(); - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: Mesh sample raidus: " << result.mesh_samples_radius; + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: Mesh sample raidus: " << result.mesh_samples_radius; - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: build AABB tree: start"; - auto raycasting_tree = AABBTreeIndirect::build_aabb_tree_over_indexed_triangle_set(triangle_set.vertices, triangle_set.indices); + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: build AABB tree: start"; + auto raycasting_tree = AABBTreeIndirect::build_aabb_tree_over_indexed_triangle_set(triangle_set.vertices, + triangle_set.indices); - throw_if_canceled(); - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: build AABB tree: end"; - result.mesh_samples_visibility = raycast_visibility(raycasting_tree, triangle_set, result.mesh_samples, negative_volumes_start_index); - throw_if_canceled(); + throw_if_canceled(); + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: build AABB tree: end"; + result.mesh_samples_visibility = raycast_visibility(raycasting_tree, triangle_set, result.mesh_samples, + negative_volumes_start_index); + throw_if_canceled(); #ifdef DEBUG_FILES - result.debug_export(triangle_set); + result.debug_export(triangle_set); #endif } -void gather_enforcers_blockers(GlobalModelInfo &result, const PrintObject *po) -{ - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: build AABB trees for raycasting enforcers/blockers: start"; +void gather_enforcers_blockers(GlobalModelInfo &result, const PrintObject *po) { + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: build AABB trees for raycasting enforcers/blockers: start"; - auto obj_transform = po->trafo_centered(); + auto obj_transform = po->trafo_centered(); - for (const ModelVolume *mv : po->model_object()->volumes) { - if (mv->is_seam_painted()) { - auto model_transformation = obj_transform * mv->get_matrix(); + for (const ModelVolume *mv : po->model_object()->volumes) { + if (mv->is_seam_painted()) { + auto model_transformation = obj_transform * mv->get_matrix(); - indexed_triangle_set enforcers = mv->seam_facets.get_facets(*mv, EnforcerBlockerType::ENFORCER); - its_transform(enforcers, model_transformation); - its_merge(result.enforcers, enforcers); + indexed_triangle_set enforcers = mv->seam_facets.get_facets(*mv, EnforcerBlockerType::ENFORCER); + its_transform(enforcers, model_transformation); + its_merge(result.enforcers, enforcers); - indexed_triangle_set blockers = mv->seam_facets.get_facets(*mv, EnforcerBlockerType::BLOCKER); - its_transform(blockers, model_transformation); - its_merge(result.blockers, blockers); - } + indexed_triangle_set blockers = mv->seam_facets.get_facets(*mv, EnforcerBlockerType::BLOCKER); + its_transform(blockers, model_transformation); + its_merge(result.blockers, blockers); } + } - result.enforcers_tree = AABBTreeIndirect::build_aabb_tree_over_indexed_triangle_set(result.enforcers.vertices, result.enforcers.indices); - result.blockers_tree = AABBTreeIndirect::build_aabb_tree_over_indexed_triangle_set(result.blockers.vertices, result.blockers.indices); + result.enforcers_tree = AABBTreeIndirect::build_aabb_tree_over_indexed_triangle_set(result.enforcers.vertices, + result.enforcers.indices); + result.blockers_tree = AABBTreeIndirect::build_aabb_tree_over_indexed_triangle_set(result.blockers.vertices, + result.blockers.indices); - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: build AABB trees for raycasting enforcers/blockers: end"; + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: build AABB trees for raycasting enforcers/blockers: end"; } -struct SeamComparator -{ - SeamPosition setup; - float angle_importance; - explicit SeamComparator(SeamPosition setup) : setup(setup) - { - angle_importance = setup == spNearest ? SeamPlacer::angle_importance_nearest : SeamPlacer::angle_importance_aligned; +struct SeamComparator { + SeamPosition setup; + float angle_importance; + explicit SeamComparator(SeamPosition setup) : + setup(setup) { + angle_importance = + setup == spNearest ? SeamPlacer::angle_importance_nearest : SeamPlacer::angle_importance_aligned; + } + + // Standard comparator, must respect the requirements of comparators (e.g. give same result on same inputs) for sorting usage + // should return if a is better seamCandidate than b + bool is_first_better(const SeamCandidate &a, const SeamCandidate &b, const Vec2f &preffered_location = Vec2f { 0.0f, + 0.0f }) const { + if (setup == SeamPosition::spAligned && a.central_enforcer != b.central_enforcer) { + return a.central_enforcer; } - // Standard comparator, must respect the requirements of comparators (e.g. give same result on same inputs) for sorting usage - // should return if a is better seamCandidate than b - bool is_first_better(const SeamCandidate &a, const SeamCandidate &b, const Vec2f &preffered_location = Vec2f{0.0f, 0.0f}) const - { - if (setup == SeamPosition::spAligned && a.central_enforcer != b.central_enforcer) { return a.central_enforcer; } - - // Blockers/Enforcers discrimination, top priority - if (a.type != b.type) { return a.type > b.type; } - - // avoid overhangs - if (a.overhang > 0.0f || b.overhang > 0.0f) { return a.overhang < b.overhang; } - - // prefer hidden points (more than 0.5 mm inside) - if (a.embedded_distance < -0.5f && b.embedded_distance > -0.5f) { return true; } - if (b.embedded_distance < -0.5f && a.embedded_distance > -0.5f) { return false; } - - if (setup == SeamPosition::spRear && a.position.y() != b.position.y()) { return a.position.y() > b.position.y(); } - - float distance_penalty_a = 0.0f; - float distance_penalty_b = 0.0f; - if (setup == spNearest) { - distance_penalty_a = 1.0f - gauss((a.position.head<2>() - preffered_location).norm(), 0.0f, 1.0f, 0.005f); - distance_penalty_b = 1.0f - gauss((b.position.head<2>() - preffered_location).norm(), 0.0f, 1.0f, 0.005f); - } - - // the penalites are kept close to range [0-1.x] however, it should not be relied upon - float penalty_a = a.overhang + a.visibility + angle_importance * compute_angle_penalty(a.local_ccw_angle) + distance_penalty_a; - float penalty_b = b.overhang + b.visibility + angle_importance * compute_angle_penalty(b.local_ccw_angle) + distance_penalty_b; - - return penalty_a < penalty_b; + // Blockers/Enforcers discrimination, top priority + if (a.type != b.type) { + return a.type > b.type; } - // Comparator used during alignment. If there is close potential aligned point, it is compared to the current - // seam point of the perimeter, to find out if the aligned point is not much worse than the current seam - // Also used by the random seam generator. - bool is_first_not_much_worse(const SeamCandidate &a, const SeamCandidate &b) const - { - // Blockers/Enforcers discrimination, top priority - if (setup == SeamPosition::spAligned && a.central_enforcer != b.central_enforcer) { - // Prefer centers of enforcers. - return a.central_enforcer; - } - - if (a.type == EnforcedBlockedSeamPoint::Enforced) { return true; } - - if (a.type == EnforcedBlockedSeamPoint::Blocked) { return false; } - - if (a.type != b.type) { return a.type > b.type; } - - // avoid overhangs - if ((a.overhang > 0.0f || b.overhang > 0.0f) && abs(a.overhang - b.overhang) > (0.1f * a.perimeter.flow_width)) { return a.overhang < b.overhang; } - - // prefer hidden points (more than 0.5 mm inside) - if (a.embedded_distance < -0.5f && b.embedded_distance > -0.5f) { return true; } - if (b.embedded_distance < -0.5f && a.embedded_distance > -0.5f) { return false; } - - if (setup == SeamPosition::spRandom) { return true; } - - if (setup == SeamPosition::spRear) { return a.position.y() + SeamPlacer::seam_align_score_tolerance * 5.0f > b.position.y(); } - - float penalty_a = a.overhang + a.visibility + angle_importance * compute_angle_penalty(a.local_ccw_angle); - float penalty_b = b.overhang + b.visibility + angle_importance * compute_angle_penalty(b.local_ccw_angle); - - return penalty_a <= penalty_b || penalty_a - penalty_b < SeamPlacer::seam_align_score_tolerance; + //avoid overhangs + if (a.overhang > 0.0f || b.overhang > 0.0f) { + return a.overhang < b.overhang; } - bool are_similar(const SeamCandidate &a, const SeamCandidate &b) const { return is_first_not_much_worse(a, b) && is_first_not_much_worse(b, a); } + // prefer hidden points (more than 0.5 mm inside) + if (a.embedded_distance < -0.5f && b.embedded_distance > -0.5f) { + return true; + } + if (b.embedded_distance < -0.5f && a.embedded_distance > -0.5f) { + return false; + } + + if (setup == SeamPosition::spRear && a.position.y() != b.position.y()) { + return a.position.y() > b.position.y(); + } + + float distance_penalty_a = 0.0f; + float distance_penalty_b = 0.0f; + if (setup == spNearest) { + distance_penalty_a = 1.0f - gauss((a.position.head<2>() - preffered_location).norm(), 0.0f, 1.0f, 0.005f); + distance_penalty_b = 1.0f - gauss((b.position.head<2>() - preffered_location).norm(), 0.0f, 1.0f, 0.005f); + } + + // the penalites are kept close to range [0-1.x] however, it should not be relied upon + float penalty_a = a.overhang + a.visibility + + angle_importance * compute_angle_penalty(a.local_ccw_angle) + + distance_penalty_a; + float penalty_b = b.overhang + b.visibility + + angle_importance * compute_angle_penalty(b.local_ccw_angle) + + distance_penalty_b; + + return penalty_a < penalty_b; + } + + // Comparator used during alignment. If there is close potential aligned point, it is compared to the current + // seam point of the perimeter, to find out if the aligned point is not much worse than the current seam + // Also used by the random seam generator. + bool is_first_not_much_worse(const SeamCandidate &a, const SeamCandidate &b) const { + // Blockers/Enforcers discrimination, top priority + if (setup == SeamPosition::spAligned && a.central_enforcer != b.central_enforcer) { + // Prefer centers of enforcers. + return a.central_enforcer; + } + + if (a.type == EnforcedBlockedSeamPoint::Enforced) { + return true; + } + + if (a.type == EnforcedBlockedSeamPoint::Blocked) { + return false; + } + + if (a.type != b.type) { + return a.type > b.type; + } + + //avoid overhangs + if ((a.overhang > 0.0f || b.overhang > 0.0f) + && abs(a.overhang - b.overhang) > (0.1f * a.perimeter.flow_width)) { + return a.overhang < b.overhang; + } + + // prefer hidden points (more than 0.5 mm inside) + if (a.embedded_distance < -0.5f && b.embedded_distance > -0.5f) { + return true; + } + if (b.embedded_distance < -0.5f && a.embedded_distance > -0.5f) { + return false; + } + + if (setup == SeamPosition::spRandom) { + return true; + } + + if (setup == SeamPosition::spRear) { + return a.position.y() + SeamPlacer::seam_align_score_tolerance * 5.0f > b.position.y(); + } + + float penalty_a = a.overhang + a.visibility + + angle_importance * compute_angle_penalty(a.local_ccw_angle); + float penalty_b = b.overhang + b.visibility + + angle_importance * compute_angle_penalty(b.local_ccw_angle); + + return penalty_a <= penalty_b || penalty_a - penalty_b < SeamPlacer::seam_align_score_tolerance; + } + + bool are_similar(const SeamCandidate &a, const SeamCandidate &b) const { + return is_first_not_much_worse(a, b) && is_first_not_much_worse(b, a); + } }; #ifdef DEBUG_FILES -void debug_export_points(const std::vector &layers, const BoundingBox &bounding_box, const SeamComparator &comparator) -{ - for (size_t layer_idx = 0; layer_idx < layers.size(); ++layer_idx) { - std::string angles_file_name = debug_out_path(("angles_" + std::to_string(layer_idx) + ".svg").c_str()); - SVG angles_svg{angles_file_name, bounding_box}; - float min_vis = 0; - float max_vis = min_vis; +void debug_export_points(const std::vector &layers, + const BoundingBox &bounding_box, const SeamComparator &comparator) { + for (size_t layer_idx = 0; layer_idx < layers.size(); ++layer_idx) { + std::string angles_file_name = debug_out_path( + ("angles_" + std::to_string(layer_idx) + ".svg").c_str()); + SVG angles_svg { angles_file_name, bounding_box }; + float min_vis = 0; + float max_vis = min_vis; - float min_weight = std::numeric_limits::min(); - float max_weight = min_weight; + float min_weight = std::numeric_limits::min(); + float max_weight = min_weight; - for (const SeamCandidate &point : layers[layer_idx].points) { - Vec3i color = value_to_rgbi(-PI, PI, point.local_ccw_angle); - std::string fill = "rgb(" + std::to_string(color.x()) + "," + std::to_string(color.y()) + "," + std::to_string(color.z()) + ")"; - angles_svg.draw(scaled(Vec2f(point.position.head<2>())), fill); - min_vis = std::min(min_vis, point.visibility); - max_vis = std::max(max_vis, point.visibility); + for (const SeamCandidate &point : layers[layer_idx].points) { + Vec3i color = value_to_rgbi(-PI, PI, point.local_ccw_angle); + std::string fill = "rgb(" + std::to_string(color.x()) + "," + std::to_string(color.y()) + "," + + std::to_string(color.z()) + ")"; + angles_svg.draw(scaled(Vec2f(point.position.head<2>())), fill); + min_vis = std::min(min_vis, point.visibility); + max_vis = std::max(max_vis, point.visibility); - min_weight = std::min(min_weight, -compute_angle_penalty(point.local_ccw_angle)); - max_weight = std::max(max_weight, -compute_angle_penalty(point.local_ccw_angle)); - } + min_weight = std::min(min_weight, -compute_angle_penalty(point.local_ccw_angle)); + max_weight = std::max(max_weight, -compute_angle_penalty(point.local_ccw_angle)); - std::string visiblity_file_name = debug_out_path(("visibility_" + std::to_string(layer_idx) + ".svg").c_str()); - SVG visibility_svg{visiblity_file_name, bounding_box}; - std::string weights_file_name = debug_out_path(("weight_" + std::to_string(layer_idx) + ".svg").c_str()); - SVG weight_svg{weights_file_name, bounding_box}; - std::string overhangs_file_name = debug_out_path(("overhang_" + std::to_string(layer_idx) + ".svg").c_str()); - SVG overhangs_svg{overhangs_file_name, bounding_box}; - - for (const SeamCandidate &point : layers[layer_idx].points) { - Vec3i color = value_to_rgbi(min_vis, max_vis, point.visibility); - std::string visibility_fill = "rgb(" + std::to_string(color.x()) + "," + std::to_string(color.y()) + "," + std::to_string(color.z()) + ")"; - visibility_svg.draw(scaled(Vec2f(point.position.head<2>())), visibility_fill); - - Vec3i weight_color = value_to_rgbi(min_weight, max_weight, -compute_angle_penalty(point.local_ccw_angle)); - std::string weight_fill = "rgb(" + std::to_string(weight_color.x()) + "," + std::to_string(weight_color.y()) + "," + std::to_string(weight_color.z()) + ")"; - weight_svg.draw(scaled(Vec2f(point.position.head<2>())), weight_fill); - - Vec3i overhang_color = value_to_rgbi(-0.5, 0.5, std::clamp(point.overhang, -0.5f, 0.5f)); - std::string overhang_fill = "rgb(" + std::to_string(overhang_color.x()) + "," + std::to_string(overhang_color.y()) + "," + std::to_string(overhang_color.z()) + ")"; - overhangs_svg.draw(scaled(Vec2f(point.position.head<2>())), overhang_fill); - } } + + std::string visiblity_file_name = debug_out_path( + ("visibility_" + std::to_string(layer_idx) + ".svg").c_str()); + SVG visibility_svg { visiblity_file_name, bounding_box }; + std::string weights_file_name = debug_out_path( + ("weight_" + std::to_string(layer_idx) + ".svg").c_str()); + SVG weight_svg { weights_file_name, bounding_box }; + std::string overhangs_file_name = debug_out_path( + ("overhang_" + std::to_string(layer_idx) + ".svg").c_str()); + SVG overhangs_svg { overhangs_file_name, bounding_box }; + + for (const SeamCandidate &point : layers[layer_idx].points) { + Vec3i color = value_to_rgbi(min_vis, max_vis, point.visibility); + std::string visibility_fill = "rgb(" + std::to_string(color.x()) + "," + std::to_string(color.y()) + "," + + std::to_string(color.z()) + ")"; + visibility_svg.draw(scaled(Vec2f(point.position.head<2>())), visibility_fill); + + Vec3i weight_color = value_to_rgbi(min_weight, max_weight, + -compute_angle_penalty(point.local_ccw_angle)); + std::string weight_fill = "rgb(" + std::to_string(weight_color.x()) + "," + std::to_string(weight_color.y()) + + "," + + std::to_string(weight_color.z()) + ")"; + weight_svg.draw(scaled(Vec2f(point.position.head<2>())), weight_fill); + + Vec3i overhang_color = value_to_rgbi(-0.5, 0.5, std::clamp(point.overhang, -0.5f, 0.5f)); + std::string overhang_fill = "rgb(" + std::to_string(overhang_color.x()) + "," + + std::to_string(overhang_color.y()) + + "," + + std::to_string(overhang_color.z()) + ")"; + overhangs_svg.draw(scaled(Vec2f(point.position.head<2>())), overhang_fill); + } + } } #endif // Pick best seam point based on the given comparator -void pick_seam_point(std::vector &perimeter_points, size_t start_index, const SeamComparator &comparator) -{ - size_t end_index = perimeter_points[start_index].perimeter.end_index; +void pick_seam_point(std::vector &perimeter_points, size_t start_index, + const SeamComparator &comparator) { + size_t end_index = perimeter_points[start_index].perimeter.end_index; - size_t seam_index = start_index; - for (size_t index = start_index; index < end_index; ++index) { - if (comparator.is_first_better(perimeter_points[index], perimeter_points[seam_index])) { seam_index = index; } + size_t seam_index = start_index; + for (size_t index = start_index; index < end_index; ++index) { + if (comparator.is_first_better(perimeter_points[index], perimeter_points[seam_index])) { + seam_index = index; } - perimeter_points[start_index].perimeter.seam_index = seam_index; + } + perimeter_points[start_index].perimeter.seam_index = seam_index; } -size_t pick_nearest_seam_point_index(const std::vector &perimeter_points, size_t start_index, const Vec2f &preffered_location) -{ - size_t end_index = perimeter_points[start_index].perimeter.end_index; - SeamComparator comparator{spNearest}; +size_t pick_nearest_seam_point_index(const std::vector &perimeter_points, size_t start_index, + const Vec2f &preffered_location) { + size_t end_index = perimeter_points[start_index].perimeter.end_index; + SeamComparator comparator { spNearest }; - size_t seam_index = start_index; - for (size_t index = start_index; index < end_index; ++index) { - if (comparator.is_first_better(perimeter_points[index], perimeter_points[seam_index], preffered_location)) { seam_index = index; } + size_t seam_index = start_index; + for (size_t index = start_index; index < end_index; ++index) { + if (comparator.is_first_better(perimeter_points[index], perimeter_points[seam_index], preffered_location)) { + seam_index = index; } - return seam_index; + } + return seam_index; } // picks random seam point uniformly, respecting enforcers blockers and overhang avoidance. -void pick_random_seam_point(const std::vector &perimeter_points, size_t start_index) -{ - SeamComparator comparator{spRandom}; +void pick_random_seam_point(const std::vector &perimeter_points, size_t start_index) { + SeamComparator comparator { spRandom }; - // algorithm keeps a list of viable points and their lengths. If it finds a point - // that is much better than the viable_example_index (e.g. better type, no overhang; see is_first_not_much_worse) - // then it throws away stored lists and starts from start - // in the end, the list should contain points with same type (Enforced > Neutral > Blocked) and also only those which are not - // big overhang. - size_t viable_example_index = start_index; - size_t end_index = perimeter_points[start_index].perimeter.end_index; - struct Viable - { - // Candidate seam point index. - size_t index; - float edge_length; - Vec3f edge; - }; - std::vector viables; + // algorithm keeps a list of viable points and their lengths. If it finds a point + // that is much better than the viable_example_index (e.g. better type, no overhang; see is_first_not_much_worse) + // then it throws away stored lists and starts from start + // in the end, the list should contain points with same type (Enforced > Neutral > Blocked) and also only those which are not + // big overhang. + size_t viable_example_index = start_index; + size_t end_index = perimeter_points[start_index].perimeter.end_index; + struct Viable { + // Candidate seam point index. + size_t index; + float edge_length; + Vec3f edge; + }; + std::vector viables; - const Vec3f pseudornd_seed = perimeter_points[viable_example_index].position; - float rand = std::abs(sin(pseudornd_seed.dot(Vec3f(12.9898f, 78.233f, 133.3333f))) * 43758.5453f); - rand = rand - (int) rand; + const Vec3f pseudornd_seed = perimeter_points[viable_example_index].position; + float rand = std::abs(sin(pseudornd_seed.dot(Vec3f(12.9898f,78.233f, 133.3333f))) * 43758.5453f); + rand = rand - (int) rand; - for (size_t index = start_index; index < end_index; ++index) { - if (comparator.are_similar(perimeter_points[index], perimeter_points[viable_example_index])) { - // index ok, push info into viables - Vec3f edge_to_next{perimeter_points[index == end_index - 1 ? start_index : index + 1].position - perimeter_points[index].position}; - float dist_to_next = edge_to_next.norm(); - viables.push_back({index, dist_to_next, edge_to_next}); - } else if (comparator.is_first_not_much_worse(perimeter_points[viable_example_index], perimeter_points[index])) { - // index is worse then viable_example_index, skip this point - } else { - // index is better than viable example index, update example, clear gathered info, start again - // clear up all gathered info, start from scratch, update example index - viable_example_index = index; - viables.clear(); + for (size_t index = start_index; index < end_index; ++index) { + if (comparator.are_similar(perimeter_points[index], perimeter_points[viable_example_index])) { + // index ok, push info into viables + Vec3f edge_to_next { perimeter_points[index == end_index - 1 ? start_index : index + 1].position + - perimeter_points[index].position }; + float dist_to_next = edge_to_next.norm(); + viables.push_back( { index, dist_to_next, edge_to_next }); + } else if (comparator.is_first_not_much_worse(perimeter_points[viable_example_index], + perimeter_points[index])) { + // index is worse then viable_example_index, skip this point + } else { + // index is better than viable example index, update example, clear gathered info, start again + // clear up all gathered info, start from scratch, update example index + viable_example_index = index; + viables.clear(); - Vec3f edge_to_next = (perimeter_points[index == end_index - 1 ? start_index : index + 1].position - perimeter_points[index].position); - float dist_to_next = edge_to_next.norm(); - viables.push_back({index, dist_to_next, edge_to_next}); - } + Vec3f edge_to_next = (perimeter_points[index == end_index - 1 ? start_index : index + 1].position + - perimeter_points[index].position); + float dist_to_next = edge_to_next.norm(); + viables.push_back( { index, dist_to_next, edge_to_next }); } + } - // now pick random point from the stored options - float len_sum = std::accumulate(viables.begin(), viables.end(), 0.0f, [](const float acc, const Viable &v) { return acc + v.edge_length; }); - float picked_len = len_sum * rand; + // now pick random point from the stored options + float len_sum = std::accumulate(viables.begin(), viables.end(), 0.0f, [](const float acc, const Viable &v) { + return acc + v.edge_length; + }); + float picked_len = len_sum * rand; - size_t point_idx = 0; - while (picked_len - viables[point_idx].edge_length > 0) { - picked_len = picked_len - viables[point_idx].edge_length; - point_idx++; - } + size_t point_idx = 0; + while (picked_len - viables[point_idx].edge_length > 0) { + picked_len = picked_len - viables[point_idx].edge_length; + point_idx++; + } - Perimeter &perimeter = perimeter_points[start_index].perimeter; - perimeter.seam_index = viables[point_idx].index; - perimeter.final_seam_position = perimeter_points[perimeter.seam_index].position + viables[point_idx].edge.normalized() * picked_len; - perimeter.finalized = true; + Perimeter &perimeter = perimeter_points[start_index].perimeter; + perimeter.seam_index = viables[point_idx].index; + perimeter.final_seam_position = perimeter_points[perimeter.seam_index].position + + viables[point_idx].edge.normalized() * picked_len; + perimeter.finalized = true; } -class PerimeterDistancer -{ - std::vector lines; - AABBTreeIndirect::Tree<2, double> tree; - -public: - PerimeterDistancer(const Layer *layer) - { - ExPolygons layer_outline = layer->lslices; - for (const ExPolygon &island : layer_outline) { - assert(island.contour.is_counter_clockwise()); - for (const auto &line : island.contour.lines()) { lines.emplace_back(unscale(line.a), unscale(line.b)); } - for (const Polygon &hole : island.holes) { - assert(hole.is_clockwise()); - for (const auto &line : hole.lines()) { lines.emplace_back(unscale(line.a), unscale(line.b)); } - } - } - tree = AABBTreeLines::build_aabb_tree_over_indexed_lines(lines); - } - - float distance_from_perimeter(const Vec2f &point) const - { - Vec2d p = point.cast(); - size_t hit_idx_out{}; - Vec2d hit_point_out = Vec2d::Zero(); - auto distance = AABBTreeLines::squared_distance_to_indexed_lines(lines, tree, p, hit_idx_out, hit_point_out); - if (distance < 0) { return std::numeric_limits::max(); } - - distance = sqrt(distance); - const Linef &line = lines[hit_idx_out]; - Vec2d v1 = line.b - line.a; - Vec2d v2 = p - line.a; - if ((v1.x() * v2.y()) - (v1.y() * v2.x()) > 0.0) { distance *= -1; } - return distance; - } -}; - } // namespace SeamPlacerImpl // Parallel process and extract each perimeter polygon of the given print object. // Gather SeamCandidates of each layer into vector and build KDtree over them // Store results in the SeamPlacer variables m_seam_per_object -void SeamPlacer::gather_seam_candidates(const PrintObject *po, const SeamPlacerImpl::GlobalModelInfo &global_model_info, const SeamPosition configured_seam_preference) -{ - using namespace SeamPlacerImpl; - PrintObjectSeamData &seam_data = m_seam_per_object.emplace(po, PrintObjectSeamData{}).first->second; - seam_data.layers.resize(po->layer_count()); +void SeamPlacer::gather_seam_candidates(const PrintObject *po, const SeamPlacerImpl::GlobalModelInfo &global_model_info) { + using namespace SeamPlacerImpl; + PrintObjectSeamData &seam_data = m_seam_per_object.emplace(po, PrintObjectSeamData { }).first->second; + seam_data.layers.resize(po->layer_count()); - tbb::parallel_for(tbb::blocked_range(0, po->layers().size()), [po, configured_seam_preference, &global_model_info, &seam_data](tbb::blocked_range r) { - for (size_t layer_idx = r.begin(); layer_idx < r.end(); ++layer_idx) { - PrintObjectSeamData::LayerSeams &layer_seams = seam_data.layers[layer_idx]; - const Layer * layer = po->get_layer(layer_idx); - auto unscaled_z = layer->slice_z; - std::vector regions; - // NOTE corresponding region ptr may be null, if the layer has zero perimeters - Polygons polygons = extract_perimeter_polygons(layer, configured_seam_preference, regions); - for (size_t poly_index = 0; poly_index < polygons.size(); ++poly_index) { - process_perimeter_polygon(polygons[poly_index], unscaled_z, regions[poly_index], global_model_info, layer_seams); - } - auto functor = SeamCandidateCoordinateFunctor{layer_seams.points}; - seam_data.layers[layer_idx].points_tree = std::make_unique(functor, layer_seams.points.size()); - } - }); + tbb::parallel_for(tbb::blocked_range(0, po->layers().size()), + [po, &global_model_info, &seam_data] + (tbb::blocked_range r) { + for (size_t layer_idx = r.begin(); layer_idx < r.end(); ++layer_idx) { + PrintObjectSeamData::LayerSeams &layer_seams = seam_data.layers[layer_idx]; + const Layer *layer = po->get_layer(layer_idx); + auto unscaled_z = layer->slice_z; + std::vector regions; + //NOTE corresponding region ptr may be null, if the layer has zero perimeters + Polygons polygons = extract_perimeter_polygons(layer, regions); + for (size_t poly_index = 0; poly_index < polygons.size(); ++poly_index) { + process_perimeter_polygon(polygons[poly_index], unscaled_z, + regions[poly_index], global_model_info, layer_seams); + } + auto functor = SeamCandidateCoordinateFunctor { layer_seams.points }; + seam_data.layers[layer_idx].points_tree = + std::make_unique(functor, + layer_seams.points.size()); + } + } + ); } -void SeamPlacer::calculate_candidates_visibility(const PrintObject *po, const SeamPlacerImpl::GlobalModelInfo &global_model_info) -{ - using namespace SeamPlacerImpl; +void SeamPlacer::calculate_candidates_visibility(const PrintObject *po, + const SeamPlacerImpl::GlobalModelInfo &global_model_info) { + using namespace SeamPlacerImpl; - std::vector &layers = m_seam_per_object[po].layers; - tbb::parallel_for(tbb::blocked_range(0, layers.size()), [&layers, &global_model_info](tbb::blocked_range r) { - for (size_t layer_idx = r.begin(); layer_idx < r.end(); ++layer_idx) { - for (auto &perimeter_point : layers[layer_idx].points) { perimeter_point.visibility = global_model_info.calculate_point_visibility(perimeter_point.position); } - } - }); + std::vector &layers = m_seam_per_object[po].layers; + tbb::parallel_for(tbb::blocked_range(0, layers.size()), + [&layers, &global_model_info](tbb::blocked_range r) { + for (size_t layer_idx = r.begin(); layer_idx < r.end(); ++layer_idx) { + for (auto &perimeter_point : layers[layer_idx].points) { + perimeter_point.visibility = global_model_info.calculate_point_visibility( + perimeter_point.position); + } + } + }); } -void SeamPlacer::calculate_overhangs_and_layer_embedding(const PrintObject *po) -{ - using namespace SeamPlacerImpl; +void SeamPlacer::calculate_overhangs_and_layer_embedding(const PrintObject *po) { + using namespace SeamPlacerImpl; + using PerimeterDistancer = AABBTreeLines::LinesDistancer; - std::vector &layers = m_seam_per_object[po].layers; - tbb::parallel_for(tbb::blocked_range(0, layers.size()), [po, &layers](tbb::blocked_range r) { - std::unique_ptr prev_layer_distancer; - if (r.begin() > 0) { // previous layer exists - prev_layer_distancer = std::make_unique(po->layers()[r.begin() - 1]); - } + std::vector &layers = m_seam_per_object[po].layers; + tbb::parallel_for(tbb::blocked_range(0, layers.size()), + [po, &layers](tbb::blocked_range r) { + std::unique_ptr prev_layer_distancer; + if (r.begin() > 0) { // previous layer exists + prev_layer_distancer = std::make_unique(to_unscaled_linesf(po->layers()[r.begin() - 1]->lslices)); + } - for (size_t layer_idx = r.begin(); layer_idx < r.end(); ++layer_idx) { - size_t regions_with_perimeter = 0; - for (const LayerRegion *region : po->layers()[layer_idx]->regions()) { - if (region->perimeters.entities.size() > 0) { regions_with_perimeter++; } - }; - bool should_compute_layer_embedding = regions_with_perimeter > 1; - std::unique_ptr current_layer_distancer = std::make_unique(po->layers()[layer_idx]); + for (size_t layer_idx = r.begin(); layer_idx < r.end(); ++layer_idx) { + size_t regions_with_perimeter = 0; + for (const LayerRegion *region : po->layers()[layer_idx]->regions()) { + if (region->perimeters.entities.size() > 0) { + regions_with_perimeter++; + } + }; + bool should_compute_layer_embedding = regions_with_perimeter > 1; + std::unique_ptr current_layer_distancer = std::make_unique( + to_unscaled_linesf(po->layers()[layer_idx]->lslices)); - for (SeamCandidate &perimeter_point : layers[layer_idx].points) { - Vec2f point = Vec2f{perimeter_point.position.head<2>()}; - if (prev_layer_distancer.get() != nullptr) { - perimeter_point.overhang = prev_layer_distancer->distance_from_perimeter(point) + 0.6f * perimeter_point.perimeter.flow_width - - tan(SeamPlacer::overhang_angle_threshold) * po->layers()[layer_idx]->height; - perimeter_point.overhang = perimeter_point.overhang < 0.0f ? 0.0f : perimeter_point.overhang; - } + for (SeamCandidate &perimeter_point : layers[layer_idx].points) { + Vec2f point = Vec2f { perimeter_point.position.head<2>() }; + if (prev_layer_distancer.get() != nullptr) { + perimeter_point.overhang = prev_layer_distancer->distance_from_lines(point.cast()) + + 0.6f * perimeter_point.perimeter.flow_width + - tan(SeamPlacer::overhang_angle_threshold) + * po->layers()[layer_idx]->height; + perimeter_point.overhang = + perimeter_point.overhang < 0.0f ? 0.0f : perimeter_point.overhang; + } - if (should_compute_layer_embedding) { // search for embedded perimeter points (points hidden inside the print ,e.g. multimaterial join, best position for seam) - perimeter_point.embedded_distance = current_layer_distancer->distance_from_perimeter(point) + 0.6f * perimeter_point.perimeter.flow_width; - } - } + if (should_compute_layer_embedding) { // search for embedded perimeter points (points hidden inside the print ,e.g. multimaterial join, best position for seam) + perimeter_point.embedded_distance = current_layer_distancer->distance_from_lines(point.cast()) + + 0.6f * perimeter_point.perimeter.flow_width; + } + } - prev_layer_distancer.swap(current_layer_distancer); - } - }); + prev_layer_distancer.swap(current_layer_distancer); + } + } + ); } // Estimates, if there is good seam point in the layer_idx which is close to last_point_pos @@ -993,107 +1097,122 @@ void SeamPlacer::calculate_overhangs_and_layer_embedding(const PrintObject *po) // If the closest point is good enough to replace current chosen seam, it is stored in potential_string_seams, returns true and updates last_point_pos // Otherwise does nothing, returns false // Used by align_seam_points(). -std::optional> SeamPlacer::find_next_seam_in_layer(const std::vector &layers, - const Vec3f & projected_position, - const size_t layer_idx, - const float max_distance, - const SeamPlacerImpl::SeamComparator & comparator) const -{ - using namespace SeamPlacerImpl; - std::vector nearby_points_indices = find_nearby_points(*layers[layer_idx].points_tree, projected_position, max_distance); - - if (nearby_points_indices.empty()) { return {}; } - - size_t best_nearby_point_index = nearby_points_indices[0]; - size_t nearest_point_index = nearby_points_indices[0]; - - // Now find best nearby point, nearest point, and corresponding indices - for (const size_t &nearby_point_index : nearby_points_indices) { - const SeamCandidate &point = layers[layer_idx].points[nearby_point_index]; - if (point.perimeter.finalized) { - continue; // skip over finalized perimeters, try to find some that is not finalized - } - if (comparator.is_first_better(point, layers[layer_idx].points[best_nearby_point_index], projected_position.head<2>()) || - layers[layer_idx].points[best_nearby_point_index].perimeter.finalized) { - best_nearby_point_index = nearby_point_index; - } - if ((point.position - projected_position).squaredNorm() < (layers[layer_idx].points[nearest_point_index].position - projected_position).squaredNorm() || - layers[layer_idx].points[nearest_point_index].perimeter.finalized) { - nearest_point_index = nearby_point_index; - } - } - - const SeamCandidate &best_nearby_point = layers[layer_idx].points[best_nearby_point_index]; - const SeamCandidate &nearest_point = layers[layer_idx].points[nearest_point_index]; - - if (nearest_point.perimeter.finalized) { - // all points are from already finalized perimeter, skip - return {}; - } - - // from the nearest_point, deduce index of seam in the next layer - const SeamCandidate &next_layer_seam = layers[layer_idx].points[nearest_point.perimeter.seam_index]; - - // First try to pick central enforcer if any present - if (next_layer_seam.central_enforcer && (next_layer_seam.position - projected_position).squaredNorm() < sqr(3 * max_distance)) { - return {std::pair{layer_idx, nearest_point.perimeter.seam_index}}; - } - - // First try to align the nearest, then try the best nearby - if (comparator.is_first_not_much_worse(nearest_point, next_layer_seam)) { return {std::pair{layer_idx, nearest_point_index}}; } - // If nearest point is not good enough, try it with the best nearby point. - if (comparator.is_first_not_much_worse(best_nearby_point, next_layer_seam)) { return {std::pair{layer_idx, best_nearby_point_index}}; } +std::optional> SeamPlacer::find_next_seam_in_layer( + const std::vector &layers, + const Vec3f &projected_position, + const size_t layer_idx, const float max_distance, + const SeamPlacerImpl::SeamComparator &comparator) const { + using namespace SeamPlacerImpl; + std::vector nearby_points_indices = find_nearby_points(*layers[layer_idx].points_tree, projected_position, + max_distance); + if (nearby_points_indices.empty()) { return {}; + } + + size_t best_nearby_point_index = nearby_points_indices[0]; + size_t nearest_point_index = nearby_points_indices[0]; + + // Now find best nearby point, nearest point, and corresponding indices + for (const size_t &nearby_point_index : nearby_points_indices) { + const SeamCandidate &point = layers[layer_idx].points[nearby_point_index]; + if (point.perimeter.finalized) { + continue; // skip over finalized perimeters, try to find some that is not finalized + } + if (comparator.is_first_better(point, layers[layer_idx].points[best_nearby_point_index], + projected_position.head<2>()) + || layers[layer_idx].points[best_nearby_point_index].perimeter.finalized) { + best_nearby_point_index = nearby_point_index; + } + if ((point.position - projected_position).squaredNorm() + < (layers[layer_idx].points[nearest_point_index].position - projected_position).squaredNorm() + || layers[layer_idx].points[nearest_point_index].perimeter.finalized) { + nearest_point_index = nearby_point_index; + } + } + + const SeamCandidate &best_nearby_point = layers[layer_idx].points[best_nearby_point_index]; + const SeamCandidate &nearest_point = layers[layer_idx].points[nearest_point_index]; + + if (nearest_point.perimeter.finalized) { + //all points are from already finalized perimeter, skip + return {}; + } + + //from the nearest_point, deduce index of seam in the next layer + const SeamCandidate &next_layer_seam = layers[layer_idx].points[nearest_point.perimeter.seam_index]; + + // First try to pick central enforcer if any present + if (next_layer_seam.central_enforcer + && (next_layer_seam.position - projected_position).squaredNorm() + < sqr(3 * max_distance)) { + return {std::pair {layer_idx, nearest_point.perimeter.seam_index}}; + } + + // First try to align the nearest, then try the best nearby + if (comparator.is_first_not_much_worse(nearest_point, next_layer_seam)) { + return {std::pair {layer_idx, nearest_point_index}}; + } + // If nearest point is not good enough, try it with the best nearby point. + if (comparator.is_first_not_much_worse(best_nearby_point, next_layer_seam)) { + return {std::pair {layer_idx, best_nearby_point_index}}; + } + + return {}; } -std::vector> SeamPlacer::find_seam_string(const PrintObject * po, - std::pair start_seam, - const SeamPlacerImpl::SeamComparator &comparator) const -{ - const std::vector &layers = m_seam_per_object.find(po)->second.layers; - int layer_idx = start_seam.first; +std::vector> SeamPlacer::find_seam_string(const PrintObject *po, + std::pair start_seam, const SeamPlacerImpl::SeamComparator &comparator) const { + const std::vector &layers = m_seam_per_object.find(po)->second.layers; + int layer_idx = start_seam.first; - // initialize searching for seam string - cluster of nearby seams on previous and next layers - int next_layer = layer_idx + 1; - int step = 1; - std::pair prev_point_index = start_seam; - std::vector> seam_string{start_seam}; + //initialize searching for seam string - cluster of nearby seams on previous and next layers + int next_layer = layer_idx + 1; + int step = 1; + std::pair prev_point_index = start_seam; + std::vector> seam_string { start_seam }; - auto reverse_lookup_direction = [&]() { - step = -1; - prev_point_index = start_seam; - next_layer = layer_idx - 1; - }; + auto reverse_lookup_direction = [&]() { + step = -1; + prev_point_index = start_seam; + next_layer = layer_idx - 1; + }; - while (next_layer >= 0) { - if (next_layer >= int(layers.size())) { - reverse_lookup_direction(); - if (next_layer < 0) { break; } - } - float max_distance = SeamPlacer::seam_align_tolerable_dist_factor * layers[start_seam.first].points[start_seam.second].perimeter.flow_width; - Vec3f prev_position = layers[prev_point_index.first].points[prev_point_index.second].position; - Vec3f projected_position = prev_position; - projected_position.z() = float(po->get_layer(next_layer)->slice_z); - - std::optional> maybe_next_seam = find_next_seam_in_layer(layers, projected_position, next_layer, max_distance, comparator); - - if (maybe_next_seam.has_value()) { - // For old macOS (pre 10.14), std::optional does not have .value() method, so the code is using operator*() instead. - seam_string.push_back(maybe_next_seam.operator*()); - prev_point_index = seam_string.back(); - // String added, prev_point_index updated - } else { - if (step == 1) { - reverse_lookup_direction(); - if (next_layer < 0) { break; } - } else { - break; - } - } - next_layer += step; + while (next_layer >= 0) { + if (next_layer >= int(layers.size())) { + reverse_lookup_direction(); + if (next_layer < 0) { + break; + } } - return seam_string; + float max_distance = SeamPlacer::seam_align_tolerable_dist_factor * + layers[start_seam.first].points[start_seam.second].perimeter.flow_width; + Vec3f prev_position = layers[prev_point_index.first].points[prev_point_index.second].position; + Vec3f projected_position = prev_position; + projected_position.z() = float(po->get_layer(next_layer)->slice_z); + + std::optional> maybe_next_seam = find_next_seam_in_layer(layers, projected_position, + next_layer, + max_distance, comparator); + + if (maybe_next_seam.has_value()) { + // For old macOS (pre 10.14), std::optional does not have .value() method, so the code is using operator*() instead. + seam_string.push_back(maybe_next_seam.operator*()); + prev_point_index = seam_string.back(); + //String added, prev_point_index updated + } else { + if (step == 1) { + reverse_lookup_direction(); + if (next_layer < 0) { + break; + } + } else { + break; + } + } + next_layer += step; + } + return seam_string; } // clusters already chosen seam points into strings across multiple layers, and then @@ -1101,309 +1220,398 @@ std::vector> SeamPlacer::find_seam_string(const PrintO // Does not change the positions of the SeamCandidates themselves, instead stores // the new aligned position into the shared Perimeter structure of each perimeter // Note that this position does not necesarilly lay on the perimeter. -void SeamPlacer::align_seam_points(const PrintObject *po, const SeamPlacerImpl::SeamComparator &comparator) -{ - using namespace SeamPlacerImpl; +void SeamPlacer::align_seam_points(const PrintObject *po, const SeamPlacerImpl::SeamComparator &comparator) { + using namespace SeamPlacerImpl; - // Prepares Debug files for writing. + // Prepares Debug files for writing. #ifdef DEBUG_FILES - Slic3r::CNumericLocalesSetter locales_setter; - auto clusters_f = debug_out_path("seam_clusters.obj"); - FILE * clusters = boost::nowide::fopen(clusters_f.c_str(), "w"); - if (clusters == nullptr) { - BOOST_LOG_TRIVIAL(error) << "stl_write_obj: Couldn't open " << clusters_f << " for writing"; - return; - } - auto aligned_f = debug_out_path("aligned_clusters.obj"); - FILE *aligns = boost::nowide::fopen(aligned_f.c_str(), "w"); - if (aligns == nullptr) { - BOOST_LOG_TRIVIAL(error) << "stl_write_obj: Couldn't open " << clusters_f << " for writing"; - return; - } + Slic3r::CNumericLocalesSetter locales_setter; + auto clusters_f = debug_out_path("seam_clusters.obj"); + FILE *clusters = boost::nowide::fopen(clusters_f.c_str(), "w"); + if (clusters == nullptr) { + BOOST_LOG_TRIVIAL(error) + << "stl_write_obj: Couldn't open " << clusters_f << " for writing"; + return; + } + auto aligned_f = debug_out_path("aligned_clusters.obj"); + FILE *aligns = boost::nowide::fopen(aligned_f.c_str(), "w"); + if (aligns == nullptr) { + BOOST_LOG_TRIVIAL(error) + << "stl_write_obj: Couldn't open " << clusters_f << " for writing"; + return; + } #endif - // gather vector of all seams on the print_object - pair of layer_index and seam__index within that layer - const std::vector &layers = m_seam_per_object[po].layers; - std::vector> seams; - for (size_t layer_idx = 0; layer_idx < layers.size(); ++layer_idx) { - const std::vector &layer_perimeter_points = layers[layer_idx].points; - size_t current_point_index = 0; - while (current_point_index < layer_perimeter_points.size()) { - seams.emplace_back(layer_idx, layer_perimeter_points[current_point_index].perimeter.seam_index); - current_point_index = layer_perimeter_points[current_point_index].perimeter.end_index; - } + //gather vector of all seams on the print_object - pair of layer_index and seam__index within that layer + const std::vector &layers = m_seam_per_object[po].layers; + std::vector> seams; + for (size_t layer_idx = 0; layer_idx < layers.size(); ++layer_idx) { + const std::vector &layer_perimeter_points = layers[layer_idx].points; + size_t current_point_index = 0; + while (current_point_index < layer_perimeter_points.size()) { + seams.emplace_back(layer_idx, layer_perimeter_points[current_point_index].perimeter.seam_index); + current_point_index = layer_perimeter_points[current_point_index].perimeter.end_index; } + } - // sort them before alignment. Alignment is sensitive to initializaion, this gives it better chance to choose something nice - std::stable_sort(seams.begin(), seams.end(), [&comparator, &layers](const std::pair &left, const std::pair &right) { - return comparator.is_first_better(layers[left.first].points[left.second], layers[right.first].points[right.second]); - }); + //sort them before alignment. Alignment is sensitive to initializaion, this gives it better chance to choose something nice + std::stable_sort(seams.begin(), seams.end(), + [&comparator, &layers](const std::pair &left, + const std::pair &right) { + return comparator.is_first_better(layers[left.first].points[left.second], + layers[right.first].points[right.second]); + } + ); - // align the seam points - start with the best, and check if they are aligned, if yes, skip, else start alignment - // Keeping the vectors outside, so with a bit of luck they will not get reallocated after couple of for loop iterations. - std::vector> seam_string; - std::vector> alternative_seam_string; - std::vector observations; - std::vector observation_points; - std::vector weights; + //align the seam points - start with the best, and check if they are aligned, if yes, skip, else start alignment + // Keeping the vectors outside, so with a bit of luck they will not get reallocated after couple of for loop iterations. + std::vector> seam_string; + std::vector> alternative_seam_string; + std::vector observations; + std::vector observation_points; + std::vector weights; - int global_index = 0; - while (global_index < int(seams.size())) { - size_t layer_idx = seams[global_index].first; - size_t seam_index = seams[global_index].second; - global_index++; - const std::vector &layer_perimeter_points = layers[layer_idx].points; - if (layer_perimeter_points[seam_index].perimeter.finalized) { - // This perimeter is already aligned, skip seam - continue; - } else { - seam_string = this->find_seam_string(po, {layer_idx, seam_index}, comparator); - size_t step_size = 1 + seam_string.size() / 20; - for (size_t alternative_start = 0; alternative_start < seam_string.size(); alternative_start += step_size) { - size_t start_layer_idx = seam_string[alternative_start].first; - size_t seam_idx = layers[start_layer_idx].points[seam_string[alternative_start].second].perimeter.seam_index; - alternative_seam_string = this->find_seam_string(po, std::pair(start_layer_idx, seam_idx), comparator); - if (alternative_seam_string.size() > seam_string.size()) { seam_string = std::move(alternative_seam_string); } - } - if (seam_string.size() < seam_align_minimum_string_seams) { - // string NOT long enough to be worth aligning, skip - continue; - } - - // String is long enough, all string seams and potential string seams gathered, now do the alignment - // sort by layer index - std::sort(seam_string.begin(), seam_string.end(), - [](const std::pair &left, const std::pair &right) { return left.first < right.first; }); - - // repeat the alignment for the current seam, since it could be skipped due to alternative path being aligned. - global_index--; - - // gather all positions of seams and their weights - observations.resize(seam_string.size()); - observation_points.resize(seam_string.size()); - weights.resize(seam_string.size()); - - auto angle_3d = [](const Vec3f &a, const Vec3f &b) { return std::abs(acosf(a.normalized().dot(b.normalized()))); }; - - auto angle_weight = [](float angle) { return 1.0f / (0.1f + compute_angle_penalty(angle)); }; - - // gather points positions and weights - float total_length = 0.0f; - Vec3f last_point_pos = layers[seam_string[0].first].points[seam_string[0].second].position; - for (size_t index = 0; index < seam_string.size(); ++index) { - const SeamCandidate ¤t = layers[seam_string[index].first].points[seam_string[index].second]; - float layer_angle = 0.0f; - if (index > 0 && index < seam_string.size() - 1) { - layer_angle = angle_3d(current.position - layers[seam_string[index - 1].first].points[seam_string[index - 1].second].position, - layers[seam_string[index + 1].first].points[seam_string[index + 1].second].position - current.position); - } - observations[index] = current.position.head<2>(); - observation_points[index] = current.position.z(); - weights[index] = angle_weight(current.local_ccw_angle); - float sign = layer_angle > 2.0 * std::abs(current.local_ccw_angle) ? -0.8f : 1.0f; - if (current.type == EnforcedBlockedSeamPoint::Enforced) { - sign = 1.0f; - weights[index] += 3.0f; - } - total_length += sign * (last_point_pos - current.position).norm(); - last_point_pos = current.position; - } - - // Curve Fitting - size_t number_of_segments = std::max(size_t(1), size_t(std::max(0.0f, total_length) / SeamPlacer::seam_align_mm_per_segment)); - auto curve = Geometry::fit_cubic_bspline(observations, observation_points, weights, number_of_segments); - - // Do alignment - compute fitted point for each point in the string from its Z coord, and store the position into - // Perimeter structure of the point; also set flag aligned to true - for (size_t index = 0; index < seam_string.size(); ++index) { - const auto &pair = seam_string[index]; - float t = std::min(1.0f, std::pow(std::abs(layers[pair.first].points[pair.second].local_ccw_angle) / SeamPlacer::sharp_angle_snapping_threshold, 3.0f)); - if (layers[pair.first].points[pair.second].type == EnforcedBlockedSeamPoint::Enforced) { t = std::max(0.4f, t); } - - Vec3f current_pos = layers[pair.first].points[pair.second].position; - Vec2f fitted_pos = curve.get_fitted_value(current_pos.z()); - - // interpolate between current and fitted position, prefer current pos for large weights. - Vec3f final_position = t * current_pos + (1.0f - t) * to_3d(fitted_pos, current_pos.z()); - - Perimeter &perimeter = layers[pair.first].points[pair.second].perimeter; - perimeter.seam_index = pair.second; - perimeter.final_seam_position = final_position; - perimeter.finalized = true; - } - -#ifdef DEBUG_FILES - auto randf = []() { return float(rand()) / float(RAND_MAX); }; - Vec3f color{randf(), randf(), randf()}; - for (size_t i = 0; i < seam_string.size(); ++i) { - auto orig_seam = layers[seam_string[i].first].points[seam_string[i].second]; - fprintf(clusters, "v %f %f %f %f %f %f \n", orig_seam.position[0], orig_seam.position[1], orig_seam.position[2], color[0], color[1], color[2]); - } - - color = Vec3f{randf(), randf(), randf()}; - for (size_t i = 0; i < seam_string.size(); ++i) { - const Perimeter &perimeter = layers[seam_string[i].first].points[seam_string[i].second].perimeter; - fprintf(aligns, "v %f %f %f %f %f %f \n", perimeter.final_seam_position[0], perimeter.final_seam_position[1], perimeter.final_seam_position[2], color[0], - color[1], color[2]); - } -#endif - } - } - -#ifdef DEBUG_FILES - fclose(clusters); - fclose(aligns); -#endif -} - -void SeamPlacer::init(const Print &print, std::function throw_if_canceled_func) -{ - using namespace SeamPlacerImpl; - m_seam_per_object.clear(); - - for (const PrintObject *po : print.objects()) { - throw_if_canceled_func(); - SeamPosition configured_seam_preference = po->config().seam_position.value; - SeamComparator comparator{configured_seam_preference}; - - { - GlobalModelInfo global_model_info{}; - gather_enforcers_blockers(global_model_info, po); - throw_if_canceled_func(); - if (configured_seam_preference == spAligned || configured_seam_preference == spNearest) { compute_global_occlusion(global_model_info, po, throw_if_canceled_func); } - throw_if_canceled_func(); - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: gather_seam_candidates: start"; - gather_seam_candidates(po, global_model_info, configured_seam_preference); - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: gather_seam_candidates: end"; - throw_if_canceled_func(); - if (configured_seam_preference == spAligned || configured_seam_preference == spNearest) { - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: calculate_candidates_visibility : start"; - calculate_candidates_visibility(po, global_model_info); - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: calculate_candidates_visibility : end"; - } - } // destruction of global_model_info (large structure, no longer needed) - throw_if_canceled_func(); - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: calculate_overhangs and layer embdedding : start"; - calculate_overhangs_and_layer_embedding(po); - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: calculate_overhangs and layer embdedding: end"; - throw_if_canceled_func(); - if (configured_seam_preference != spNearest) { // For spNearest, the seam is picked in the place_seam method with actual nozzle position information - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: pick_seam_point : start"; - // pick seam point - std::vector &layers = m_seam_per_object[po].layers; - tbb::parallel_for(tbb::blocked_range(0, layers.size()), [&layers, configured_seam_preference, comparator](tbb::blocked_range r) { - for (size_t layer_idx = r.begin(); layer_idx < r.end(); ++layer_idx) { - std::vector &layer_perimeter_points = layers[layer_idx].points; - for (size_t current = 0; current < layer_perimeter_points.size(); current = layer_perimeter_points[current].perimeter.end_index) - if (configured_seam_preference == spRandom) - pick_random_seam_point(layer_perimeter_points, current); - else - pick_seam_point(layer_perimeter_points, current, comparator); - } - }); - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: pick_seam_point : end"; - } - throw_if_canceled_func(); - if (configured_seam_preference == spAligned || configured_seam_preference == spRear) { - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: align_seam_points : start"; - align_seam_points(po, comparator); - BOOST_LOG_TRIVIAL(debug) << "SeamPlacer: align_seam_points : end"; - } - -#ifdef DEBUG_FILES - debug_export_points(m_seam_per_object[po].layers, po->bounding_box(), comparator); -#endif - } -} - -void SeamPlacer::place_seam(const Layer *layer, ExtrusionLoop &loop, bool external_first, const Point &last_pos) const -{ - using namespace SeamPlacerImpl; - const PrintObject *po = layer->object(); - // Must not be called with supprot layer. - assert(dynamic_cast(layer) == nullptr); - // Object layer IDs are incremented by the number of raft layers. - assert(layer->id() >= po->slicing_parameters().raft_layers()); - const size_t layer_index = layer->id() - po->slicing_parameters().raft_layers(); - const double unscaled_z = layer->slice_z; - auto get_next_loop_point = [&loop](ExtrusionLoop::ClosestPathPoint current) { - current.segment_idx += 1; - if (current.segment_idx >= loop.paths[current.path_idx].polyline.points.size()) { - current.path_idx = next_idx_modulo(current.path_idx, loop.paths.size()); - current.segment_idx = 0; - } - current.foot_pt = loop.paths[current.path_idx].polyline.points[current.segment_idx]; - return current; - }; - - const PrintObjectSeamData::LayerSeams& layer_perimeters = - m_seam_per_object.find(layer->object())->second.layers[layer_index]; - - // Find the closest perimeter in the SeamPlacer to this loop. - // Repeat search until two consecutive points of the loop are found, that result in the same closest_perimeter - // This is beacuse with arachne, T-Junctions may exist and sometimes the wrong perimeter was chosen - size_t closest_perimeter_point_index = 0; - { // local space for the closest_perimeter_point_index - Perimeter* closest_perimeter = nullptr; - ExtrusionLoop::ClosestPathPoint closest_point{ 0,0,loop.paths[0].polyline.points[0] }; - size_t points_count = std::accumulate(loop.paths.begin(), loop.paths.end(), 0, [](size_t acc, const ExtrusionPath& p) { - return acc + p.polyline.points.size(); - }); - for (size_t _ = 0; _ < points_count; ++_) { - Vec2f unscaled_p = unscaled(closest_point.foot_pt); - closest_perimeter_point_index = find_closest_point(*layer_perimeters.points_tree.get(), - to_3d(unscaled_p, float(unscaled_z))); - if (closest_perimeter != &layer_perimeters.points[closest_perimeter_point_index].perimeter) { - closest_perimeter = &layer_perimeters.points[closest_perimeter_point_index].perimeter; - closest_point = get_next_loop_point(closest_point); - } - else { - break; - } - } - } - Vec3f seam_position; - size_t seam_index; - if (const Perimeter &perimeter = layer_perimeters.points[closest_perimeter_point_index].perimeter; perimeter.finalized) { - seam_position = perimeter.final_seam_position; - seam_index = perimeter.seam_index; + int global_index = 0; + while (global_index < int(seams.size())) { + size_t layer_idx = seams[global_index].first; + size_t seam_index = seams[global_index].second; + global_index++; + const std::vector &layer_perimeter_points = layers[layer_idx].points; + if (layer_perimeter_points[seam_index].perimeter.finalized) { + // This perimeter is already aligned, skip seam + continue; } else { - seam_index = po->config().seam_position == spNearest ? pick_nearest_seam_point_index(layer_perimeters.points, perimeter.start_index, unscaled(last_pos)) : - perimeter.seam_index; - seam_position = layer_perimeters.points[seam_index].position; + seam_string = this->find_seam_string(po, { layer_idx, seam_index }, comparator); + size_t step_size = 1 + seam_string.size() / 20; + for (size_t alternative_start = 0; alternative_start < seam_string.size(); alternative_start += step_size) { + size_t start_layer_idx = seam_string[alternative_start].first; + size_t seam_idx = + layers[start_layer_idx].points[seam_string[alternative_start].second].perimeter.seam_index; + alternative_seam_string = this->find_seam_string(po, + std::pair(start_layer_idx, seam_idx), comparator); + if (alternative_seam_string.size() > seam_string.size()) { + seam_string = std::move(alternative_seam_string); + } + } + if (seam_string.size() < seam_align_minimum_string_seams) { + //string NOT long enough to be worth aligning, skip + continue; + } + + // String is long enough, all string seams and potential string seams gathered, now do the alignment + //sort by layer index + std::sort(seam_string.begin(), seam_string.end(), + [](const std::pair &left, const std::pair &right) { + return left.first < right.first; + }); + + //repeat the alignment for the current seam, since it could be skipped due to alternative path being aligned. + global_index--; + + // gather all positions of seams and their weights + observations.resize(seam_string.size()); + observation_points.resize(seam_string.size()); + weights.resize(seam_string.size()); + + auto angle_3d = [](const Vec3f& a, const Vec3f& b){ + return std::abs(acosf(a.normalized().dot(b.normalized()))); + }; + + auto angle_weight = [](float angle){ + return 1.0f / (0.1f + compute_angle_penalty(angle)); + }; + + //gather points positions and weights + float total_length = 0.0f; + Vec3f last_point_pos = layers[seam_string[0].first].points[seam_string[0].second].position; + for (size_t index = 0; index < seam_string.size(); ++index) { + const SeamCandidate ¤t = layers[seam_string[index].first].points[seam_string[index].second]; + float layer_angle = 0.0f; + if (index > 0 && index < seam_string.size() - 1) { + layer_angle = angle_3d( + current.position + - layers[seam_string[index - 1].first].points[seam_string[index - 1].second].position, + layers[seam_string[index + 1].first].points[seam_string[index + 1].second].position + - current.position + ); + } + observations[index] = current.position.head<2>(); + observation_points[index] = current.position.z(); + weights[index] = angle_weight(current.local_ccw_angle); + float curling_influence = layer_angle > 2.0 * std::abs(current.local_ccw_angle) ? -0.8f : 1.0f; + if (current.type == EnforcedBlockedSeamPoint::Enforced) { + curling_influence = 1.0f; + weights[index] += 3.0f; + } + total_length += curling_influence * (last_point_pos - current.position).norm(); + last_point_pos = current.position; + } + + if (comparator.setup == spRear) { + total_length *= 0.3f; + } + + // Curve Fitting + size_t number_of_segments = std::max(size_t(1), + size_t(std::max(0.0f,total_length) / SeamPlacer::seam_align_mm_per_segment)); + auto curve = Geometry::fit_cubic_bspline(observations, observation_points, weights, number_of_segments); + + // Do alignment - compute fitted point for each point in the string from its Z coord, and store the position into + // Perimeter structure of the point; also set flag aligned to true + for (size_t index = 0; index < seam_string.size(); ++index) { + const auto &pair = seam_string[index]; + float t = std::min(1.0f, std::pow(std::abs(layers[pair.first].points[pair.second].local_ccw_angle) + / SeamPlacer::sharp_angle_snapping_threshold, 3.0f)); + if (layers[pair.first].points[pair.second].type == EnforcedBlockedSeamPoint::Enforced){ + t = std::max(0.4f, t); + } + + Vec3f current_pos = layers[pair.first].points[pair.second].position; + Vec2f fitted_pos = curve.get_fitted_value(current_pos.z()); + + //interpolate between current and fitted position, prefer current pos for large weights. + Vec3f final_position = t * current_pos + (1.0f - t) * to_3d(fitted_pos, current_pos.z()); + + Perimeter &perimeter = layers[pair.first].points[pair.second].perimeter; + perimeter.seam_index = pair.second; + perimeter.final_seam_position = final_position; + perimeter.finalized = true; + } + +#ifdef DEBUG_FILES + auto randf = []() { + return float(rand()) / float(RAND_MAX); + }; + Vec3f color { randf(), randf(), randf() }; + for (size_t i = 0; i < seam_string.size(); ++i) { + auto orig_seam = layers[seam_string[i].first].points[seam_string[i].second]; + fprintf(clusters, "v %f %f %f %f %f %f \n", orig_seam.position[0], + orig_seam.position[1], + orig_seam.position[2], color[0], color[1], + color[2]); + } + + color = Vec3f { randf(), randf(), randf() }; + for (size_t i = 0; i < seam_string.size(); ++i) { + const Perimeter &perimeter = layers[seam_string[i].first].points[seam_string[i].second].perimeter; + fprintf(aligns, "v %f %f %f %f %f %f \n", perimeter.final_seam_position[0], + perimeter.final_seam_position[1], + perimeter.final_seam_position[2], color[0], color[1], + color[2]); + } +#endif + } + } + +#ifdef DEBUG_FILES + fclose(clusters); + fclose(aligns); +#endif + +} + +void SeamPlacer::init(const Print &print, std::function throw_if_canceled_func) { + using namespace SeamPlacerImpl; + m_seam_per_object.clear(); + + for (const PrintObject *po : print.objects()) { + throw_if_canceled_func(); + SeamPosition configured_seam_preference = po->config().seam_position.value; + SeamComparator comparator { configured_seam_preference }; + + { + GlobalModelInfo global_model_info { }; + gather_enforcers_blockers(global_model_info, po); + throw_if_canceled_func(); + if (configured_seam_preference == spAligned || configured_seam_preference == spNearest) { + compute_global_occlusion(global_model_info, po, throw_if_canceled_func); + } + throw_if_canceled_func(); + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: gather_seam_candidates: start"; + gather_seam_candidates(po, global_model_info); + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: gather_seam_candidates: end"; + throw_if_canceled_func(); + if (configured_seam_preference == spAligned || configured_seam_preference == spNearest) { + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: calculate_candidates_visibility : start"; + calculate_candidates_visibility(po, global_model_info); + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: calculate_candidates_visibility : end"; + } + } // destruction of global_model_info (large structure, no longer needed) + throw_if_canceled_func(); + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: calculate_overhangs and layer embdedding : start"; + calculate_overhangs_and_layer_embedding(po); + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: calculate_overhangs and layer embdedding: end"; + throw_if_canceled_func(); + if (configured_seam_preference != spNearest) { // For spNearest, the seam is picked in the place_seam method with actual nozzle position information + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: pick_seam_point : start"; + //pick seam point + std::vector &layers = m_seam_per_object[po].layers; + tbb::parallel_for(tbb::blocked_range(0, layers.size()), + [&layers, configured_seam_preference, comparator](tbb::blocked_range r) { + for (size_t layer_idx = r.begin(); layer_idx < r.end(); ++layer_idx) { + std::vector &layer_perimeter_points = layers[layer_idx].points; + for (size_t current = 0; current < layer_perimeter_points.size(); + current = layer_perimeter_points[current].perimeter.end_index) + if (configured_seam_preference == spRandom) + pick_random_seam_point(layer_perimeter_points, current); + else + pick_seam_point(layer_perimeter_points, current, comparator); + } + }); + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: pick_seam_point : end"; + } + throw_if_canceled_func(); + if (configured_seam_preference == spAligned || configured_seam_preference == spRear) { + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: align_seam_points : start"; + align_seam_points(po, comparator); + BOOST_LOG_TRIVIAL(debug) + << "SeamPlacer: align_seam_points : end"; } - Point seam_point = Point::new_scale(seam_position.x(), seam_position.y()); +#ifdef DEBUG_FILES + debug_export_points(m_seam_per_object[po].layers, po->bounding_box(), comparator); +#endif + } +} - if (const SeamCandidate &perimeter_point = layer_perimeters.points[seam_index]; - (po->config().seam_position == spNearest || po->config().seam_position == spAligned) && loop.role() == ExtrusionRole::erPerimeter && // Hopefully internal perimeter - (seam_position - perimeter_point.position).squaredNorm() < 4.0f && // seam is on perimeter point - perimeter_point.local_ccw_angle < -EPSILON // In concave angles +void SeamPlacer::place_seam(const Layer *layer, ExtrusionLoop &loop, bool external_first, + const Point &last_pos) const { + using namespace SeamPlacerImpl; + const PrintObject *po = layer->object(); + // Must not be called with supprot layer. + assert(dynamic_cast(layer) == nullptr); + // Object layer IDs are incremented by the number of raft layers. + assert(layer->id() >= po->slicing_parameters().raft_layers()); + const size_t layer_index = layer->id() - po->slicing_parameters().raft_layers(); + const double unscaled_z = layer->slice_z; + + auto get_next_loop_point = [loop](ExtrusionLoop::ClosestPathPoint current) { + current.segment_idx += 1; + if (current.segment_idx >= loop.paths[current.path_idx].polyline.points.size()) { + current.path_idx = next_idx_modulo(current.path_idx, loop.paths.size()); + current.segment_idx = 0; + } + current.foot_pt = loop.paths[current.path_idx].polyline.points[current.segment_idx]; + return current; + }; + + const PrintObjectSeamData::LayerSeams &layer_perimeters = + m_seam_per_object.find(layer->object())->second.layers[layer_index]; + + // Find the closest perimeter in the SeamPlacer to this loop. + // Repeat search until two consecutive points of the loop are found, that result in the same closest_perimeter + // This is beacuse with arachne, T-Junctions may exist and sometimes the wrong perimeter was chosen + size_t closest_perimeter_point_index = 0; + { // local space for the closest_perimeter_point_index + Perimeter *closest_perimeter = nullptr; + ExtrusionLoop::ClosestPathPoint closest_point{0,0,loop.paths[0].polyline.points[0]}; + size_t points_count = std::accumulate(loop.paths.begin(), loop.paths.end(), 0, [](size_t acc,const ExtrusionPath& p) { + return acc + p.polyline.points.size(); + }); + for (size_t i = 0; i < points_count; ++i) { + Vec2f unscaled_p = unscaled(closest_point.foot_pt); + closest_perimeter_point_index = find_closest_point(*layer_perimeters.points_tree.get(), + to_3d(unscaled_p, float(unscaled_z))); + if (closest_perimeter != &layer_perimeters.points[closest_perimeter_point_index].perimeter) { + closest_perimeter = &layer_perimeters.points[closest_perimeter_point_index].perimeter; + closest_point = get_next_loop_point(closest_point); + } else { + break; + } + } + } + + Vec3f seam_position; + size_t seam_index; + if (const Perimeter &perimeter = layer_perimeters.points[closest_perimeter_point_index].perimeter; + perimeter.finalized) { + seam_position = perimeter.final_seam_position; + seam_index = perimeter.seam_index; + } else { + seam_index = + po->config().seam_position == spNearest ? + pick_nearest_seam_point_index(layer_perimeters.points, perimeter.start_index, + unscaled(last_pos)) : + perimeter.seam_index; + seam_position = layer_perimeters.points[seam_index].position; + } + + Point seam_point = Point::new_scale(seam_position.x(), seam_position.y()); + + if (loop.role() == ExtrusionRole::erPerimeter) { //Hopefully inner perimeter + const SeamCandidate &perimeter_point = layer_perimeters.points[seam_index]; + ExtrusionLoop::ClosestPathPoint projected_point = loop.get_closest_path_and_point(seam_point, false); + // determine depth of the seam point. + float depth = (float) unscale(Point(seam_point - projected_point.foot_pt)).norm(); + float beta_angle = cos(perimeter_point.local_ccw_angle / 2.0f); + size_t index_of_prev = + seam_index == perimeter_point.perimeter.start_index ? + perimeter_point.perimeter.end_index - 1 : + seam_index - 1; + size_t index_of_next = + seam_index == perimeter_point.perimeter.end_index - 1 ? + perimeter_point.perimeter.start_index : + seam_index + 1; + + if ((seam_position - perimeter_point.position).squaredNorm() < depth && // seam is on perimeter point + perimeter_point.local_ccw_angle < -EPSILON // In concave angles ) { // In this case, we are at internal perimeter, where the external perimeter has seam in concave angle. We want to align - // the internal seam into the concave corner, and not on the perpendicular projection on the closest edge (which is what the split_at function does) - size_t index_of_prev = seam_index == perimeter_point.perimeter.start_index ? perimeter_point.perimeter.end_index - 1 : seam_index - 1; - size_t index_of_next = seam_index == perimeter_point.perimeter.end_index - 1 ? perimeter_point.perimeter.start_index : seam_index + 1; - - Vec2f dir_to_middle = ((perimeter_point.position - layer_perimeters.points[index_of_prev].position).head<2>().normalized() + - (perimeter_point.position - layer_perimeters.points[index_of_next].position).head<2>().normalized()) * - 0.5; - - ExtrusionLoop::ClosestPathPoint projected_point = loop.get_closest_path_and_point(seam_point, true); - // get closest projected point, determine depth of the seam point. - float depth = (float) unscale(Point(seam_point - projected_point.foot_pt)).norm(); - float angle_factor = cos(-perimeter_point.local_ccw_angle / 2.0f); // There are some nice geometric identities in determination of the correct depth of new seam point. - // overshoot the target depth, in concave angles it will correctly snap to the corner; TODO: find out why such big overshoot is needed. - Vec2f final_pos = perimeter_point.position.head<2>() + (1.4142 * depth / angle_factor) * dir_to_middle; - seam_point = Point::new_scale(final_pos.x(), final_pos.y()); + // the internal seam into the concave corner, and not on the perpendicular projection on the closest edge (which is what the split_at function does) + Vec2f dir_to_middle = + ((perimeter_point.position - layer_perimeters.points[index_of_prev].position).head<2>().normalized() + + (perimeter_point.position - layer_perimeters.points[index_of_next].position).head<2>().normalized()) + * 0.5; + depth = 1.4142 * depth / beta_angle; + // There are some nice geometric identities in determination of the correct depth of new seam point. + //overshoot the target depth, in concave angles it will correctly snap to the corner; TODO: find out why such big overshoot is needed. + Vec2f final_pos = perimeter_point.position.head<2>() + depth * dir_to_middle; + projected_point = loop.get_closest_path_and_point(Point::new_scale(final_pos.x(), final_pos.y()), false); + } else { // not concave angle, in that case the nearest point is the good candidate + // but for staggering, we also need to recompute depth of the inner perimter, because in convex corners, the distance is larger than layer width + // we want the perpendicular depth, not distance to nearest point + depth = depth * beta_angle / 1.4142; } - // Because the G-code export has 1um resolution, don't generate segments shorter than 1.5 microns, - // thus empty path segments will not be produced by G-code export. - if (!loop.split_at_vertex(seam_point, scaled(0.0015))) { - // The point is not in the original loop. - // Insert it. - loop.split_at(seam_point, true); + seam_point = projected_point.foot_pt; + + //lastly, for internal perimeters, do the staggering if requested + if (po->config().staggered_inner_seams && loop.length() > 0.0) { + //fix depth, it is sometimes strongly underestimated + depth = std::max(loop.paths[projected_point.path_idx].width, depth); + + while (depth > 0.0f) { + auto next_point = get_next_loop_point(projected_point); + Vec2f a = unscale(projected_point.foot_pt).cast(); + Vec2f b = unscale(next_point.foot_pt).cast(); + float dist = (a - b).norm(); + if (dist > depth) { + Vec2f final_pos = a + (b - a) * depth / dist; + next_point.foot_pt = Point::new_scale(final_pos.x(), final_pos.y()); + } + depth -= dist; + projected_point = next_point; + } + seam_point = projected_point.foot_pt; } + } + + // Because the G-code export has 1um resolution, don't generate segments shorter than 1.5 microns, + // thus empty path segments will not be produced by G-code export. + if (!loop.split_at_vertex(seam_point, scaled(0.0015))) { + // The point is not in the original loop. + // Insert it. + loop.split_at(seam_point, true); + } + } } // namespace Slic3r diff --git a/src/libslic3r/GCode/SeamPlacer.hpp b/src/libslic3r/GCode/SeamPlacer.hpp index 43727f1731..a7bb12f4f4 100644 --- a/src/libslic3r/GCode/SeamPlacer.hpp +++ b/src/libslic3r/GCode/SeamPlacer.hpp @@ -27,138 +27,136 @@ class Grid; namespace SeamPlacerImpl { -// ************ FOR BACKPORT COMPATIBILITY ONLY *************** -// Angle from v1 to v2, returning double atan2(y, x) normalized to <-PI, PI>. -template inline double angle(const Eigen::MatrixBase &v1, const Eigen::MatrixBase &v2) -{ - static_assert(Derived::IsVectorAtCompileTime && int(Derived::SizeAtCompileTime) == 2, "angle(): first parameter is not a 2D vector"); - static_assert(Derived2::IsVectorAtCompileTime && int(Derived2::SizeAtCompileTime) == 2, "angle(): second parameter is not a 2D vector"); - auto v1d = v1.template cast(); - auto v2d = v2.template cast(); - return atan2(cross2(v1d, v2d), v1d.dot(v2d)); -} -// *************************** struct GlobalModelInfo; struct SeamComparator; enum class EnforcedBlockedSeamPoint { - Blocked = 0, - Neutral = 1, - Enforced = 2, + Blocked = 0, + Neutral = 1, + Enforced = 2, }; // struct representing single perimeter loop -struct Perimeter -{ - size_t start_index{}; - size_t end_index{}; // inclusive! - size_t seam_index{}; - float flow_width{}; +struct Perimeter { + size_t start_index{}; + size_t end_index{}; //inclusive! + size_t seam_index{}; + float flow_width{}; - // During alignment, a final position may be stored here. In that case, finalized is set to true. - // Note that final seam position is not limited to points of the perimeter loop. In theory it can be any position - // Random position also uses this flexibility to set final seam point position - bool finalized = false; - Vec3f final_seam_position = Vec3f::Zero(); + // During alignment, a final position may be stored here. In that case, finalized is set to true. + // Note that final seam position is not limited to points of the perimeter loop. In theory it can be any position + // Random position also uses this flexibility to set final seam point position + bool finalized = false; + Vec3f final_seam_position = Vec3f::Zero(); }; -// Struct over which all processing of perimeters is done. For each perimeter point, its respective candidate is created, +//Struct over which all processing of perimeters is done. For each perimeter point, its respective candidate is created, // then all the needed attributes are computed and finally, for each perimeter one point is chosen as seam. // This seam position can be then further aligned -struct SeamCandidate -{ - SeamCandidate(const Vec3f &pos, Perimeter &perimeter, float local_ccw_angle, EnforcedBlockedSeamPoint type) - : position(pos), perimeter(perimeter), visibility(0.0f), overhang(0.0f), embedded_distance(0.0f), local_ccw_angle(local_ccw_angle), type(type), central_enforcer(false) - {} - const Vec3f position; - // pointer to Perimeter loop of this point. It is shared across all points of the loop - Perimeter &perimeter; - float visibility; - float overhang; - // distance inside the merged layer regions, for detecting perimeter points which are hidden indside the print (e.g. multimaterial join) - // Negative sign means inside the print, comes from EdgeGrid structure - float embedded_distance; - float local_ccw_angle; - EnforcedBlockedSeamPoint type; - bool central_enforcer; // marks this candidate as central point of enforced segment on the perimeter - important for alignment +struct SeamCandidate { + SeamCandidate(const Vec3f &pos, Perimeter &perimeter, + float local_ccw_angle, + EnforcedBlockedSeamPoint type) : + position(pos), perimeter(perimeter), visibility(0.0f), overhang(0.0f), embedded_distance(0.0f), local_ccw_angle( + local_ccw_angle), type(type), central_enforcer(false) { + } + const Vec3f position; + // pointer to Perimeter loop of this point. It is shared across all points of the loop + Perimeter &perimeter; + float visibility; + float overhang; + // distance inside the merged layer regions, for detecting perimeter points which are hidden indside the print (e.g. multimaterial join) + // Negative sign means inside the print, comes from EdgeGrid structure + float embedded_distance; + float local_ccw_angle; + EnforcedBlockedSeamPoint type; + bool central_enforcer; //marks this candidate as central point of enforced segment on the perimeter - important for alignment }; -struct SeamCandidateCoordinateFunctor -{ - SeamCandidateCoordinateFunctor(const std::vector &seam_candidates) : seam_candidates(seam_candidates) {} - const std::vector &seam_candidates; - float operator()(size_t index, size_t dim) const { return seam_candidates[index].position[dim]; } +struct SeamCandidateCoordinateFunctor { + SeamCandidateCoordinateFunctor(const std::vector &seam_candidates) : + seam_candidates(seam_candidates) { + } + const std::vector &seam_candidates; + float operator()(size_t index, size_t dim) const { + return seam_candidates[index].position[dim]; + } }; } // namespace SeamPlacerImpl struct PrintObjectSeamData { - using SeamCandidatesTree = KDTreeIndirect<3, float, SeamPlacerImpl::SeamCandidateCoordinateFunctor>; + using SeamCandidatesTree = KDTreeIndirect<3, float, SeamPlacerImpl::SeamCandidateCoordinateFunctor>; - struct LayerSeams - { - Slic3r::deque perimeters; - std::vector points; - std::unique_ptr points_tree; - }; - // Map of PrintObjects (PO) -> vector of layers of PO -> vector of perimeter - std::vector layers; - // Map of PrintObjects (PO) -> vector of layers of PO -> unique_ptr to KD - // tree of all points of the given layer + struct LayerSeams + { + Slic3r::deque perimeters; + std::vector points; + std::unique_ptr points_tree; + }; + // Map of PrintObjects (PO) -> vector of layers of PO -> vector of perimeter + std::vector layers; + // Map of PrintObjects (PO) -> vector of layers of PO -> unique_ptr to KD + // tree of all points of the given layer - void clear() { layers.clear(); } + void clear() + { + layers.clear(); + } }; -class SeamPlacer -{ +class SeamPlacer { public: - // Number of samples generated on the mesh. There are sqr_rays_per_sample_point*sqr_rays_per_sample_point rays casted from each samples - static constexpr size_t raycasting_visibility_samples_count = 30000; - // square of number of rays per sample point - static constexpr size_t sqr_rays_per_sample_point = 5; + // Number of samples generated on the mesh. There are sqr_rays_per_sample_point*sqr_rays_per_sample_point rays casted from each samples + static constexpr size_t raycasting_visibility_samples_count = 30000; + static constexpr size_t fast_decimation_triangle_count_target = 16000; + //square of number of rays per sample point + static constexpr size_t sqr_rays_per_sample_point = 5; - // snapping angle - angles larger than this value will be snapped to during seam painting - static constexpr float sharp_angle_snapping_threshold = 55.0f * float(PI) / 180.0f; - // overhang angle for seam placement that still yields good results, in degrees, measured from vertical direction - //BBS - static constexpr float overhang_angle_threshold = 45.0f * float(PI) / 180.0f; + // snapping angle - angles larger than this value will be snapped to during seam painting + static constexpr float sharp_angle_snapping_threshold = 55.0f * float(PI) / 180.0f; + // overhang angle for seam placement that still yields good results, in degrees, measured from vertical direction + static constexpr float overhang_angle_threshold = 50.0f * float(PI) / 180.0f; - // determines angle importance compared to visibility ( neutral value is 1.0f. ) - static constexpr float angle_importance_aligned = 0.6f; - static constexpr float angle_importance_nearest = 1.0f; // use much higher angle importance for nearest mode, to combat the visibility info noise + // determines angle importance compared to visibility ( neutral value is 1.0f. ) + static constexpr float angle_importance_aligned = 0.6f; + static constexpr float angle_importance_nearest = 1.0f; // use much higher angle importance for nearest mode, to combat the visibility info noise - // For long polygon sides, if they are close to the custom seam drawings, they are oversampled with this step size - static constexpr float enforcer_oversampling_distance = 0.2f; + // For long polygon sides, if they are close to the custom seam drawings, they are oversampled with this step size + static constexpr float enforcer_oversampling_distance = 0.2f; - // When searching for seam clusters for alignment: - // following value describes, how much worse score can point have and still be picked into seam cluster instead of original seam point on the same layer - static constexpr float seam_align_score_tolerance = 0.3f; - // seam_align_tolerable_dist_factor - how far to search for seam from current position, final dist is seam_align_tolerable_dist_factor * flow_width - static constexpr float seam_align_tolerable_dist_factor = 4.0f; - // minimum number of seams needed in cluster to make alignment happen - static constexpr size_t seam_align_minimum_string_seams = 6; - // millimeters covered by spline; determines number of splines for the given string - static constexpr size_t seam_align_mm_per_segment = 4.0f; + // When searching for seam clusters for alignment: + // following value describes, how much worse score can point have and still be picked into seam cluster instead of original seam point on the same layer + static constexpr float seam_align_score_tolerance = 0.3f; + // seam_align_tolerable_dist_factor - how far to search for seam from current position, final dist is seam_align_tolerable_dist_factor * flow_width + static constexpr float seam_align_tolerable_dist_factor = 4.0f; + // minimum number of seams needed in cluster to make alignment happen + static constexpr size_t seam_align_minimum_string_seams = 6; + // millimeters covered by spline; determines number of splines for the given string + static constexpr size_t seam_align_mm_per_segment = 4.0f; - // The following data structures hold all perimeter points for all PrintObject. - std::unordered_map m_seam_per_object; + //The following data structures hold all perimeter points for all PrintObject. + std::unordered_map m_seam_per_object; - void init(const Print &print, std::function throw_if_canceled_func); + void init(const Print &print, std::function throw_if_canceled_func); - void place_seam(const Layer *layer, ExtrusionLoop &loop, bool external_first, const Point &last_pos) const; + void place_seam(const Layer *layer, ExtrusionLoop &loop, bool external_first, const Point &last_pos) const; private: - void gather_seam_candidates(const PrintObject *po, const SeamPlacerImpl::GlobalModelInfo &global_model_info, const SeamPosition configured_seam_preference); - void calculate_candidates_visibility(const PrintObject *po, const SeamPlacerImpl::GlobalModelInfo &global_model_info); - void calculate_overhangs_and_layer_embedding(const PrintObject *po); - void align_seam_points(const PrintObject *po, const SeamPlacerImpl::SeamComparator &comparator); - std::vector> find_seam_string(const PrintObject *po, std::pair start_seam, const SeamPlacerImpl::SeamComparator &comparator) const; - std::optional> find_next_seam_in_layer(const std::vector &layers, - const Vec3f & projected_position, - const size_t layer_idx, - const float max_distance, - const SeamPlacerImpl::SeamComparator & comparator) const; + void gather_seam_candidates(const PrintObject *po, const SeamPlacerImpl::GlobalModelInfo &global_model_info); + void calculate_candidates_visibility(const PrintObject *po, + const SeamPlacerImpl::GlobalModelInfo &global_model_info); + void calculate_overhangs_and_layer_embedding(const PrintObject *po); + void align_seam_points(const PrintObject *po, const SeamPlacerImpl::SeamComparator &comparator); + std::vector> find_seam_string(const PrintObject *po, + std::pair start_seam, + const SeamPlacerImpl::SeamComparator &comparator) const; + std::optional> find_next_seam_in_layer( + const std::vector &layers, + const Vec3f& projected_position, + const size_t layer_idx, const float max_distance, + const SeamPlacerImpl::SeamComparator &comparator) const; }; } // namespace Slic3r diff --git a/src/libslic3r/GCodeWriter.cpp b/src/libslic3r/GCodeWriter.cpp index 9388738775..e52b413b4b 100644 --- a/src/libslic3r/GCodeWriter.cpp +++ b/src/libslic3r/GCodeWriter.cpp @@ -177,14 +177,13 @@ std::string GCodeWriter::set_acceleration(unsigned int acceleration) // Use M204 P, we don't want to override travel acc by M204 S (which is deprecated anyway). gcode << "M204 P" << acceleration; } else if (FLAVOR_IS(gcfKlipper) && this->config.accel_to_decel_enable) { - gcode << "SET_VELOCITY_LIMIT ACCEL_TO_DECEL=" << acceleration * this->config.accel_to_decel_factor / 100; + gcode << "SET_VELOCITY_LIMIT ACCEL=" << acceleration + << " ACCEL_TO_DECEL=" << acceleration * this->config.accel_to_decel_factor / 100; if (GCodeWriter::full_gcode_comment) gcode << " ; adjust ACCEL_TO_DECEL"; - gcode << "\nM204 S" << acceleration; - // Set max accel to decel to half of acceleration } else gcode << "M204 S" << acceleration; - + //BBS if (GCodeWriter::full_gcode_comment) gcode << " ; adjust acceleration"; gcode << "\n"; @@ -741,9 +740,9 @@ std::string GCodeWriter::set_fan(const GCodeFlavor gcode_flavor, unsigned int sp gcode << "M126"; break; case gcfMach3: case gcfMachinekit: - gcode << "M106 P" << 255.0 * speed / 100.0; break; + gcode << "M106 P" << static_cast(255.5 * speed / 100.0); break; default: - gcode << "M106 S" << 255.0 * speed / 100.0; break; + gcode << "M106 S" << static_cast(255.5 * speed / 100.0); break; } if (GCodeWriter::full_gcode_comment) gcode << " ; enable fan"; diff --git a/src/libslic3r/Layer.hpp b/src/libslic3r/Layer.hpp index 331129ba45..47b0b78177 100644 --- a/src/libslic3r/Layer.hpp +++ b/src/libslic3r/Layer.hpp @@ -72,7 +72,7 @@ public: Flow flow(FlowRole role) const; Flow flow(FlowRole role, double layer_height) const; - Flow bridging_flow(FlowRole role, bool thick_bridge = false , float bridge_density = 1.0f) const; + Flow bridging_flow(FlowRole role, bool thick_bridge = false) const; void slices_to_fill_surfaces_clipped(); void prepare_fill_surfaces(); diff --git a/src/libslic3r/LayerRegion.cpp b/src/libslic3r/LayerRegion.cpp index 06b632eaa2..61eef17801 100644 --- a/src/libslic3r/LayerRegion.cpp +++ b/src/libslic3r/LayerRegion.cpp @@ -26,7 +26,7 @@ Flow LayerRegion::flow(FlowRole role, double layer_height) const return m_region->flow(*m_layer->object(), role, layer_height, m_layer->id() == 0); } -Flow LayerRegion::bridging_flow(FlowRole role, bool thick_bridge, float bridge_density) const +Flow LayerRegion::bridging_flow(FlowRole role, bool thick_bridge) const { const PrintRegion ®ion = this->region(); const PrintRegionConfig ®ion_config = region.config(); @@ -43,8 +43,6 @@ Flow LayerRegion::bridging_flow(FlowRole role, bool thick_bridge, float bridge_d // The same way as other slicers: Use normal extrusions. Apply bridge_flow while maintaining the original spacing. bridge_flow = this->flow(role).with_flow_ratio(region_config.bridge_flow); } - bridge_density = boost::algorithm::clamp(bridge_density, 0.1f, 1.0f); - bridge_flow.set_spacing(bridge_flow.spacing() + bridge_flow.width() * ((1.0f / bridge_density) - 1.0f)); return bridge_flow; } @@ -245,7 +243,7 @@ void LayerRegion::process_external_surfaces(const Layer *lower_layer, const Poly // Grown by 3mm. //BBS: eliminate too narrow area to avoid generating bridge on top layer when wall loop is 1 //Polygons polys = offset(bridges[i].expolygon, bridge_margin, EXTERNAL_SURFACES_OFFSET_PARAMETERS); - Polygons polys = offset2({ bridges[i].expolygon }, -scale_(nozzle_diameter * 0.1), bridge_margin + scale_((1.0 / this->region().config().bridge_density.get_abs_value(1.0) - 1.0)*nozzle_diameter/2.0), EXTERNAL_SURFACES_OFFSET_PARAMETERS); + Polygons polys = offset2({ bridges[i].expolygon }, -scale_(nozzle_diameter * 0.1), bridge_margin, EXTERNAL_SURFACES_OFFSET_PARAMETERS); if (idx_island == -1) { BOOST_LOG_TRIVIAL(trace) << "Bridge did not fall into the source region!"; } else { diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index 46309f6168..0987e5937e 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -1849,7 +1849,7 @@ void ModelObject::process_connector_cut( // Perform cut TriangleMesh upper_mesh, lower_mesh; - process_volume_cut(volume, instance_matrix, cut_matrix, attributes, upper_mesh, lower_mesh); + process_volume_cut(volume, Transform3d::Identity(), cut_matrix, attributes, upper_mesh, lower_mesh); // add small Z offset to better preview upper_mesh.translate((-0.05 * Vec3d::UnitZ()).cast()); diff --git a/src/libslic3r/PerimeterGenerator.cpp b/src/libslic3r/PerimeterGenerator.cpp index 976bdeecfd..e47f10f7ac 100644 --- a/src/libslic3r/PerimeterGenerator.cpp +++ b/src/libslic3r/PerimeterGenerator.cpp @@ -1374,7 +1374,8 @@ void PerimeterGenerator::process_arachne() bool is_outer_wall_first = this->config->wall_infill_order == WallInfillOrder::OuterInnerInfill || - this->config->wall_infill_order == WallInfillOrder::InfillOuterInner; + this->config->wall_infill_order == WallInfillOrder::InfillOuterInner || + this->config->wall_infill_order == WallInfillOrder::InnerOuterInnerInfill; if (is_outer_wall_first) { start_perimeter = 0; end_perimeter = int(perimeters.size()); @@ -1501,17 +1502,49 @@ void PerimeterGenerator::process_arachne() } } - - if (this->config->wall_infill_order == WallInfillOrder::InnerOuterInnerInfill) - if (ordered_extrusions.size() > 1) { - int last_outer = 0; - int outer = 0; - for (; outer < ordered_extrusions.size(); ++outer) - if (ordered_extrusions[outer].extrusion->inset_idx == 0 && outer - last_outer > 1) { - std::swap(ordered_extrusions[outer], ordered_extrusions[outer - 1]); - last_outer = outer; + + if (this->config->wall_infill_order == WallInfillOrder::InnerOuterInnerInfill) { + if (ordered_extrusions.size() > 2) { // 3 walls minimum needed to do inner outer inner ordering + int position = 0; // index to run the re-ordering for multiple external perimeters in a single island. + int arr_i = 0; // index to run through the walls + int outer, first_internal, second_internal; // allocate index values + // run the re-ordering for all wall loops in the same island + while (position < ordered_extrusions.size()) { + outer = first_internal = second_internal = -1; // initialise all index values to -1 + // run through the walls to get the index values that need re-ordering until the first one for each + // is found. Start at "position" index to enable the for loop to iterate for multiple external + // perimeters in a single island + for (arr_i = position; arr_i < ordered_extrusions.size(); ++arr_i) { + switch (ordered_extrusions[arr_i].extrusion->inset_idx) { + case 0: // external perimeter + if (outer == -1) + outer = arr_i; + break; + case 1: // first internal wall + if (first_internal == -1 && arr_i > outer) + first_internal = arr_i; + break; + case 2: // second internal wall + if (ordered_extrusions[arr_i].extrusion->inset_idx == 2 && second_internal == -1 && + arr_i > first_internal) + second_internal = arr_i; + break; + } + if (second_internal != -1) + break; // found all three perimeters to re-order } + if (outer > -1 && first_internal > -1 && second_internal > -1) { // found perimeters to re-order? + const auto temp = ordered_extrusions[second_internal]; + ordered_extrusions[second_internal] = ordered_extrusions[first_internal]; + ordered_extrusions[first_internal] = ordered_extrusions[outer]; + ordered_extrusions[outer] = temp; + } else + break; // did not find any more candidates to re-order, so stop the while loop early + // go to the next perimeter to continue scanning for external walls in the same island + position = arr_i + 1; + } } + } if (ExtrusionEntityCollection extrusion_coll = traverse_extrusions(*this, ordered_extrusions); !extrusion_coll.empty()) diff --git a/src/libslic3r/PlaceholderParser.cpp b/src/libslic3r/PlaceholderParser.cpp index f36bba6310..d1b3cb169b 100644 --- a/src/libslic3r/PlaceholderParser.cpp +++ b/src/libslic3r/PlaceholderParser.cpp @@ -40,11 +40,19 @@ #include #include #include +#if BOOST_VERSION >= 107800 +#include +#include +#include +#include +#include +#else #include #include #include #include #include +#endif #include #include #include diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 1283e482a7..15ef51b309 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -708,7 +708,7 @@ static std::vector s_Preset_print_options { "layer_height", "initial_layer_print_height", "wall_loops", "slice_closing_radius", "spiral_mode", "slicing_mode", "top_shell_layers", "top_shell_thickness", "bottom_shell_layers", "bottom_shell_thickness", "ensure_vertical_shell_thickness", "reduce_crossing_wall", "detect_thin_wall", "detect_overhang_wall", - "seam_position", "wall_infill_order", "sparse_infill_density", "sparse_infill_pattern", "top_surface_pattern", "bottom_surface_pattern", + "seam_position", "staggered_inner_seams", "wall_infill_order", "sparse_infill_density", "sparse_infill_pattern", "top_surface_pattern", "bottom_surface_pattern", "infill_direction", "minimum_sparse_infill_area", "reduce_infill_retraction", "ironing_type", "ironing_flow", "ironing_speed", "ironing_spacing", @@ -720,7 +720,7 @@ static std::vector s_Preset_print_options { "inner_wall_speed", "outer_wall_speed", "sparse_infill_speed", "internal_solid_infill_speed", "top_surface_speed", "support_speed", "support_object_xy_distance", "support_interface_speed", "bridge_speed", "gap_infill_speed", "travel_speed", "travel_speed_z", "initial_layer_speed", - "outer_wall_acceleration", "initial_layer_acceleration", "top_surface_acceleration", "default_acceleration", "skirt_loops", "skirt_distance", "skirt_height", "draft_shield", + "outer_wall_acceleration", "initial_layer_acceleration", "top_surface_acceleration", "default_acceleration", "skirt_loops", "skirt_speed", "skirt_distance", "skirt_height", "draft_shield", "brim_width", "brim_object_gap", "brim_type", "enable_support", "support_type", "support_threshold_angle", "enforce_support_layers", "raft_layers", "raft_first_layer_density", "raft_first_layer_expansion", "raft_contact_distance", "raft_expansion", "support_base_pattern", "support_base_pattern_spacing", "support_expansion", "support_style", @@ -756,7 +756,7 @@ static std::vector s_Preset_print_options { "bridge_density", "precise_outer_wall", "overhang_speed_classic", "bridge_acceleration", "sparse_infill_acceleration", "internal_solid_infill_acceleration", "tree_support_adaptive_layer_height", "tree_support_auto_brim", "tree_support_brim_width", "gcode_comments", "gcode_label_objects", - "initial_layer_travel_speed", "exclude_object", "slow_down_layers" + "initial_layer_travel_speed", "exclude_object", "slow_down_layers", "infill_anchor", "infill_anchor_max" }; @@ -3189,7 +3189,7 @@ namespace PresetUtils { out = Slic3r::resources_dir() + "/profiles/" + preset.vendor->id + "/" + pm->hotend_model; } - if(out.empty()) + if (out.empty() ||!boost::filesystem::exists(boost::filesystem::path(out))) out = Slic3r::resources_dir() + "/profiles/hotend.stl"; return out; } diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index 30f07ee415..ff2df1286b 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -504,7 +504,7 @@ std::string PresetBundle::get_hotend_model_for_printer_model(std::string model_n out = Slic3r::resources_dir() + "/profiles/" + vendor_name + "/" + hotend_stl; } - if (out.empty()) + if (out.empty() ||!boost::filesystem::exists(boost::filesystem::path(out))) out = Slic3r::resources_dir() + "/profiles/hotend.stl"; return out; diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 1650801034..46090dcaee 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -185,6 +185,7 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n // These steps have no influence on the G-code whatsoever. Just ignore them. } else if ( opt_key == "skirt_loops" + || opt_key == "skirt_speed" || opt_key == "skirt_height" || opt_key == "draft_shield" || opt_key == "skirt_distance" @@ -197,6 +198,7 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n opt_key == "initial_layer_print_height" || opt_key == "nozzle_diameter" || opt_key == "filament_shrink" + || opt_key == "resolution" // Spiral Vase forces different kind of slicing than the normal model: // In Spiral Vase mode, holes are closed and only the largest area contour is kept at each layer. // Therefore toggling the Spiral Vase on / off requires complete reslicing. @@ -248,7 +250,7 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n opt_key == "initial_layer_line_width" || opt_key == "min_layer_height" || opt_key == "max_layer_height" - || opt_key == "resolution" + //|| opt_key == "resolution" //BBS: when enable arc fitting, we must re-generate perimeter || opt_key == "enable_arc_fitting" || opt_key == "wall_infill_order") { @@ -912,9 +914,29 @@ StringObjectException Print::validate(StringObjectException *warning, Polygons* return { L("No extrusions under current settings.") }; if (extruders.size() > 1 && m_config.print_sequence != PrintSequence::ByObject) { - auto ret = check_multi_filament_valid(*this); - if (!ret.string.empty()) - return ret; + if (m_config.single_extruder_multi_material) { + auto ret = check_multi_filament_valid(*this); + if (!ret.string.empty()) + return ret; + } + + if (warning) { + for (unsigned int extruder_a: extruders) { + const ConfigOptionInts* bed_temp_opt = m_config.option(get_bed_temp_key(m_config.curr_bed_type)); + const ConfigOptionInts* bed_temp_1st_opt = m_config.option(get_bed_temp_1st_layer_key(m_config.curr_bed_type)); + int bed_temp_a = bed_temp_opt->get_at(extruder_a); + int bed_temp_1st_a = bed_temp_1st_opt->get_at(extruder_a); + for (unsigned int extruder_b: extruders) { + int bed_temp_b = bed_temp_opt->get_at(extruder_b); + int bed_temp_1st_b = bed_temp_1st_opt->get_at(extruder_b); + if (std::abs(bed_temp_a - bed_temp_b) > 15 || std::abs(bed_temp_1st_a - bed_temp_1st_b) > 15) { + warning->string = L("Bed temperatures for the used filaments differ significantly."); + goto DONE; + } + } + } + DONE:; + } } if (m_config.print_sequence == PrintSequence::ByObject) { diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index cad02355a1..451bb09ded 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -1008,7 +1008,7 @@ void PrintConfigDef::init_fff_params() def = this->add("internal_bridge_support_thickness", coFloat); def->label = L("Internal bridge support thickness"); def->category = L("Strength"); - def->tooltip = L("If enabled, Studio will generate support loops under the contours of internal bridges." + def->tooltip = L("If enabled, support loops will be generated under the contours of internal bridges." "These support loops could prevent internal bridges from extruding over the air and improve the top surface quality, especially when the sparse infill density is low." "This value determines the thickness of the support loops. 0 means disable this feature"); def->sidetext = L("mm"); @@ -1434,6 +1434,55 @@ void PrintConfigDef::init_fff_params() def->enum_labels.push_back(L("Lightning")); def->set_default_value(new ConfigOptionEnum(ipCubic)); + auto def_infill_anchor_min = def = this->add("infill_anchor", coFloatOrPercent); + def->label = L("Sparse infill anchor length"); + def->category = L("Strength"); + def->tooltip = L("Connect an infill line to an internal perimeter with a short segment of an additional perimeter. " + "If expressed as percentage (example: 15%) it is calculated over infill extrusion width. Slic3r tries to connect two close infill lines to a short perimeter segment. If no such perimeter segment " + "shorter than infill_anchor_max is found, the infill line is connected to a perimeter segment at just one side " + "and the length of the perimeter segment taken is limited to this parameter, but no longer than anchor_length_max. " + "\nSet this parameter to zero to disable anchoring perimeters connected to a single infill line."); + def->sidetext = L("mm or %"); + def->ratio_over = "sparse_infill_line_width"; + def->max_literal = 1000; + def->gui_type = ConfigOptionDef::GUIType::f_enum_open; + def->enum_values.push_back("0"); + def->enum_values.push_back("1"); + def->enum_values.push_back("2"); + def->enum_values.push_back("5"); + def->enum_values.push_back("10"); + def->enum_values.push_back("1000"); + def->enum_labels.push_back(L("0 (no open anchors)")); + def->enum_labels.push_back("1 mm"); + def->enum_labels.push_back("2 mm"); + def->enum_labels.push_back("5 mm"); + def->enum_labels.push_back("10 mm"); + def->enum_labels.push_back(L("1000 (unlimited)")); + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionFloatOrPercent(400, true)); + + def = this->add("infill_anchor_max", coFloatOrPercent); + def->label = L("Maximum length of the infill anchor"); + def->category = L("Strength"); + def->tooltip = L("Connect an infill line to an internal perimeter with a short segment of an additional perimeter. " + "If expressed as percentage (example: 15%) it is calculated over infill extrusion width. Slic3r tries to connect two close infill lines to a short perimeter segment. If no such perimeter segment " + "shorter than this parameter is found, the infill line is connected to a perimeter segment at just one side " + "and the length of the perimeter segment taken is limited to infill_anchor, but no longer than this parameter. " + "\nIf set to 0, the old algorithm for infill connection will be used, it should create the same result as with 1000 & 0."); + def->sidetext = def_infill_anchor_min->sidetext; + def->ratio_over = def_infill_anchor_min->ratio_over; + def->gui_type = def_infill_anchor_min->gui_type; + def->enum_values = def_infill_anchor_min->enum_values; + def->max_literal = def_infill_anchor_min->max_literal; + def->enum_labels.push_back(L("0 (Simple connect)")); + def->enum_labels.push_back("1 mm"); + def->enum_labels.push_back("2 mm"); + def->enum_labels.push_back("5 mm"); + def->enum_labels.push_back("10 mm"); + def->enum_labels.push_back(L("1000 (unlimited)")); + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionFloatOrPercent(20, false)); + def = this->add("outer_wall_acceleration", coFloat); def->label = L("Outer wall"); def->tooltip = L("Acceleration of outer walls"); @@ -1784,7 +1833,8 @@ void PrintConfigDef::init_fff_params() def->set_default_value(new ConfigOptionBool(false)); def = this->add("fan_speedup_time", coFloat); - def->label = L("Fan Speedup Time"); + // Label is set in Tab.cpp in the Line object. + //def->label = L("Fan speed-up time"); def->tooltip = L("Start the fan this number of seconds earlier than its target start time (you can use fractional seconds)." " It assumes infinite acceleration for this time estimation, and will only take into account G1 and G0 moves (arc fitting" " is unsupported)." @@ -2563,6 +2613,12 @@ void PrintConfigDef::init_fff_params() def->enum_labels.push_back(L("Random")); def->mode = comSimple; def->set_default_value(new ConfigOptionEnum(spAligned)); + + def = this->add("staggered_inner_seams", coBool); + def->label = L("Staggered inner seams"); + def->tooltip = L("This option causes the inner seams to be shifted backwards based on their depth, forming a zigzag pattern."); + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionBool(false)); def = this->add("seam_gap", coFloatOrPercent); def->label = L("Seam gap"); @@ -2584,7 +2640,7 @@ void PrintConfigDef::init_fff_params() def->label = L("Wipe on loops"); def->tooltip = L("To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop."); def->mode = comAdvanced; - def->set_default_value(new ConfigOptionBool(true)); + def->set_default_value(new ConfigOptionBool(false)); def = this->add("wipe_speed", coFloatOrPercent); def->label = L("Wipe speed"); @@ -2641,6 +2697,15 @@ void PrintConfigDef::init_fff_params() def->mode = comSimple; def->set_default_value(new ConfigOptionInt(1)); + def = this->add("skirt_speed", coFloat); + def->label = L("Skirt speed"); + def->full_label = L("Skirt speed"); + def->tooltip = L("Speed of skirt, in mm/s. Zero means use default layer extrusion speed."); + def->min = 0; + def->sidetext = L("mm/s"); + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionFloat(0.0)); + def = this->add("slow_down_layer_time", coFloats); def->label = L("Layer time"); def->tooltip = L("The printing speed in exported gcode will be slowed down, when the estimated layer time is shorter than this value, to " @@ -3286,7 +3351,7 @@ void PrintConfigDef::init_fff_params() def->sidetext = L("mm"); def->min = 0; def->mode = comAdvanced; - def->set_default_value(new ConfigOptionFloats { 2. }); + def->set_default_value(new ConfigOptionFloats { 1. }); def = this->add("enable_prime_tower", coBool); def->label = L("Enable"); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index ea78f20863..5ad5122e50 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -646,6 +646,7 @@ PRINT_CONFIG_CLASS_DEFINE( ((ConfigOptionFloat, raft_first_layer_expansion)) ((ConfigOptionInt, raft_layers)) ((ConfigOptionEnum, seam_position)) + ((ConfigOptionBool, staggered_inner_seams)) ((ConfigOptionFloat, slice_closing_radius)) ((ConfigOptionEnum, slicing_mode)) ((ConfigOptionBool, enable_support)) @@ -780,9 +781,8 @@ PRINT_CONFIG_CLASS_DEFINE( ((ConfigOptionFloat, small_perimeter_threshold)) ((ConfigOptionFloat, top_solid_infill_flow_ratio)) ((ConfigOptionFloat, bottom_solid_infill_flow_ratio)) - - - + ((ConfigOptionFloatOrPercent, infill_anchor)) + ((ConfigOptionFloatOrPercent, infill_anchor_max)) ) @@ -969,6 +969,7 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE( ((ConfigOptionFloat, skirt_distance)) ((ConfigOptionInt, skirt_height)) ((ConfigOptionInt, skirt_loops)) + ((ConfigOptionFloat, skirt_speed)) ((ConfigOptionFloats, slow_down_layer_time)) ((ConfigOptionBool, spiral_mode)) ((ConfigOptionInt, standby_temperature_delta)) diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index bbaa16a34f..890d7aab8a 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -831,6 +831,8 @@ bool PrintObject::invalidate_state_by_config_options( || opt_key == "bottom_surface_pattern" || opt_key == "external_fill_link_max_length" || opt_key == "sparse_infill_pattern" + || opt_key == "infill_anchor" + || opt_key == "infill_anchor_max" || opt_key == "top_surface_line_width" || opt_key == "initial_layer_line_width") { steps.emplace_back(posInfill); diff --git a/src/libslic3r/PrintObjectSlice.cpp b/src/libslic3r/PrintObjectSlice.cpp index d12cc3ff0e..8be854289c 100644 --- a/src/libslic3r/PrintObjectSlice.cpp +++ b/src/libslic3r/PrintObjectSlice.cpp @@ -140,7 +140,7 @@ static std::vector slice_volumes_inner( params_base.trafo = object_trafo; //BBS: 0.0025mm is safe enough to simplify the data to speed slicing up for high-resolution model. //Also has on influence on arc fitting which has default resolution 0.0125mm. - params_base.resolution = 0.0025; + params_base.resolution = print_config.resolution <= 0.001 ? 0.0f : 0.0025; switch (print_object_config.slicing_mode.value) { case SlicingMode::Regular: params_base.mode = MeshSlicingParams::SlicingMode::Regular; break; case SlicingMode::EvenOdd: params_base.mode = MeshSlicingParams::SlicingMode::EvenOdd; break; diff --git a/src/libslic3r/TreeSupport.cpp b/src/libslic3r/TreeSupport.cpp index 2eca6b343a..31db2d1488 100644 --- a/src/libslic3r/TreeSupport.cpp +++ b/src/libslic3r/TreeSupport.cpp @@ -1378,6 +1378,10 @@ void TreeSupport::generate_toolpaths() coordf_t layer_height = object_config.layer_height.value; const size_t wall_count = object_config.tree_support_wall_count.value; + // Check if set to zero, use default if so. + if (support_extrusion_width <= 0.0) + support_extrusion_width = Flow::auto_extrusion_width(FlowRole::frSupportMaterial, (float)nozzle_diameter); + // coconut: use same intensity settings as SupportMaterial.cpp auto m_support_material_interface_flow = support_material_interface_flow(m_object, float(m_slicing_params.layer_height)); coordf_t interface_spacing = object_config.support_interface_spacing.value + m_support_material_interface_flow.spacing(); diff --git a/src/slic3r/GUI/3DBed.cpp b/src/slic3r/GUI/3DBed.cpp index 0c8d645882..b9243e99f8 100644 --- a/src/slic3r/GUI/3DBed.cpp +++ b/src/slic3r/GUI/3DBed.cpp @@ -18,7 +18,12 @@ #include #include #include + +#if BOOST_VERSION >= 107800 +#include +#else #include +#endif static const float GROUND_Z = -0.04f; static const std::array DEFAULT_MODEL_COLOR = { 0.3255f, 0.337f, 0.337f, 1.0f }; diff --git a/src/slic3r/GUI/AMSMaterialsSetting.cpp b/src/slic3r/GUI/AMSMaterialsSetting.cpp index 743c454a6a..79cc464f19 100644 --- a/src/slic3r/GUI/AMSMaterialsSetting.cpp +++ b/src/slic3r/GUI/AMSMaterialsSetting.cpp @@ -669,17 +669,6 @@ void AMSMaterialsSetting::on_clr_picker(wxMouseEvent &event) m_color_picker_popup.set_ams_colours(ams_colors); m_color_picker_popup.set_def_colour(m_clr_picker->m_colour); m_color_picker_popup.Popup(); - - /*auto clr_dialog = new wxColourDialog(this, m_clrData); - if (clr_dialog->ShowModal() == wxID_OK) { - m_clrData = &(clr_dialog->GetColourData()); - m_clr_picker->SetBackgroundColor(wxColour( - m_clrData->GetColour().Red(), - m_clrData->GetColour().Green(), - m_clrData->GetColour().Blue(), - 254 - )); - }*/ } bool AMSMaterialsSetting::is_virtual_tray() @@ -1114,7 +1103,7 @@ ColorPickerPopup::ColorPickerPopup(wxWindow* parent) } wxBoxSizer* m_sizer_other = new wxBoxSizer(wxHORIZONTAL); - auto m_title_other = new wxStaticText(m_def_color_box, wxID_ANY, _L("Other color"), wxDefaultPosition, wxDefaultSize, 0); + auto m_title_other = new wxStaticText(m_def_color_box, wxID_ANY, _L("Other Color"), wxDefaultPosition, wxDefaultSize, 0); m_title_other->SetFont(::Label::Body_14); m_title_other->SetBackgroundColour(wxColour(238, 238, 238)); m_sizer_other->Add(m_title_other, 0, wxALL, 5); @@ -1124,11 +1113,43 @@ ColorPickerPopup::ColorPickerPopup(wxWindow* parent) other_line->SetBackgroundColour(wxColour(0xCECECE)); m_sizer_other->Add(other_line, 1, wxALIGN_CENTER, 0); + //custom color + wxBoxSizer* m_sizer_custom = new wxBoxSizer(wxHORIZONTAL); + auto m_title_custom = new wxStaticText(m_def_color_box, wxID_ANY, _L("Custom Color"), wxDefaultPosition, wxDefaultSize, 0); + m_title_custom->SetFont(::Label::Body_14); + m_title_custom->SetBackgroundColour(wxColour(238, 238, 238)); + auto custom_line = new wxPanel(m_def_color_box, wxID_ANY, wxDefaultPosition, wxSize(-1, 1), wxTAB_TRAVERSAL); + custom_line->SetBackgroundColour(wxColour(0xCECECE)); + custom_line->SetMinSize(wxSize(-1, 1)); + custom_line->SetMaxSize(wxSize(-1, 1)); + m_sizer_custom->Add(m_title_custom, 0, wxALL, 5); + m_sizer_custom->Add(custom_line, 1, wxALIGN_CENTER, 0); + + m_custom_cp = new StaticBox(m_def_color_box); + m_custom_cp->SetSize(FromDIP(60), FromDIP(25)); + m_custom_cp->SetMinSize(wxSize(FromDIP(60), FromDIP(25))); + m_custom_cp->SetMaxSize(wxSize(FromDIP(60), FromDIP(25))); + m_custom_cp->SetBorderColor(StateColor(std::pair(wxColour(238, 238, 238), StateColor::Normal))); + m_custom_cp->Bind(wxEVT_LEFT_DOWN, &ColorPickerPopup::on_custom_clr_picker, this); + m_custom_cp->Bind(wxEVT_ENTER_WINDOW, [this](auto& e) { + SetCursor(wxCURSOR_HAND); + }); + m_custom_cp->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) { + SetCursor(wxCURSOR_ARROW); + }); + + m_clrData = new wxColourData(); + m_clrData->SetChooseFull(true); + m_clrData->SetChooseAlpha(false); + + m_sizer_box->Add(0, 0, 0, wxTOP, FromDIP(10)); m_sizer_box->Add(m_sizer_ams, 1, wxEXPAND|wxLEFT|wxRIGHT, FromDIP(10)); m_sizer_box->Add(m_ams_fg_sizer, 0, wxEXPAND|wxLEFT|wxRIGHT, FromDIP(10)); m_sizer_box->Add(m_sizer_other, 1, wxEXPAND|wxLEFT|wxRIGHT, FromDIP(10)); m_sizer_box->Add(fg_sizer, 0, wxEXPAND|wxLEFT|wxRIGHT, FromDIP(10)); + m_sizer_box->Add(m_sizer_custom, 0, wxEXPAND|wxLEFT|wxRIGHT, FromDIP(10)); + m_sizer_box->Add(m_custom_cp, 0, wxEXPAND|wxLEFT|wxRIGHT, FromDIP(16)); m_sizer_box->Add(0, 0, 0, wxTOP, FromDIP(10)); @@ -1145,6 +1166,28 @@ ColorPickerPopup::ColorPickerPopup(wxWindow* parent) wxGetApp().UpdateDarkUIWin(this); } +void ColorPickerPopup::on_custom_clr_picker(wxMouseEvent& event) +{ + auto clr_dialog = new wxColourDialog(nullptr, m_clrData); + wxColour picker_color; + + if (clr_dialog->ShowModal() == wxID_OK) { + m_clrData = &(clr_dialog->GetColourData()); + + picker_color = wxColour( + m_clrData->GetColour().Red(), + m_clrData->GetColour().Green(), + m_clrData->GetColour().Blue(), + 254 + ); + m_custom_cp->SetBackgroundColor(picker_color); + set_def_colour(picker_color); + wxCommandEvent evt(EVT_SELECTED_COLOR); + unsigned long g_col = ((picker_color.Red() & 0xff) << 16) + ((picker_color.Green() & 0xff) << 8) + (picker_color.Blue() & 0xff); + evt.SetInt(g_col); + wxPostEvent(GetParent(), evt); + } +} void ColorPickerPopup::set_ams_colours(std::vector ams) { @@ -1202,6 +1245,8 @@ void ColorPickerPopup::set_def_colour(wxColour col) } } + m_custom_cp->SetBackgroundColor(m_def_col); + Dismiss(); } diff --git a/src/slic3r/GUI/AMSMaterialsSetting.hpp b/src/slic3r/GUI/AMSMaterialsSetting.hpp index 6c0b38e408..60d7e17c0c 100644 --- a/src/slic3r/GUI/AMSMaterialsSetting.hpp +++ b/src/slic3r/GUI/AMSMaterialsSetting.hpp @@ -54,6 +54,8 @@ public: class ColorPickerPopup : public PopupWindow { public: + StaticBox* m_custom_cp; + wxColourData* m_clrData; StaticBox* m_def_color_box; wxFlexGridSizer* m_ams_fg_sizer; wxColour m_def_col; @@ -65,6 +67,7 @@ public: public: ColorPickerPopup(wxWindow* parent); ~ColorPickerPopup() {}; + void on_custom_clr_picker(wxMouseEvent& event); void set_ams_colours(std::vector ams); void set_def_colour(wxColour col); void paintEvent(wxPaintEvent& evt); diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index cef3bc24c9..fe956d04b3 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -540,15 +540,19 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co bool have_perimeters = config->opt_int("wall_loops") > 0; for (auto el : { "ensure_vertical_shell_thickness", "detect_thin_wall", "detect_overhang_wall", - "seam_position", "wall_infill_order", "outer_wall_line_width", + "seam_position", "staggered_inner_seams", "wall_infill_order", "outer_wall_line_width", "inner_wall_speed", "outer_wall_speed", "small_perimeter_speed", "small_perimeter_threshold" }) toggle_field(el, have_perimeters); bool have_infill = config->option("sparse_infill_density")->value > 0; // sparse_infill_filament uses the same logic as in Print::extruders() for (auto el : { "sparse_infill_pattern", "infill_combination", - "minimum_sparse_infill_area", "sparse_infill_filament"}) + "minimum_sparse_infill_area", "sparse_infill_filament", "infill_anchor_max"}) toggle_line(el, have_infill); + + // Only allow configuration of open anchors if the anchoring is enabled. + bool has_infill_anchors = have_infill && config->option("infill_anchor_max")->value > 0; + toggle_field("infill_anchor", has_infill_anchors); bool has_spiral_vase = config->opt_bool("spiral_mode"); bool has_top_solid_infill = config->opt_int("top_shell_layers") > 0; diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 6f619ec8eb..fbff3def3f 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -3627,7 +3627,7 @@ int MachineObject::parse_json(std::string payload) if (j.contains("upgrade")) { if (j["upgrade"].contains("command")) { if (j["upgrade"]["command"].get() == "upgrade_confirm") { - this->upgrade_display_state == UpgradingInProgress; + this->upgrade_display_state = (int)UpgradingDisplayState::UpgradingInProgress; upgrade_display_hold_count = HOLD_COUNT_MAX; BOOST_LOG_TRIVIAL(info) << "ack of upgrade_confirm"; } diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 84ada0d0e0..ac7ea22c90 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -3085,7 +3085,7 @@ void GUI_App::init_fonts() // wxSYS_OEM_FIXED_FONT and wxSYS_ANSI_FIXED_FONT use the same as // DEFAULT in wxGtk. Use the TELETYPE family as a work-around m_code_font = wxFont(wxFontInfo().Family(wxFONTFAMILY_TELETYPE)); - m_code_font.SetPointSize(m_normal_font.GetPointSize()); + m_code_font.SetPointSize(m_small_font.GetPointSize()); } void GUI_App::update_fonts(const MainFrame *main_frame) @@ -3102,7 +3102,7 @@ void GUI_App::update_fonts(const MainFrame *main_frame) m_bold_font = m_normal_font.Bold(); m_link_font = m_bold_font.Underlined(); m_em_unit = main_frame->em_unit(); - m_code_font.SetPointSize(m_normal_font.GetPointSize()); + m_code_font.SetPointSize(m_small_font.GetPointSize()); } void GUI_App::set_label_clr_modified(const wxColour& clr) diff --git a/src/slic3r/GUI/GUI_Factories.cpp b/src/slic3r/GUI/GUI_Factories.cpp index 8612de690f..624a89d694 100644 --- a/src/slic3r/GUI/GUI_Factories.cpp +++ b/src/slic3r/GUI/GUI_Factories.cpp @@ -95,7 +95,7 @@ std::map> SettingsFactory::PART_CAT }}, { L("Strength"), {{"wall_loops", "",1},{"top_shell_layers", L("Top Solid Layers"),1},{"top_shell_thickness", L("Top Minimum Shell Thickness"),1}, {"bottom_shell_layers", L("Bottom Solid Layers"),1}, {"bottom_shell_thickness", L("Bottom Minimum Shell Thickness"),1}, - {"sparse_infill_density", "",1},{"sparse_infill_pattern", "",1},{"top_surface_pattern", "",1},{"bottom_surface_pattern", "",1}, + {"sparse_infill_density", "",1},{"sparse_infill_pattern", "",1},{"infill_anchor", "",1},{"infill_anchor_max", "",1},{"top_surface_pattern", "",1},{"bottom_surface_pattern", "",1}, {"infill_combination", "",1}, {"infill_wall_overlap", "",1}, {"infill_direction", "",1}, {"bridge_angle", "",1}, {"minimum_sparse_infill_area", "",1} }}, { L("Speed"), {{"outer_wall_speed", "",1},{"inner_wall_speed", "",2},{"sparse_infill_speed", "",3},{"top_surface_speed", "",4}, {"internal_solid_infill_speed", "",5}, @@ -490,13 +490,13 @@ wxMenu* MenuFactory::append_submenu_add_generic(wxMenu* menu, ModelVolumeType ty [type, item](wxCommandEvent &) { std::vector input_files; std::string file_name = item; - if (file_name == "Orca Cube") + if (file_name == L("Orca Cube")) file_name = "OrcaCube_v2.3mf"; - else if (file_name == "3DBenchy") + else if (file_name == L("3DBenchy")) file_name = "3DBenchy.stl"; - else if (file_name == "Autodesk FDM Test") + else if (file_name == L("Autodesk FDM Test")) file_name = "ksr_fdmtest_v4.stl"; - else if (file_name == "Voron Cube") + else if (file_name == L("Voron Cube")) file_name = "Voron_Design_Cube_v7.stl"; else return; diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index f2c236c3eb..1b676ab67f 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -2900,7 +2900,10 @@ DynamicPrintConfig ObjectList::get_default_layer_config(const int obj_idx) wxGetApp().preset_bundle->prints.get_edited_preset().config.opt_float("layer_height"); config.set_key_value("layer_height",new ConfigOptionFloat(layer_height)); // BBS - config.set_key_value("extruder", new ConfigOptionInt(1)); + int extruder = object(obj_idx)->config.has("extruder") ? + object(obj_idx)->config.opt_int("extruder") : + wxGetApp().preset_bundle->prints.get_edited_preset().config.opt_float("extruder"); + config.set_key_value("extruder", new ConfigOptionInt(extruder)); return config; } @@ -3314,7 +3317,7 @@ void ObjectList::part_selection_changed() Sidebar& panel = wxGetApp().sidebar(); panel.Freeze(); - wxGetApp().plater()->canvas3D()->handle_sidebar_focus_event("", false); + //wxGetApp().plater()->canvas3D()->handle_sidebar_focus_event("", false); // BBS //wxGetApp().obj_manipul() ->UpdateAndShow(update_and_show_manipulations); wxGetApp().obj_settings()->UpdateAndShow(update_and_show_settings); diff --git a/src/slic3r/GUI/Gizmos/GLGizmoText.cpp b/src/slic3r/GUI/Gizmos/GLGizmoText.cpp index 19902d0fdb..b249b06cd8 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoText.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoText.cpp @@ -771,10 +771,12 @@ void GLGizmoText::on_render_input_window(float x, float y, float bottom_limit) m_imgui->text(_L("Thickness")); ImGui::SameLine(caption_size); ImGui::PushItemWidth(list_width); - if(ImGui::InputFloat("###text_thickness", &m_thickness,0.0f, 0.0f, "%.2f")) - m_need_update_text = true; + float old_value = m_thickness; + ImGui::InputFloat("###text_thickness", &m_thickness, 0.0f, 0.0f, "%.2f"); if (m_thickness < 0.1f) m_thickness = 0.1f; + if (old_value != m_thickness) + m_need_update_text = true; const float slider_icon_width = m_imgui->get_slider_icon_size().x; const float slider_width = list_width - 1.5 * slider_icon_width - space_size; @@ -806,10 +808,12 @@ void GLGizmoText::on_render_input_window(float x, float y, float bottom_limit) m_imgui->text(_L("Embeded\ndepth")); ImGui::SameLine(caption_size); ImGui::PushItemWidth(list_width); - if (ImGui::InputFloat("###text_embeded_depth", &m_embeded_depth, 0.0f, 0.0f, "%.2f")) - m_need_update_text = true; + old_value = m_embeded_depth; + ImGui::InputFloat("###text_embeded_depth", &m_embeded_depth, 0.0f, 0.0f, "%.2f"); if (m_embeded_depth < 0.f) m_embeded_depth = 0.f; + if (old_value != m_embeded_depth) + m_need_update_text = true; ImGui::AlignTextToFramePadding(); m_imgui->text(_L("Input text")); @@ -1468,6 +1472,11 @@ void GLGizmoText::generate_text_volume(bool is_temp) TextInfo text_info = get_text_info(); if (m_is_modify && m_need_update_text) { + if (m_object_idx == -1 || m_volume_idx == -1) { + BOOST_LOG_TRIVIAL(error) << boost::format("Text: selected object_idx = %1%, volume_idx = %2%") % m_object_idx % m_volume_idx; + return; + } + plater->take_snapshot("Modify Text"); const Selection &selection = m_parent.get_selection(); ModelObject * model_object = selection.get_model()->objects[m_object_idx]; diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 27cc5d729b..27dc7f8b65 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -160,6 +160,12 @@ static wxIcon main_frame_icon(GUI_App::EAppMode app_mode) wxDEFINE_EVENT(EVT_SYNC_CLOUD_PRESET, SimpleEvent); +#ifdef __APPLE__ +static const wxString ctrl = ("Ctrl+"); +#else +static const wxString ctrl = _L("Ctrl+"); +#endif + MainFrame::MainFrame() : DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_STYLE, "mainframe") , m_printhost_queue_dlg(new PrintHostQueueDialog(this)) @@ -331,10 +337,10 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_ }); //BBS - // Bind(EVT_SELECT_TAB, [this](wxCommandEvent&evt) { - // TabPosition pos = (TabPosition)evt.GetInt(); - // m_tabpanel->SetSelection(pos); - // }); + Bind(EVT_SELECT_TAB, [this](wxCommandEvent&evt) { + TabPosition pos = (TabPosition)evt.GetInt(); + m_tabpanel->SetSelection(pos); + }); Bind(EVT_SYNC_CLOUD_PRESET, &MainFrame::on_select_default_preset, this); @@ -2026,7 +2032,6 @@ static void add_common_publish_menu_items(wxMenu* publish_menu, MainFrame* mainF static void add_common_view_menu_items(wxMenu* view_menu, MainFrame* mainFrame, std::function can_change_view) { - const wxString ctrl = _L("Ctrl+"); // The camera control accelerators are captured by GLCanvas3D::on_char(). append_menu_item(view_menu, wxID_ANY, _L("Default View") + "\t" + ctrl + "0", _L("Default View"), [mainFrame](wxCommandEvent&) { mainFrame->select_view("plate"); @@ -2056,8 +2061,6 @@ void MainFrame::init_menubar_as_editor() wxMenuBar::SetAutoWindowMenu(false); m_menubar = new wxMenuBar(); #endif - - const wxString ctrl = _L("Ctrl+"); // File menu wxMenu* fileMenu = new wxMenu; @@ -2628,7 +2631,13 @@ void MainFrame::init_menubar_as_editor() m_retraction_calib_dlg->ShowModal(); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); - + + append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Orca Tolerance Test"), _L("Orca Tolerance Test"), + [this](wxCommandEvent&) { + m_plater->new_project(); + m_plater->add_model(false, Slic3r::resources_dir() + "/calib/tolerance_test/OrcaToleranceTest.stl"); + }, "", nullptr, + [this]() {return m_plater->is_view3D_shown();; }, this); // Advance calibrations auto advance_menu = new wxMenu(); @@ -2708,6 +2717,14 @@ void MainFrame::init_menubar_as_editor() }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); + // Tolerance Test + append_menu_item(calib_menu, wxID_ANY, _L("Orca Tolerance Test"), _L("Orca Tolerance Test"), + [this](wxCommandEvent&) { + m_plater->new_project(); + m_plater->add_model(false, Slic3r::resources_dir() + "/calib/tolerance_test/OrcaToleranceTest.stl"); + }, "", nullptr, + [this]() {return m_plater->is_view3D_shown();; }, this); + // Advance calibrations auto advance_menu = new wxMenu(); append_menu_item( @@ -2725,7 +2742,8 @@ void MainFrame::init_menubar_as_editor() m_vfa_test_dlg = new VFA_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); m_vfa_test_dlg->ShowModal(); }, "", nullptr, - [this]() {return m_plater->is_view3D_shown();; }, this); + [this]() {return m_plater->is_view3D_shown();; }, this); + append_submenu(calib_menu, advance_menu, wxID_ANY, _L("More..."), _L("More calibrations"), "", [this]() {return m_plater->is_view3D_shown();; }); // help diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 32094143df..0801ca19b9 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2231,7 +2231,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) //BBS: add bed_exclude_area , config(Slic3r::DynamicPrintConfig::new_from_defaults_keys({ "printable_area", "bed_exclude_area", "bed_custom_texture", "bed_custom_model", "print_sequence", - "extruder_clearance_radius", "extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod", "skirt_loops", "skirt_distance", + "extruder_clearance_radius", "extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod", "skirt_loops", "skirt_speed", "skirt_distance", "brim_width", "brim_object_gap", "brim_type", "nozzle_diameter", "single_extruder_multi_material", "enable_prime_tower", "wipe_tower_x", "wipe_tower_y", "prime_tower_width", "prime_tower_brim_width", "prime_volume", "extruder_colour", "filament_colour", "material_colour", "printable_height", "printer_model", "printer_technology", @@ -8384,16 +8384,6 @@ void Plater::calib_retraction(const Calib_Params& params) auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config; auto obj = model().objects[0]; - //auto bed_shape = printer_config->option("printable_area")->values; - //BoundingBoxf bed_ext = get_extents(bed_shape); - //auto scale_obj = (bed_ext.size().x() - 10) / obj->bounding_box().size().x(); - //if (scale_obj < 1.0) - // obj->scale(scale_obj, 1, 1); - - //const ConfigOptionFloats* nozzle_diameter_config = printer_config->option("nozzle_diameter"); - //assert(nozzle_diameter_config->values.size() > 0); - //double nozzle_diameter = nozzle_diameter_config->values[0]; - //double line_width = nozzle_diameter * 1.75; double layer_height = 0.2; auto max_lh = printer_config->option("max_layer_height"); @@ -8402,22 +8392,16 @@ void Plater::calib_retraction(const Calib_Params& params) obj->config.set_key_value("wall_loops", new ConfigOptionInt(2)); obj->config.set_key_value("top_shell_layers", new ConfigOptionInt(0)); - obj->config.set_key_value("bottom_shell_layers", new ConfigOptionInt(1)); + obj->config.set_key_value("bottom_shell_layers", new ConfigOptionInt(3)); obj->config.set_key_value("sparse_infill_density", new ConfigOptionPercent(0)); obj->config.set_key_value("initial_layer_print_height", new ConfigOptionFloat(layer_height)); obj->config.set_key_value("layer_height", new ConfigOptionFloat(layer_height)); changed_objects({ 0 }); - //wxGetApp().get_tab(Preset::TYPE_PRINT)->update_dirty(); - //wxGetApp().get_tab(Preset::TYPE_FILAMENT)->update_dirty(); - //wxGetApp().get_tab(Preset::TYPE_PRINTER)->update_dirty(); - //wxGetApp().get_tab(Preset::TYPE_PRINT)->reload_config(); - //wxGetApp().get_tab(Preset::TYPE_FILAMENT)->reload_config(); - //wxGetApp().get_tab(Preset::TYPE_PRINTER)->reload_config(); // cut upper auto obj_bb = obj->bounding_box(); - auto height = (params.end - params.start + 1) / params.step; + auto height = 1.0 + 0.4 + ((params.end - params.start)) / params.step; if (height < obj_bb.size().z()) { std::array plane_pts = get_cut_plane(obj_bb, height); cut(0, 0, plane_pts, ModelObjectCutAttribute::KeepLower); diff --git a/src/slic3r/GUI/PrinterWebView.cpp b/src/slic3r/GUI/PrinterWebView.cpp index 13102fd981..5830d13798 100644 --- a/src/slic3r/GUI/PrinterWebView.cpp +++ b/src/slic3r/GUI/PrinterWebView.cpp @@ -30,6 +30,8 @@ PrinterWebView::PrinterWebView(wxWindow *parent) return; } + Bind(wxEVT_WEBVIEW_ERROR, &PrinterWebView::OnError, this); + SetSizer(topsizer); topsizer->Add(m_browser, wxSizerFlags().Expand().Proportion(1)); @@ -83,6 +85,38 @@ void PrinterWebView::OnClose(wxCloseEvent& evt) this->Hide(); } +void PrinterWebView::OnError(wxWebViewEvent &evt) +{ + auto e = "unknown error"; + switch (evt.GetInt()) { + case wxWEBVIEW_NAV_ERR_CONNECTION: + e = "wxWEBVIEW_NAV_ERR_CONNECTION"; + break; + case wxWEBVIEW_NAV_ERR_CERTIFICATE: + e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; + break; + case wxWEBVIEW_NAV_ERR_AUTH: + e = "wxWEBVIEW_NAV_ERR_AUTH"; + break; + case wxWEBVIEW_NAV_ERR_SECURITY: + e = "wxWEBVIEW_NAV_ERR_SECURITY"; + break; + case wxWEBVIEW_NAV_ERR_NOT_FOUND: + e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; + break; + case wxWEBVIEW_NAV_ERR_REQUEST: + e = "wxWEBVIEW_NAV_ERR_REQUEST"; + break; + case wxWEBVIEW_NAV_ERR_USER_CANCELLED: + e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; + break; + case wxWEBVIEW_NAV_ERR_OTHER: + e = "wxWEBVIEW_NAV_ERR_OTHER"; + break; + } + BOOST_LOG_TRIVIAL(info) << __FUNCTION__<< boost::format(": error loading page %1% %2% %3% %4%") %evt.GetURL() %evt.GetTarget() %e %evt.GetString(); +} + } // GUI diff --git a/src/slic3r/GUI/PrinterWebView.hpp b/src/slic3r/GUI/PrinterWebView.hpp index 4356268d69..bdf5f4c68f 100644 --- a/src/slic3r/GUI/PrinterWebView.hpp +++ b/src/slic3r/GUI/PrinterWebView.hpp @@ -38,6 +38,7 @@ public: void load_url(wxString& url); void UpdateState(); void OnClose(wxCloseEvent& evt); + void OnError(wxWebViewEvent& evt); private: diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index f2a87069bc..bb9f7fb350 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -1845,6 +1845,7 @@ void TabPrint::build() optgroup = page->new_optgroup(L("Seam"), L"param_seam"); optgroup->append_single_option_line("seam_position", "Seam"); + optgroup->append_single_option_line("staggered_inner_seams", "Seam"); optgroup->append_single_option_line("seam_gap","Seam"); optgroup->append_single_option_line("role_based_wipe_speed","Seam"); optgroup->append_single_option_line("wipe_speed", "Seam"); @@ -1905,6 +1906,9 @@ void TabPrint::build() optgroup = page->new_optgroup(L("Infill"), L"param_infill"); optgroup->append_single_option_line("sparse_infill_density"); optgroup->append_single_option_line("sparse_infill_pattern", "fill-patterns#infill types and their properties of sparse"); + optgroup->append_single_option_line("infill_anchor"); + optgroup->append_single_option_line("infill_anchor_max"); + optgroup->append_single_option_line("filter_out_gap_fill"); optgroup = page->new_optgroup(L("Advanced"), L"param_advanced"); @@ -2030,6 +2034,7 @@ void TabPrint::build() optgroup->append_single_option_line("skirt_loops"); optgroup->append_single_option_line("skirt_distance"); optgroup->append_single_option_line("skirt_height"); + optgroup->append_single_option_line("skirt_speed"); //optgroup->append_single_option_line("draft_shield"); optgroup->append_single_option_line("brim_type", "auto-brim"); optgroup->append_single_option_line("brim_width", "auto-brim#manual"); @@ -3096,7 +3101,7 @@ void TabPrinter::build_fff() optgroup->append_single_option_line("machine_unload_filament_time"); optgroup = page->new_optgroup(L("Cooling Fan")); - Line line = Line{ L("Fan speedup time"), optgroup->get_option("fan_speedup_time").opt.tooltip }; + Line line = Line{ L("Fan speed-up time"), optgroup->get_option("fan_speedup_time").opt.tooltip }; line.append_option(optgroup->get_option("fan_speedup_time")); line.append_option(optgroup->get_option("fan_speedup_overhangs")); optgroup->append_line(line); diff --git a/src/slic3r/GUI/Widgets/WebView.cpp b/src/slic3r/GUI/Widgets/WebView.cpp index 74efaa67ba..36cf241eef 100644 --- a/src/slic3r/GUI/Widgets/WebView.cpp +++ b/src/slic3r/GUI/Widgets/WebView.cpp @@ -218,7 +218,7 @@ wxWebView* WebView::CreateWebView(wxWindow * parent, wxString const & url) #ifndef __WIN32__ }); #endif - webView->EnableContextMenu(false); + webView->EnableContextMenu(true); } else { BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": failed. Use fake web view."; webView = new FakeWebView; diff --git a/src/slic3r/GUI/calib_dlg.cpp b/src/slic3r/GUI/calib_dlg.cpp index 14fdc6b143..d08c8b3a01 100644 --- a/src/slic3r/GUI/calib_dlg.cpp +++ b/src/slic3r/GUI/calib_dlg.cpp @@ -347,7 +347,7 @@ void Temp_Calibration_Dlg::on_filament_type_changed(wxCommandEvent& event) { end = 230; break; case tPETG: - start = 260; + start = 250; end = 230; break; case tTPU: diff --git a/src/slic3r/Utils/Repetier.cpp b/src/slic3r/Utils/Repetier.cpp index 0569d97fae..63f4384289 100644 --- a/src/slic3r/Utils/Repetier.cpp +++ b/src/slic3r/Utils/Repetier.cpp @@ -156,7 +156,7 @@ bool Repetier::upload(PrintHostUpload upload_data, ProgressFn prorgess_fn, Error bool Repetier::validate_version_text(const boost::optional &version_text) const { - return version_text ? boost::starts_with(*version_text, "Repetier") : true; + return version_text ? (!version_text->empty()) : true; } void Repetier::set_auth(Http &http) const diff --git a/src/slic3r/Utils/TCPConsole.cpp b/src/slic3r/Utils/TCPConsole.cpp index 3c943cc632..277e3c0d5c 100644 --- a/src/slic3r/Utils/TCPConsole.cpp +++ b/src/slic3r/Utils/TCPConsole.cpp @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include #include #include @@ -41,7 +41,7 @@ void TCPConsole::transmit_next_command() boost::asio::async_write( m_socket, boost::asio::buffer(m_send_buffer), - boost::bind(&TCPConsole::handle_write, this, _1, _2) + boost::bind(&TCPConsole::handle_write, this, boost::placeholders::_1, boost::placeholders::_2) ); } @@ -52,7 +52,7 @@ void TCPConsole::wait_next_line() m_socket, m_recv_buffer, m_newline, - boost::bind(&TCPConsole::handle_read, this, _1, _2) + boost::bind(&TCPConsole::handle_read, this, boost::placeholders::_1, boost::placeholders::_2) ); } @@ -157,7 +157,7 @@ bool TCPConsole::run_queue() auto endpoints = m_resolver.resolve(m_host_name, m_port_name); m_socket.async_connect(endpoints->endpoint(), - boost::bind(&TCPConsole::handle_connect, this, _1) + boost::bind(&TCPConsole::handle_connect, this, boost::placeholders::_1) ); // Loop until we get any reasonable result. Negative result is also result. diff --git a/src/slic3r/Utils/bambu_networking.hpp b/src/slic3r/Utils/bambu_networking.hpp index 8e46f88c72..50f29aec3d 100644 --- a/src/slic3r/Utils/bambu_networking.hpp +++ b/src/slic3r/Utils/bambu_networking.hpp @@ -41,8 +41,7 @@ namespace BBL { #define BAMBU_NETWORK_LIBRARY "bambu_networking" #define BAMBU_NETWORK_AGENT_NAME "bambu_network_agent" -#define BAMBU_NETWORK_AGENT_VERSION "01.06.00.01" - +#define BAMBU_NETWORK_AGENT_VERSION "01.06.02.01" //iot preset type strings #define IOT_PRINTER_TYPE_STRING "printer" diff --git a/version.inc b/version.inc index 62938cd02d..53f3b7f9b6 100644 --- a/version.inc +++ b/version.inc @@ -10,5 +10,5 @@ endif() if(NOT DEFINED BBL_INTERNAL_TESTING) set(BBL_INTERNAL_TESTING "1") endif() -set(SoftFever_VERSION "1.6.3-beta") -set(SLIC3R_VERSION "01.06.00.66") \ No newline at end of file +set(SoftFever_VERSION "1.6.4-dev") +set(SLIC3R_VERSION "01.06.02.04") \ No newline at end of file