Fixed conflicts after merge with master
@ -227,6 +227,9 @@ endif(WIN32)
|
||||
|
||||
add_definitions(-DwxUSE_UNICODE -D_UNICODE -DUNICODE -DWXINTL_NO_GETTEXT_MACRO)
|
||||
|
||||
# Disable unsafe implicit wxString to const char* / std::string and vice versa. This implicit conversion breaks the UTF-8 encoding quite often.
|
||||
add_definitions(-DwxNO_UNSAFE_WXSTRING_CONV)
|
||||
|
||||
if (SLIC3R_PROFILE)
|
||||
message("PrusaSlicer will be built with a Shiny invasive profiler")
|
||||
add_definitions(-DSLIC3R_PROFILE)
|
||||
@ -325,13 +328,21 @@ find_package(TBB REQUIRED)
|
||||
# add_definitions(-DTBB_USE_CAPTURED_EXCEPTION=0)
|
||||
|
||||
find_package(CURL REQUIRED)
|
||||
include_directories(${CURL_INCLUDE_DIRS})
|
||||
|
||||
add_library(libcurl INTERFACE)
|
||||
target_link_libraries(libcurl INTERFACE CURL::libcurl)
|
||||
|
||||
if (NOT WIN32)
|
||||
# Required by libcurl
|
||||
find_package(ZLIB REQUIRED)
|
||||
target_link_libraries(libcurl INTERFACE ZLIB::ZLIB)
|
||||
endif()
|
||||
|
||||
if (SLIC3R_STATIC)
|
||||
if (NOT APPLE)
|
||||
# libcurl is always linked dynamically to the system libcurl on OSX.
|
||||
# On other systems, libcurl is linked statically if SLIC3R_STATIC is set.
|
||||
add_definitions(-DCURL_STATICLIB)
|
||||
target_compile_definitions(libcurl INTERFACE CURL_STATICLIB)
|
||||
endif()
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
# As of now, our build system produces a statically linked libcurl,
|
||||
@ -339,7 +350,8 @@ if (SLIC3R_STATIC)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
message("OpenSSL include dir: ${OPENSSL_INCLUDE_DIR}")
|
||||
message("OpenSSL libraries: ${OPENSSL_LIBRARIES}")
|
||||
include_directories(${OPENSSL_INCLUDE_DIR})
|
||||
target_include_directories(libcurl INTERFACE ${OPENSSL_INCLUDE_DIR})
|
||||
target_link_libraries(libcurl INTERFACE ${OPENSSL_LIBRARIES})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@ -397,7 +409,7 @@ find_package(cereal REQUIRED)
|
||||
# l10n
|
||||
set(L10N_DIR "${SLIC3R_RESOURCES_DIR}/localization")
|
||||
add_custom_target(gettext_make_pot
|
||||
COMMAND xgettext --keyword=L --keyword=L_CONTEXT:1,2c --keyword=_L_PLURAL:1,2 --add-comments=TRN --from-code=UTF-8 --debug
|
||||
COMMAND xgettext --keyword=L --keyword=_L --keyword=_u8L --keyword=L_CONTEXT:1,2c --keyword=_L_PLURAL:1,2 --add-comments=TRN --from-code=UTF-8 --debug
|
||||
-f "${L10N_DIR}/list.txt"
|
||||
-o "${L10N_DIR}/PrusaSlicer.pot"
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
|
18
deps/GMP/GMP.cmake
vendored
@ -17,11 +17,27 @@ if (MSVC)
|
||||
add_custom_target(dep_GMP SOURCES ${_output})
|
||||
|
||||
else ()
|
||||
set(_gmp_ccflags "-O2 -DNDEBUG -fPIC -DPIC -Wall -Wmissing-prototypes -Wpointer-arith -pedantic -fomit-frame-pointer -fno-common")
|
||||
set(_gmp_build_tgt "${CMAKE_SYSTEM_PROCESSOR}")
|
||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
||||
set(_gmp_ccflags "${_gmp_ccflags} -march=armv7-a") # Works on RPi-4
|
||||
set(_gmp_build_tgt armv7)
|
||||
endif()
|
||||
|
||||
if (APPLE)
|
||||
set(_gmp_ccflags "${_gmp_ccflags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||
set(_gmp_build_tgt "--build=${_gmp_build_tgt}-apple-darwin")
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
set(_gmp_build_tgt "--build=${_gmp_build_tgt}-pc-linux-gnu")
|
||||
else ()
|
||||
set(_gmp_build_tgt "") # let it guess
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(dep_GMP
|
||||
# URL https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2
|
||||
URL https://gmplib.org/download/gmp/gmp-6.2.0.tar.lz
|
||||
BUILD_IN_SOURCE ON
|
||||
CONFIGURE_COMMAND ./configure --enable-shared=no --enable-cxx=yes --enable-static=yes "--prefix=${DESTDIR}/usr/local" --with-pic
|
||||
CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure --enable-shared=no --enable-cxx=yes --enable-static=yes "--prefix=${DESTDIR}/usr/local" ${_gmp_build_tgt}
|
||||
BUILD_COMMAND make -j
|
||||
INSTALL_COMMAND make install
|
||||
)
|
||||
|
4
deps/MPFR/MPFR.cmake
vendored
@ -21,9 +21,9 @@ else ()
|
||||
ExternalProject_Add(dep_MPFR
|
||||
URL http://ftp.vim.org/ftp/gnu/mpfr/mpfr-3.1.6.tar.bz2 https://www.mpfr.org/mpfr-3.1.6/mpfr-3.1.6.tar.bz2 # mirrors are allowed
|
||||
BUILD_IN_SOURCE ON
|
||||
CONFIGURE_COMMAND ./configure --prefix=${DESTDIR}/usr/local --enable-shared=no --enable-static=yes --with-gmp=${DESTDIR}/usr/local --with-pic
|
||||
CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure --prefix=${DESTDIR}/usr/local --enable-shared=no --enable-static=yes --with-gmp=${DESTDIR}/usr/local ${_gmp_build_tgt}
|
||||
BUILD_COMMAND make -j
|
||||
INSTALL_COMMAND make install
|
||||
DEPENDS dep_GMP
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
8
deps/deps-linux.cmake
vendored
@ -31,6 +31,7 @@ ExternalProject_Add(dep_libopenssl
|
||||
BUILD_IN_SOURCE 1
|
||||
CONFIGURE_COMMAND ./config
|
||||
"--prefix=${DESTDIR}/usr/local"
|
||||
"--libdir=lib"
|
||||
no-shared
|
||||
no-ssl3-method
|
||||
no-dynamic-engine
|
||||
@ -54,7 +55,12 @@ ExternalProject_Add(dep_libcurl
|
||||
--enable-versioned-symbols
|
||||
--enable-threaded-resolver
|
||||
--with-random=/dev/urandom
|
||||
--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
# CA root certificate paths will be set for openssl at runtime.
|
||||
--without-ca-bundle
|
||||
--without-ca-path
|
||||
--with-ca-fallback # to look for the ssl backend's ca store
|
||||
|
||||
--disable-ldap
|
||||
--disable-ldaps
|
||||
--disable-manual
|
||||
|
11
resources/icons/eject_sd.svg
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 24.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 800 800" enable-background="new 0 0 800 800" xml:space="preserve">
|
||||
<path fill="#ED6B21" d="M594.8,558.94v71.52H205.95v-71.52H594.8 M627.56,502.24H173.18c-13.21,0-23.93,10.71-23.93,23.93v137.06
|
||||
c0,13.21,10.71,23.93,23.93,23.93h454.38c13.21,0,23.93-10.71,23.93-23.93V526.17C651.49,512.96,640.78,502.24,627.56,502.24
|
||||
L627.56,502.24z"/>
|
||||
<path fill="#ED6B21" d="M400.24,206.82l137.59,182.73H262.83L400.24,206.82 M400.23,128.4c-7.17,0-14.34,3.18-19.12,9.55
|
||||
L178.06,407.94c-11.86,15.77-0.61,38.31,19.12,38.31h406.34c19.74,0,30.99-22.55,19.11-38.32l-203.3-269.99
|
||||
C414.55,131.58,407.39,128.4,400.23,128.4L400.23,128.4z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 899 B |
@ -1,168 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
id="svg8"
|
||||
version="1.1"
|
||||
viewBox="0 0 3.7041666 3.7041667"
|
||||
height="3.7041667mm"
|
||||
width="3.7041667mm">
|
||||
<defs
|
||||
id="defs2">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3733">
|
||||
<path
|
||||
d="M 0,800 H 800 V 0 H 0 Z"
|
||||
id="path3731" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4697">
|
||||
<path
|
||||
d="M 0,800 H 800 V 0 H 0 Z"
|
||||
id="path4695" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4697-9">
|
||||
<path
|
||||
d="M 0,800 H 800 V 0 H 0 Z"
|
||||
id="path4695-2" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
transform="translate(294.04601,-97.736694)"
|
||||
id="layer1">
|
||||
<g
|
||||
transform="translate(-265.33929,12.851203)"
|
||||
id="layer1-0">
|
||||
<g
|
||||
transform="matrix(1.31769,0,0,1.31769,-167.28747,-111.35623)"
|
||||
id="layer1-3">
|
||||
<g
|
||||
id="g4685"
|
||||
transform="matrix(0.00352778,0,0,-0.00352778,105.26858,151.76571)">
|
||||
<path
|
||||
d="M 381.663,302.607 H 558.791 V 65.846 H 381.663 Z"
|
||||
style="fill:#d8d8db;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path4687" />
|
||||
<path
|
||||
d="m 470.227,302.607 h 95.411 V 65.846 h -95.411 z"
|
||||
style="fill:#f7f7f8;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path4689" />
|
||||
<g
|
||||
id="g4691">
|
||||
<g
|
||||
id="g4693"
|
||||
clip-path="url(#clipPath4697-9)">
|
||||
<g
|
||||
id="g4699"
|
||||
transform="translate(380.7793,225.1963)">
|
||||
<path
|
||||
d="m 0,0 h 174.037 c 39.032,0 70.675,31.643 70.675,70.675 v 372.92 c 0,39.033 -31.643,70.675 -70.675,70.675 H 0 c -39.033,0 -70.675,-31.642 -70.675,-70.675 V 70.675 C -70.675,31.643 -39.033,0 0,0"
|
||||
style="fill:#e96700;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path4701" />
|
||||
</g>
|
||||
<g
|
||||
id="g4703"
|
||||
transform="translate(377.0244,168.7666)">
|
||||
<path
|
||||
d="m 0,0 h -237.865 c -8.782,0 -15.902,7.12 -15.902,15.902 v 365.743 c 0,8.782 7.12,15.901 15.902,15.901 H 28.933 c 8.782,0 15.902,-7.119 15.902,-15.901 V 56.43 C 38.907,48.507 9.055,8.503 0,0"
|
||||
style="fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path4705" />
|
||||
</g>
|
||||
<g
|
||||
id="g4707"
|
||||
transform="translate(421.8594,225.1963)">
|
||||
<path
|
||||
d="M 0,0 C -7.399,-10.049 -35.78,-47.927 -44.835,-56.43 H -282.7"
|
||||
style="fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path4709" />
|
||||
</g>
|
||||
<g
|
||||
id="g4711"
|
||||
transform="translate(421.8594,225.1963)">
|
||||
<path
|
||||
d="M 0,0 C -5.876,-7.899 -35.78,-47.927 -44.835,-56.43"
|
||||
style="fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path4713" />
|
||||
</g>
|
||||
<g
|
||||
id="g4715"
|
||||
transform="translate(333.957,198.1406)">
|
||||
<path
|
||||
d="m 0,0 h -22.969 c -2.196,0 -3.976,1.78 -3.976,3.976 v 81.276 c 0,2.195 1.78,3.976 3.976,3.976 H 0 c 2.196,0 3.976,-1.781 3.976,-3.976 V 3.976 C 3.976,1.78 2.196,0 0,0"
|
||||
style="fill:#efee86;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path4717" />
|
||||
</g>
|
||||
<g
|
||||
id="g4719"
|
||||
transform="translate(297.957,198.1406)">
|
||||
<path
|
||||
d="m 0,0 h -22.969 c -2.196,0 -3.976,1.78 -3.976,3.976 v 81.276 c 0,2.195 1.78,3.976 3.976,3.976 H 0 c 2.196,0 3.976,-1.781 3.976,-3.976 V 3.976 C 3.976,1.78 2.196,0 0,0"
|
||||
style="fill:#efee86;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path4721" />
|
||||
</g>
|
||||
<g
|
||||
id="g4723"
|
||||
transform="translate(261.957,198.1406)">
|
||||
<path
|
||||
d="m 0,0 h -22.969 c -2.196,0 -3.976,1.78 -3.976,3.976 v 81.276 c 0,2.195 1.78,3.976 3.976,3.976 H 0 c 2.196,0 3.976,-1.781 3.976,-3.976 V 3.976 C 3.976,1.78 2.196,0 0,0"
|
||||
style="fill:#efee86;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path4725" />
|
||||
</g>
|
||||
<g
|
||||
id="g4727"
|
||||
transform="translate(225.957,198.1406)">
|
||||
<path
|
||||
d="m 0,0 h -22.969 c -2.196,0 -3.976,1.78 -3.976,3.976 v 81.276 c 0,2.195 1.78,3.976 3.976,3.976 H 0 c 2.196,0 3.976,-1.781 3.976,-3.976 V 3.976 C 3.976,1.78 2.196,0 0,0"
|
||||
style="fill:#efee86;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path4729" />
|
||||
</g>
|
||||
<g
|
||||
id="g4731"
|
||||
transform="translate(189.957,198.1406)">
|
||||
<path
|
||||
d="m 0,0 h -22.969 c -2.196,0 -3.976,1.78 -3.976,3.976 v 81.276 c 0,2.195 1.78,3.976 3.976,3.976 H 0 c 2.196,0 3.976,-1.781 3.976,-3.976 V 3.976 C 3.976,1.78 2.196,0 0,0"
|
||||
style="fill:#efee86;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path4733" />
|
||||
</g>
|
||||
<g
|
||||
id="g4735"
|
||||
transform="translate(369.2207,225.1963)">
|
||||
<path
|
||||
d="m 0,0 h -22.969 c -2.196,0 -3.976,1.78 -3.976,3.976 v 54.22 c 0,2.196 1.78,3.976 3.976,3.976 H 0 c 2.196,0 3.976,-1.78 3.976,-3.976 V 3.976 C 3.976,1.78 2.196,0 0,0"
|
||||
style="fill:#efee86;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path4737" />
|
||||
</g>
|
||||
<path
|
||||
d="m 450.019,104.056 h -50.577 v 33.128 h 50.577 z"
|
||||
style="fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path4739" />
|
||||
<path
|
||||
d="m 543.221,104.056 h -50.576 v 33.128 h 50.576 z"
|
||||
style="fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path4741" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 24.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 800 800" enable-background="new 0 0 800 800" xml:space="preserve">
|
||||
<g>
|
||||
<path fill="#808080" d="M580.82,576.8H462.03v0c0,3.06-0.99,6.04-2.82,8.49l-0.49,0.65c-36.26,48.48-43.59,55.36-45.99,57.62
|
||||
c-1.47,1.38-3.2,2.4-5.06,3.04v89.54h88.56h88.56h6.85V575.98C588.11,576.52,584.5,576.8,580.82,576.8z M476.02,697.94h-50.58
|
||||
v-33.13h50.58V697.94z M569.22,697.94h-50.58v-33.13h50.58V697.94z"/>
|
||||
<path fill="#808080" d="M431.96,235.69h-266.8c-8.78,0-15.9,7.12-15.9,15.9v365.74c0,8.78,7.12,15.9,15.9,15.9h237.87
|
||||
c9.06-8.5,38.91-48.51,44.83-56.43V251.59C447.86,242.81,440.74,235.69,431.96,235.69z M219.93,599.88c0,2.2-1.78,3.98-3.98,3.98
|
||||
h-22.97c-2.2,0-3.98-1.78-3.98-3.98v-81.28c0-2.2,1.78-3.98,3.98-3.98h22.97c2.2,0,3.98,1.78,3.98,3.98V599.88z M255.93,599.88
|
||||
c0,2.2-1.78,3.98-3.98,3.98h-22.97c-2.2,0-3.98-1.78-3.98-3.98v-81.28c0-2.2,1.78-3.98,3.98-3.98h22.97c2.2,0,3.98,1.78,3.98,3.98
|
||||
V599.88z M291.93,599.88c0,2.2-1.78,3.98-3.98,3.98h-22.97c-2.2,0-3.98-1.78-3.98-3.98v-81.28c0-2.2,1.78-3.98,3.98-3.98h22.97
|
||||
c2.2,0,3.98,1.78,3.98,3.98V599.88z M327.93,599.88c0,2.2-1.78,3.98-3.98,3.98h-22.97c-2.2,0-3.98-1.78-3.98-3.98v-81.28
|
||||
c0-2.2,1.78-3.98,3.98-3.98h22.97c2.2,0,3.98,1.78,3.98,3.98V599.88z M363.93,599.88c0,2.2-1.78,3.98-3.98,3.98h-22.97
|
||||
c-2.2,0-3.98-1.78-3.98-3.98v-81.28c0-2.2,1.78-3.98,3.98-3.98h22.97c2.2,0,3.98,1.78,3.98,3.98V599.88z M399.2,572.83
|
||||
c0,2.2-1.78,3.98-3.98,3.98h-22.97c-2.2,0-3.98-1.78-3.98-3.98v-54.22c0-2.2,1.78-3.98,3.98-3.98h22.97c2.2,0,3.98,1.78,3.98,3.98
|
||||
V572.83z"/>
|
||||
<path fill="#ED6B21" d="M580.82,62.53H406.78c-39.03,0-70.67,31.64-70.67,70.67v88.31h95.85c16.58,0,30.08,13.49,30.08,30.08V576.8
|
||||
h118.78c39.03,0,70.67-31.64,70.67-70.67V133.21C651.49,94.18,619.85,62.53,580.82,62.53z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 2.0 KiB |
@ -1,25 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!-- Generator: Adobe Illustrator 24.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
|
||||
<g id="support">
|
||||
<polygon fill="none" stroke="#808080" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="8,1
|
||||
2.31,4.79 2.31,8.57 2.31,8.79 2.31,10.47 8,14.25 13.69,10.47 13.69,8.79 13.69,8.57 13.69,4.79 "/>
|
||||
|
||||
<line fill="none" stroke="#ED6B21" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="12.69" y1="15" x2="12.69" y2="12.44"/>
|
||||
|
||||
<line fill="none" stroke="#ED6B21" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="13.87" y1="15" x2="13.87" y2="11.64"/>
|
||||
|
||||
<line fill="none" stroke="#ED6B21" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="2.13" y1="15" x2="2.13" y2="11.64"/>
|
||||
|
||||
<line fill="none" stroke="#ED6B21" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="3.33" y1="15" x2="3.33" y2="12.44"/>
|
||||
|
||||
<line fill="none" stroke="#ED6B21" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="4.51" y1="15" x2="4.51" y2="13.22"/>
|
||||
|
||||
<line fill="none" stroke="#ED6B21" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="5.66" y1="15" x2="5.66" y2="14"/>
|
||||
|
||||
<line fill="none" stroke="#ED6B21" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="10.34" y1="15" x2="10.34" y2="14"/>
|
||||
|
||||
<line fill="none" stroke="#ED6B21" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="11.5" y1="15" x2="11.5" y2="13.22"/>
|
||||
<g id="hollowing">
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#808080" d="M9.73,13.27c-0.06-0.09-0.19-0.11-0.28-0.05l-1.28,0.85c-0.09,0.06-0.24,0.06-0.33,0l-1.28-0.85
|
||||
c-0.09-0.06-0.22-0.04-0.28,0.05L6.1,13.52c-0.06,0.09-0.04,0.21,0.05,0.27l1.68,1.12c0.09,0.06,0.24,0.06,0.33,0l1.68-1.12
|
||||
c0.09-0.06,0.11-0.18,0.05-0.27L9.73,13.27z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#808080" d="M8.17,1.14c-0.09-0.06-0.24-0.06-0.33,0L2.17,4.92C2.07,4.98,2,5.12,2,5.23v1.6c0,0.11,0,0.29,0,0.4v3.6
|
||||
c0,0.11,0.07,0.25,0.17,0.31l2.82,1.88c0.09,0.06,0.22,0.04,0.28-0.05l0.18-0.25c0.06-0.09,0.04-0.21-0.05-0.27l-2.52-1.68
|
||||
c-0.09-0.06-0.17-0.2-0.17-0.31V7.23c0-0.11,0-0.29,0-0.4V5.61c0-0.11,0.07-0.25,0.17-0.31l4.96-3.31c0.09-0.06,0.24-0.06,0.33,0
|
||||
l4.96,3.31c0.09,0.06,0.17,0.2,0.17,0.31v1.22c0,0.11,0,0.29,0,0.4v3.22c0,0.11-0.07,0.25-0.17,0.31l-2.52,1.68
|
||||
c-0.09,0.06-0.11,0.18-0.05,0.27l0.18,0.25c0.06,0.09,0.19,0.11,0.28,0.05l2.82-1.88c0.09-0.06,0.17-0.2,0.17-0.31v-3.6
|
||||
c0-0.11,0-0.29,0-0.4v-1.6c0-0.11-0.07-0.25-0.17-0.31L8.17,1.14z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#ED6B21" d="M8.83,3.91c-0.07,0-0.14-0.02-0.2-0.06L8,3.43L7.37,3.85c-0.17,0.11-0.39,0.06-0.5-0.1
|
||||
c-0.11-0.17-0.06-0.39,0.1-0.5L7.8,2.7c0.12-0.08,0.28-0.08,0.4,0l0.83,0.55c0.17,0.11,0.21,0.33,0.1,0.5
|
||||
C9.06,3.85,8.95,3.91,8.83,3.91z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#ED6B21" d="M3.69,7.23c-0.2,0-0.36-0.16-0.36-0.36v-1c0-0.12,0.06-0.23,0.16-0.3l0.83-0.55
|
||||
c0.17-0.11,0.39-0.06,0.5,0.1s0.06,0.39-0.1,0.5L4.05,6.06v0.81C4.05,7.07,3.89,7.23,3.69,7.23z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#ED6B21" d="M4.52,11.09c-0.07,0-0.14-0.02-0.2-0.06l-0.83-0.55c-0.1-0.07-0.16-0.18-0.16-0.3V9.19
|
||||
c0-0.2,0.16-0.36,0.36-0.36s0.36,0.16,0.36,0.36v0.8l0.67,0.44c0.17,0.11,0.21,0.33,0.1,0.5C4.75,11.03,4.64,11.09,4.52,11.09z"
|
||||
/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#ED6B21" d="M8,13.42c-0.07,0-0.14-0.02-0.2-0.06l-0.83-0.55c-0.17-0.11-0.21-0.33-0.1-0.5s0.33-0.21,0.5-0.1L8,12.63
|
||||
l0.63-0.42c0.17-0.11,0.39-0.06,0.5,0.1s0.06,0.39-0.1,0.5L8.2,13.36C8.14,13.4,8.07,13.42,8,13.42z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#ED6B21" d="M11.48,11.09c-0.12,0-0.23-0.06-0.3-0.16c-0.11-0.17-0.07-0.39,0.1-0.5l0.67-0.44v-0.8
|
||||
c0-0.2,0.16-0.36,0.36-0.36s0.36,0.16,0.36,0.36v0.99c0,0.12-0.06,0.23-0.16,0.3l-0.83,0.55C11.62,11.07,11.55,11.09,11.48,11.09
|
||||
z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#ED6B21" d="M12.31,7.23c-0.2,0-0.36-0.16-0.36-0.36V6.06l-0.67-0.44c-0.17-0.11-0.21-0.33-0.1-0.5
|
||||
c0.11-0.17,0.33-0.21,0.5-0.1l0.83,0.55c0.1,0.07,0.16,0.18,0.16,0.3v1C12.67,7.07,12.51,7.23,12.31,7.23z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.8 KiB |
11
resources/icons/lock_open_sys.svg
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
|
||||
<g id="lock_x5F_open">
|
||||
<path fill="none" stroke="#808080" stroke-width="2" stroke-linecap="round" stroke-miterlimit="10" d="M4,8V4c0,0,0-2,2-2
|
||||
c1,0,3,0,4,0c2,0,2,2,2,2v1"/>
|
||||
<path fill="#808080" d="M13,8H3C2.45,8,2,8.45,2,9v5c0,0.55,0.45,1,1,1h10c0.55,0,1-0.45,1-1V9C14,8.45,13.55,8,13,8z M10,12H8.91
|
||||
c-0.21,0.58-0.76,1-1.41,1C6.67,13,6,12.33,6,11.5S6.67,10,7.5,10c0.65,0,1.2,0.42,1.41,1H10V12z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 753 B |
Before Width: | Height: | Size: 61 KiB |
22
resources/icons/white/export_to_sd.svg
Normal file
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 24.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 800 800" enable-background="new 0 0 800 800" xml:space="preserve">
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M580.82,576.8H462.03v0c0,3.06-0.99,6.04-2.82,8.49l-0.49,0.65c-36.26,48.48-43.59,55.36-45.99,57.62
|
||||
c-1.47,1.38-3.2,2.4-5.06,3.04v89.54h88.56h88.56h6.85V575.98C588.11,576.52,584.5,576.8,580.82,576.8z M476.02,697.94h-50.58
|
||||
v-33.13h50.58V697.94z M569.22,697.94h-50.58v-33.13h50.58V697.94z"/>
|
||||
<path fill="#FFFFFF" d="M431.96,235.69h-266.8c-8.78,0-15.9,7.12-15.9,15.9v365.74c0,8.78,7.12,15.9,15.9,15.9h237.87
|
||||
c9.06-8.5,38.91-48.51,44.83-56.43V251.59C447.86,242.81,440.74,235.69,431.96,235.69z M219.93,599.88c0,2.2-1.78,3.98-3.98,3.98
|
||||
h-22.97c-2.2,0-3.98-1.78-3.98-3.98v-81.28c0-2.2,1.78-3.98,3.98-3.98h22.97c2.2,0,3.98,1.78,3.98,3.98V599.88z M255.93,599.88
|
||||
c0,2.2-1.78,3.98-3.98,3.98h-22.97c-2.2,0-3.98-1.78-3.98-3.98v-81.28c0-2.2,1.78-3.98,3.98-3.98h22.97c2.2,0,3.98,1.78,3.98,3.98
|
||||
V599.88z M291.93,599.88c0,2.2-1.78,3.98-3.98,3.98h-22.97c-2.2,0-3.98-1.78-3.98-3.98v-81.28c0-2.2,1.78-3.98,3.98-3.98h22.97
|
||||
c2.2,0,3.98,1.78,3.98,3.98V599.88z M327.93,599.88c0,2.2-1.78,3.98-3.98,3.98h-22.97c-2.2,0-3.98-1.78-3.98-3.98v-81.28
|
||||
c0-2.2,1.78-3.98,3.98-3.98h22.97c2.2,0,3.98,1.78,3.98,3.98V599.88z M363.93,599.88c0,2.2-1.78,3.98-3.98,3.98h-22.97
|
||||
c-2.2,0-3.98-1.78-3.98-3.98v-81.28c0-2.2,1.78-3.98,3.98-3.98h22.97c2.2,0,3.98,1.78,3.98,3.98V599.88z M399.2,572.83
|
||||
c0,2.2-1.78,3.98-3.98,3.98h-22.97c-2.2,0-3.98-1.78-3.98-3.98v-54.22c0-2.2,1.78-3.98,3.98-3.98h22.97c2.2,0,3.98,1.78,3.98,3.98
|
||||
V572.83z"/>
|
||||
<path fill="#ED6B21" d="M580.82,62.53H406.78c-39.03,0-70.67,31.64-70.67,70.67v88.31h95.85c16.58,0,30.08,13.49,30.08,30.08V576.8
|
||||
h118.78c39.03,0,70.67-31.64,70.67-70.67V133.21C651.49,94.18,619.85,62.53,580.82,62.53z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.0 KiB |
@ -1,25 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!-- Generator: Adobe Illustrator 24.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
|
||||
<g id="support">
|
||||
<polygon fill="none" stroke="#808080" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="8,1
|
||||
2.31,4.79 2.31,8.57 2.31,8.79 2.31,10.47 8,14.25 13.69,10.47 13.69,8.79 13.69,8.57 13.69,4.79 "/>
|
||||
|
||||
<line fill="none" stroke="#ED6B21" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="12.69" y1="15" x2="12.69" y2="12.44"/>
|
||||
|
||||
<line fill="none" stroke="#ED6B21" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="13.87" y1="15" x2="13.87" y2="11.64"/>
|
||||
|
||||
<line fill="none" stroke="#ED6B21" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="2.13" y1="15" x2="2.13" y2="11.64"/>
|
||||
|
||||
<line fill="none" stroke="#ED6B21" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="3.33" y1="15" x2="3.33" y2="12.44"/>
|
||||
|
||||
<line fill="none" stroke="#ED6B21" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="4.51" y1="15" x2="4.51" y2="13.22"/>
|
||||
|
||||
<line fill="none" stroke="#ED6B21" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="5.66" y1="15" x2="5.66" y2="14"/>
|
||||
|
||||
<line fill="none" stroke="#ED6B21" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="10.34" y1="15" x2="10.34" y2="14"/>
|
||||
|
||||
<line fill="none" stroke="#ED6B21" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="11.5" y1="15" x2="11.5" y2="13.22"/>
|
||||
<g id="hollowing">
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M9.73,13.27c-0.06-0.09-0.19-0.11-0.28-0.05l-1.28,0.85c-0.09,0.06-0.24,0.06-0.33,0l-1.28-0.85
|
||||
c-0.09-0.06-0.22-0.04-0.28,0.05L6.1,13.52c-0.06,0.09-0.04,0.21,0.05,0.27l1.68,1.12c0.09,0.06,0.24,0.06,0.33,0l1.68-1.12
|
||||
c0.09-0.06,0.11-0.18,0.05-0.27L9.73,13.27z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M8.17,1.14c-0.09-0.06-0.24-0.06-0.33,0L2.17,4.92C2.07,4.98,2,5.12,2,5.23v1.6c0,0.11,0,0.29,0,0.4v3.6
|
||||
c0,0.11,0.07,0.25,0.17,0.31l2.82,1.88c0.09,0.06,0.22,0.04,0.28-0.05l0.18-0.25c0.06-0.09,0.04-0.21-0.05-0.27l-2.52-1.68
|
||||
c-0.09-0.06-0.17-0.2-0.17-0.31V7.23c0-0.11,0-0.29,0-0.4V5.61c0-0.11,0.07-0.25,0.17-0.31l4.96-3.31c0.09-0.06,0.24-0.06,0.33,0
|
||||
l4.96,3.31c0.09,0.06,0.17,0.2,0.17,0.31v1.22c0,0.11,0,0.29,0,0.4v3.22c0,0.11-0.07,0.25-0.17,0.31l-2.52,1.68
|
||||
c-0.09,0.06-0.11,0.18-0.05,0.27l0.18,0.25c0.06,0.09,0.19,0.11,0.28,0.05l2.82-1.88c0.09-0.06,0.17-0.2,0.17-0.31v-3.6
|
||||
c0-0.11,0-0.29,0-0.4v-1.6c0-0.11-0.07-0.25-0.17-0.31L8.17,1.14z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#ED6B21" d="M8.83,3.91c-0.07,0-0.14-0.02-0.2-0.06L8,3.43L7.37,3.85c-0.17,0.11-0.39,0.06-0.5-0.1
|
||||
c-0.11-0.17-0.06-0.39,0.1-0.5L7.8,2.7c0.12-0.08,0.28-0.08,0.4,0l0.83,0.55c0.17,0.11,0.21,0.33,0.1,0.5
|
||||
C9.06,3.85,8.95,3.91,8.83,3.91z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#ED6B21" d="M3.69,7.23c-0.2,0-0.36-0.16-0.36-0.36v-1c0-0.12,0.06-0.23,0.16-0.3l0.83-0.55
|
||||
c0.17-0.11,0.39-0.06,0.5,0.1s0.06,0.39-0.1,0.5L4.05,6.06v0.81C4.05,7.07,3.89,7.23,3.69,7.23z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#ED6B21" d="M4.52,11.09c-0.07,0-0.14-0.02-0.2-0.06l-0.83-0.55c-0.1-0.07-0.16-0.18-0.16-0.3V9.19
|
||||
c0-0.2,0.16-0.36,0.36-0.36s0.36,0.16,0.36,0.36v0.8l0.67,0.44c0.17,0.11,0.21,0.33,0.1,0.5C4.75,11.03,4.64,11.09,4.52,11.09z"
|
||||
/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#ED6B21" d="M8,13.42c-0.07,0-0.14-0.02-0.2-0.06l-0.83-0.55c-0.17-0.11-0.21-0.33-0.1-0.5s0.33-0.21,0.5-0.1L8,12.63
|
||||
l0.63-0.42c0.17-0.11,0.39-0.06,0.5,0.1s0.06,0.39-0.1,0.5L8.2,13.36C8.14,13.4,8.07,13.42,8,13.42z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#ED6B21" d="M11.48,11.09c-0.12,0-0.23-0.06-0.3-0.16c-0.11-0.17-0.07-0.39,0.1-0.5l0.67-0.44v-0.8
|
||||
c0-0.2,0.16-0.36,0.36-0.36s0.36,0.16,0.36,0.36v0.99c0,0.12-0.06,0.23-0.16,0.3l-0.83,0.55C11.62,11.07,11.55,11.09,11.48,11.09
|
||||
z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#ED6B21" d="M12.31,7.23c-0.2,0-0.36-0.16-0.36-0.36V6.06l-0.67-0.44c-0.17-0.11-0.21-0.33-0.1-0.5
|
||||
c0.11-0.17,0.33-0.21,0.5-0.1l0.83,0.55c0.1,0.07,0.16,0.18,0.16,0.3v1C12.67,7.07,12.51,7.23,12.31,7.23z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.8 KiB |
11
resources/icons/white/lock_open_sys.svg
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
|
||||
<g id="lock_x5F_open">
|
||||
<path fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round" stroke-miterlimit="10" d="M4,8V4c0,0,0-2,2-2
|
||||
c1,0,3,0,4,0c2,0,2,2,2,2v1"/>
|
||||
<path fill="#FFFFFF" d="M13,8H3C2.45,8,2,8.45,2,9v5c0,0.55,0.45,1,1,1h10c0.55,0,1-0.45,1-1V9C14,8.45,13.55,8,13,8z M10,12H8.91
|
||||
c-0.21,0.58-0.76,1-1.41,1C6.67,13,6,12.33,6,11.5S6.67,10,7.5,10c0.65,0,1.2,0.42,1.41,1H10V12z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 753 B |
BIN
resources/localization/en/PrusaSlicer.mo
Normal file
155
resources/localization/en/PrusaSlicer_en.po
Normal file
@ -0,0 +1,155 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Language: en\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"Project-Id-Version: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
|
||||
#: src/slic3r/GUI/UpdateDialogs.cpp:71
|
||||
msgid "Don't notify about new releases any more"
|
||||
msgstr "Don't notify about new releases anymore"
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:287
|
||||
msgid "A boolean expression using the configuration values of an active print profile. If this expression evaluates to true, this profile is considered compatible with the active print profile."
|
||||
msgstr "A Boolean expression using the configuration values of an active print profile. If this expression evaluates to true, this profile is considered compatible with the active print profile."
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:272
|
||||
msgid "A boolean expression using the configuration values of an active printer profile. If this expression evaluates to true, this profile is considered compatible with the active printer profile."
|
||||
msgstr "A Boolean expression using the configuration values of an active printer profile. If this expression evaluates to true, this profile is considered compatible with the active printer profile."
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:409
|
||||
msgid "Add solid infill near sloping surfaces to guarantee the vertical shell thickness (top+bottom solid layers)."
|
||||
msgstr "Add solid infill near sloping surfaces to guarantee the vertical shell thickness (top + bottom solid layers)."
|
||||
|
||||
#: src/slic3r/GUI/ConfigWizard.cpp:791
|
||||
msgid "Additionally a backup snapshot of the whole configuration is created before an update is applied."
|
||||
msgstr "Additionally, a backup snapshot of the whole configuration is created before an update is applied."
|
||||
|
||||
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1268
|
||||
msgid "Autogeneration will erase all manually edited points."
|
||||
msgstr "Auto Generation will erase all manually edited points."
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:1171
|
||||
msgid "Autospeed (advanced)"
|
||||
msgstr "Auto Speed (advanced)"
|
||||
|
||||
#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:22
|
||||
msgid "Before roll back"
|
||||
msgstr "Before rollback"
|
||||
|
||||
#: src/slic3r/GUI/ButtonsDescription.cpp:16
|
||||
msgid "Buttons And Text Colors Description"
|
||||
msgstr "Buttons and Text Colors Description"
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:791
|
||||
msgid "Density of internal infill, expressed in the range 0% - 100%."
|
||||
msgstr "Density of internal infill, expressed in the range 0 % - 100 %."
|
||||
|
||||
#: src/slic3r/GUI/ConfigWizard.cpp:773
|
||||
#, c-format
|
||||
msgid "If enabled, %s checks for new application versions online. When a new version becomes available, a notification is displayed at the next application startup (never during program usage). This is only a notification mechanisms, no automatic installation is done."
|
||||
msgstr "If enabled, %s checks for new application versions online. When a new version becomes available, a notification is displayed at the next application startup (never during program usage). This is only a notification mechanism, no automatic installation is done."
|
||||
|
||||
#: src/slic3r/GUI/ConfigWizard.cpp:783
|
||||
#, c-format
|
||||
msgid "If enabled, %s downloads updates of built-in system presets in the background.These updates are downloaded into a separate temporary location.When a new preset version becomes available it is offered at application startup."
|
||||
msgstr "If enabled, %s downloads updates of built-in system presets in the background. These updates are downloaded into a separate temporary location. When a new preset version becomes available it is offered at application startup."
|
||||
|
||||
#: src/slic3r/GUI/Preferences.cpp:66
|
||||
msgid "If enabled, PrusaSlicer will check for the new versions of itself online. When a new version becomes available a notification is displayed at the next application startup (never during program usage). This is only a notification mechanisms, no automatic installation is done."
|
||||
msgstr "If enabled, PrusaSlicer will check for the new versions of itself online. When a new version becomes available a notification is displayed at the next application startup (never during program usage). This is only a notification mechanism, no automatic installation is done."
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:1858
|
||||
msgid "If enabled, the wipe tower will not be printed on layers with no toolchanges. On layers with a toolchange, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print."
|
||||
msgstr "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print."
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:2262
|
||||
msgid "Object will be used to purge the nozzle after a toolchange to save material that would otherwise end up in the wipe tower and decrease print time. Colours of the objects will be mixed as a result."
|
||||
msgstr "Object will be used to purge the nozzle after a tool change to save material that would otherwise end up in the wipe tower and decrease print time. Colours of the objects will be mixed as a result."
|
||||
|
||||
#: src/libslic3r/Print.cpp:1365
|
||||
msgid "One or more object were assigned an extruder that the printer does not have."
|
||||
msgstr "One or more objects were assigned an extruder that the printer does not have."
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:2254
|
||||
msgid "Purging after toolchange will done inside this object's infills. This lowers the amount of waste but may result in longer print time due to additional travel moves."
|
||||
msgstr "Purging after tool change will done inside this object's infills. This lowers the amount of waste but may result in longer print time due to additional travel moves."
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:1552
|
||||
msgid "Retraction Length (Toolchange)"
|
||||
msgstr "Retraction Length (Tool change)"
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:556
|
||||
msgid "Set this to a non-zero value to allow a manual extrusion width. If left to zero, Slic3r derives extrusion widths from the nozzle diameter (see the tooltips for perimeter extrusion width, infill extrusion width etc). If expressed as percentage (for example: 230%), it will be computed over layer height."
|
||||
msgstr "Set this to a non-zero value to allow a manual extrusion width. If left to zero, Slic3r derives extrusion widths from the nozzle diameter (see the tooltips for perimeter extrusion width, infill extrusion width etc.). If expressed as percentage (for example: 230%), it will be computed over layer height."
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:2824
|
||||
msgid "Some objects can get along with a few smaller pads instead of a single big one. This parameter defines how far the center of two smaller pads should be. If theyare closer, they will get merged into one pad."
|
||||
msgstr "Some objects can get along with a few smaller pads instead of a single big one. This parameter defines how far the center of two smaller pads should be. If they are closer, they will get merged into one pad."
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:624
|
||||
msgid "Speed used for unloading the filament on the wipe tower (does not affect initial part of unloading just after ramming)."
|
||||
msgstr "Speed used for unloading the filament on the wipe tower (does not affect initial part of unloading just after ramming)."
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:2044
|
||||
msgid "Support material will not be generated for overhangs whose slope angle (90° = vertical) is above the given threshold. In other words, this value represent the most horizontal slope (measured from the horizontal plane) that you can print without support material. Set to zero for automatic detection (recommended)."
|
||||
msgstr "Support material will not be generated for overhangs whose slope angle (90° = vertical) is above the given threshold. In other words, this value represents the most horizontal slope (measured from the horizontal plane) that you can print without support material. Set to zero for automatic detection (recommended)."
|
||||
|
||||
#: src/slic3r/GUI/DoubleSlider.cpp:998
|
||||
msgid ""
|
||||
"The sequential print is on.\n"
|
||||
"It's impossible to apply any custom G-code for objects printing sequentually.\n"
|
||||
"This code won't be processed during G-code generation."
|
||||
msgstr ""
|
||||
"The sequential print is on.\n"
|
||||
"It's impossible to apply any custom G-code for objects printing sequentially.\n"
|
||||
"This code won't be processed during G-code generation."
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:2094
|
||||
msgid "This custom code is inserted before every toolchange. Placeholder variables for all PrusaSlicer settings as well as {previous_extruder} and {next_extruder} can be used. When a tool-changing command which changes to the correct extruder is included (such as T{next_extruder}), PrusaSlicer will emit no other such command. It is therefore possible to script custom behaviour both before and after the toolchange."
|
||||
msgstr "This custom code is inserted before every tool change. Placeholder variables for all PrusaSlicer settings as well as {previous_extruder} and {next_extruder} can be used. When a tool-changing command which changes to the correct extruder is included (such as T{next_extruder}), PrusaSlicer will emit no other such command. It is therefore possible to script custom behaviour both before and after the tool change."
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:396
|
||||
msgid "This end procedure is inserted at the end of the output file, before the printer end gcode (and before any toolchange from this filament in case of multimaterial printers). Note that you can use placeholder variables for all PrusaSlicer settings. If you have multiple extruders, the gcode is processed in extruder order."
|
||||
msgstr "This end procedure is inserted at the end of the output file, before the printer end gcode (and before any tool change from this filament in case of multimaterial printers). Note that you can use placeholder variables for all PrusaSlicer settings. If you have multiple extruders, the gcode is processed in extruder order."
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:2215
|
||||
msgid "This matrix describes volumes (in cubic milimetres) required to purge the new filament on the wipe tower for any given pair of tools."
|
||||
msgstr "This matrix describes volumes (in cubic millimetres) required to purge the new filament on the wipe tower for any given pair of tools."
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:1829
|
||||
msgid "This start procedure is inserted at the beginning, after any printer start gcode (and after any toolchange to this filament in case of multi-material printers). This is used to override settings for a specific filament. If PrusaSlicer detects M104, M109, M140 or M190 in your custom codes, such commands will not be prepended automatically so you're free to customize the order of heating commands and other custom actions. Note that you can use placeholder variables for all PrusaSlicer settings, so you can put a \"M109 S[first_layer_temperature]\" command wherever you want. If you have multiple extruders, the gcode is processed in extruder order."
|
||||
msgstr "This start procedure is inserted at the beginning, after any printer start gcode (and after any tool change to this filament in case of multi-material printers). This is used to override settings for a specific filament. If PrusaSlicer detects M104, M109, M140 or M190 in your custom codes, such commands will not be prepended automatically so you're free to customize the order of heating commands and other custom actions. Note that you can use placeholder variables for all PrusaSlicer settings, so you can put a \"M109 S[first_layer_temperature]\" command wherever you want. If you have multiple extruders, the gcode is processed in extruder order."
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:641
|
||||
msgid "Time to wait after the filament is unloaded. May help to get reliable toolchanges with flexible materials that may need more time to shrink to original dimensions."
|
||||
msgstr "Time to wait after the filament is unloaded. May help to get reliable tool changes with flexible materials that may need more time to shrink to original dimensions."
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:1491
|
||||
msgid "Toolchange parameters with single extruder MM printers"
|
||||
msgstr "Toolchange parameters with single extruder MM printers"
|
||||
|
||||
#: src/slic3r/Utils/Duet.cpp:82 src/slic3r/Utils/Duet.cpp:137
|
||||
#: src/slic3r/Utils/FlashAir.cpp:119 src/slic3r/Utils/FlashAir.cpp:140
|
||||
#: src/slic3r/Utils/FlashAir.cpp:156
|
||||
msgid "Unknown error occured"
|
||||
msgstr "Unknown error occurred"
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:253
|
||||
msgid "When printing multi-material objects, this settings will make Slic3r to clip the overlapping object parts one by the other (2nd part will be clipped by the 1st, 3rd part will be clipped by the 1st and 2nd etc)."
|
||||
msgstr "When printing multi-material objects, this settings will make Slic3r to clip the overlapping object parts one by the other (2nd part will be clipped by the 1st, 3rd part will be clipped by the 1st and 2nd etc.)."
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:1391
|
||||
msgid "When set to zero, the distance the filament is moved from parking position during load is exactly the same as it was moved back during unload. When positive, it is loaded further, if negative, the loading move is shorter than unloading."
|
||||
msgstr "When set to zero, the distance the filament is moved from parking position during load is exactly the same as it was moved back during unload. When positive, it is loaded further, if negative, the loading move is shorter than unloading."
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:3285
|
||||
msgid "WHITE BULLET icon indicates a non system (or non default) preset."
|
||||
msgstr "WHITE BULLET icon indicates a non-system (or non-default) preset."
|
@ -8,7 +8,7 @@ msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-08-06 09:54+0200\n"
|
||||
"PO-Revision-Date: 2019-08-25 09:43+0900\n"
|
||||
"PO-Revision-Date: 2020-02-28 09:34+0900\n"
|
||||
"Last-Translator: lee hak-min <hangmini12@naver.com>\n"
|
||||
"Language-Team: ulsanether\n"
|
||||
"Language: ko_KR\n"
|
||||
@ -385,7 +385,7 @@ msgid ""
|
||||
"(both support_material_extruder and support_material_interface_extruder need "
|
||||
"to be set to 0)."
|
||||
msgstr ""
|
||||
"와이프 타워는 현재 비수용성 지원만 지원합니다.\n"
|
||||
"와이프 타워(프라임 타워)는 현재 비수용성 지원만 지원합니다.\n"
|
||||
"공구 교환을 트리거하지 않고 현재 압출기로 인쇄된 경우\n"
|
||||
"(support_material_extruder support_material_interface_extruder 모두 0으로 설"
|
||||
"정해야 합니다)."
|
||||
@ -397,14 +397,14 @@ msgstr "와이프 타워를 활성화하기 위해 이러한 설정을 조정해
|
||||
#: src/slic3r/GUI/ConfigManipulation.cpp:112
|
||||
#: src/slic3r/GUI/ConfigManipulation.cpp:132
|
||||
msgid "Wipe Tower"
|
||||
msgstr "와이프 타워(Wipe Tower)"
|
||||
msgstr "와이프 타워(프라임 타워)"
|
||||
|
||||
#: src/slic3r/GUI/ConfigManipulation.cpp:128
|
||||
msgid ""
|
||||
"For the Wipe Tower to work with the soluble supports, the support layers\n"
|
||||
"need to be synchronized with the object layers."
|
||||
msgstr ""
|
||||
"와이프 타워가 가용성 지지체와 함께 작동 하려면 서포트 레이어를 객체(object) "
|
||||
"와이프 타워(프라임 타워)가 가용성 지지체와 함께 작동 하려면 서포트 레이어를 객체(object) "
|
||||
"레이어와 동기화 해야 합니다."
|
||||
|
||||
#: src/slic3r/GUI/ConfigManipulation.cpp:131
|
||||
@ -532,7 +532,7 @@ msgstr "변종"
|
||||
#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:75
|
||||
#, c-format
|
||||
msgid "Incompatible with this %s"
|
||||
msgstr "%s 과 호환되지 않습니다"
|
||||
msgstr "%s 와 호환되지 않습니다"
|
||||
|
||||
#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:78
|
||||
msgid "Activate"
|
||||
@ -1207,13 +1207,13 @@ msgstr "다중 압출기 인쇄를 위해 마지막 색상 변경 데이터가
|
||||
|
||||
#: src/slic3r/GUI/DoubleSlider.cpp:1889
|
||||
msgid ""
|
||||
"Select YES if you want to delete all saved tool changes, \n"
|
||||
"\tNO if you want all tool changes switch to color changes, \n"
|
||||
"\tor CANCEL for do nothing"
|
||||
"Select YES if you want to delete all saved tool changes,\n"
|
||||
"NO if you want all tool changes switch to color changes,\n"
|
||||
"or CANCEL for do nothing"
|
||||
msgstr ""
|
||||
"저장된 도구 변경 내용을 모두 삭제하려면 YES를 선택합니다. \n"
|
||||
"\t아니오 모든 도구 변경 이 색상 변경으로 전환하려면 \n"
|
||||
"\t또는 아무것도 하지 않는 취소"
|
||||
"저장된 도구 변경 내용을 모두 삭제하려면 YES를 선택합니다.\n"
|
||||
"아니오 모든 도구 변경 이 색상 변경으로 전환하려면\n"
|
||||
"또는 아무것도 하지 않는 취소"
|
||||
|
||||
#: src/slic3r/GUI/DoubleSlider.cpp:1892
|
||||
msgid "Do you want to delete all saved tool changes?"
|
||||
@ -1751,7 +1751,7 @@ msgstr "이 개체를 비우기"
|
||||
|
||||
#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:42
|
||||
msgid "Preview hollowed and drilled model"
|
||||
msgstr "미리 보기 중이 비어 있고 드릴된 모델"
|
||||
msgstr "공동화된 모델 미리보기"
|
||||
|
||||
#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:43
|
||||
msgid "Offset"
|
||||
@ -1805,7 +1805,7 @@ msgstr "배수 구멍 삭제"
|
||||
|
||||
#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:786
|
||||
msgid "Hollowing parameter change"
|
||||
msgstr "공동화 매개변수 변경"
|
||||
msgstr "공동화 변수 변경"
|
||||
|
||||
#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:858
|
||||
msgid "Change drainage hole diameter"
|
||||
@ -5411,16 +5411,18 @@ msgstr "CA 인증서 파일 열기"
|
||||
#: src/slic3r/GUI/Tab.cpp:1741
|
||||
#, c-format
|
||||
msgid ""
|
||||
"HTTPS CA File:\n"
|
||||
" \tOn this system, %s uses HTTPS certificates from the system Certificate "
|
||||
"On this system, %s uses HTTPS certificates from the system Certificate "
|
||||
"Store or Keychain.\n"
|
||||
" \tTo use a custom CA file, please import your CA file into Certificate "
|
||||
msgstr ""
|
||||
"이 시스템에서 %s는 시스템 인증서 저장소나 키체인의 HTTPS 인증서를 사용 "
|
||||
"합니다.\n"
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:1741
|
||||
msgid ""
|
||||
"To use a custom CA file, please import your CA file into Certificate "
|
||||
"Store / Keychain."
|
||||
msgstr ""
|
||||
"HTTPS CA 파일:\n"
|
||||
" \t이 시스템에서 %s는 시스템 인증서 저장소나 키체인의 HTTPS 인증서를 사용 "
|
||||
"합니다.\n"
|
||||
" \t사용자 지정 CA 파일을 사용 하려면 CA 파일을 인증서 저장소/키체인에 가져"
|
||||
"사용자 지정 CA 파일을 사용 하려면 CA 파일을 인증서 저장소/키체인에 가져"
|
||||
"오십시오."
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:1781 src/slic3r/GUI/Tab.cpp:2025
|
||||
@ -5717,8 +5719,8 @@ msgstr "흰색 글머리 기호"
|
||||
#. TRN Description for "WHITE BULLET"
|
||||
#: src/slic3r/GUI/Tab.cpp:3235
|
||||
msgid ""
|
||||
"for the left button: \tindicates a non-system (or non-default) preset,\n"
|
||||
"for the right button: \tindicates that the settings hasn't been modified."
|
||||
"for the left button: indicates a non-system (or non-default) preset,\n"
|
||||
"for the right button: indicates that the settings hasn't been modified."
|
||||
msgstr ""
|
||||
"왼쪽 단추의 경우: 비시스템(또는 기본이 아닌) 사전 설정을 나타냅니다.\n"
|
||||
"오른쪽 버튼: 설정이 수정되지 않았음을 나타냅니다."
|
||||
@ -6478,7 +6480,7 @@ msgstr "인쇄 z"
|
||||
#: src/libslic3r/GCode.cpp:639
|
||||
msgid ""
|
||||
"This is usually caused by negligibly small extrusions or by a faulty model. "
|
||||
"Try to repair the model or change its orientation on the bed."
|
||||
"Try to repair the model or change its orientation on the bed."
|
||||
msgstr ""
|
||||
"이는 일반적으로 무시할 수 있는 작은 돌출 또는 결함이 있는 모델에 의해 발생합"
|
||||
"니다. 모델을 수리하거나 배드에서 방향을 변경하십시오."
|
||||
@ -9346,7 +9348,7 @@ msgstr ""
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:2185
|
||||
msgid "Use volumetric E"
|
||||
msgstr "용적 E 사용"
|
||||
msgstr "용적(volumetric) E 사용"
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:2186
|
||||
msgid ""
|
||||
@ -9605,11 +9607,11 @@ msgstr "느리게"
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:2425
|
||||
msgid "Slow tilt"
|
||||
msgstr "슬로우 틸트"
|
||||
msgstr "천천히 기울이기"
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:2426
|
||||
msgid "Time of the slow tilt"
|
||||
msgstr "느린 기울기의 시간"
|
||||
msgstr "천천히 기울이는 속도"
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:2433
|
||||
msgid "Area fill"
|
||||
@ -9668,7 +9670,7 @@ msgstr "병 볼륨"
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:2492
|
||||
msgid "ml"
|
||||
msgstr "광년"
|
||||
msgstr ""
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:2497 src/libslic3r/PrintConfig.cpp:2498
|
||||
msgid "Bottle weight"
|
||||
@ -9684,7 +9686,7 @@ msgstr "g /ml"
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:2513
|
||||
msgid "money/bottle"
|
||||
msgstr "돈 /병"
|
||||
msgstr "가격 /병"
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:2518
|
||||
msgid "Faded layers"
|
||||
@ -10037,11 +10039,11 @@ msgid ""
|
||||
"Performance vs accuracy of calculation. Lower values may produce unwanted "
|
||||
"artifacts."
|
||||
msgstr ""
|
||||
"성능 대 계산의 정확성. 값이 낮을수록 원치 않는 아티팩트가 생성될 수 있습니다."
|
||||
"성능 계산의 정확성. 값이 낮을수록 원치 않는 아티팩트가 생성될 수 있습니다."
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:2935
|
||||
msgid "Hollowing closing distance"
|
||||
msgstr "공동화된 닫힘 반경"
|
||||
msgstr "속비움된 닫힘 반경"
|
||||
|
||||
#: src/libslic3r/PrintConfig.cpp:3315
|
||||
msgid "Export OBJ"
|
||||
|
@ -3679,13 +3679,15 @@ msgstr "CA sertifika dosyasını aç"
|
||||
#: src/slic3r/GUI/Tab.cpp:1810
|
||||
#, c-format
|
||||
msgid ""
|
||||
"HTTPS CA File:\n"
|
||||
" \tOn this system, %s uses HTTPS certificates from the system Certificate Store or Keychain.\n"
|
||||
" \tTo use a custom CA file, please import your CA file into Certificate Store / Keychain."
|
||||
"On this system, %s uses HTTPS certificates from the system Certificate Store or Keychain."
|
||||
msgstr ""
|
||||
"HTTPS CA Dosyası:\n"
|
||||
" \tBu sistemde, %s , sistem Sertifika Deposu veya Anahtarlıktan HTTPS sertifikaları kullanır.\n"
|
||||
" \tÖzel bir CA dosyası kullanmak için, lütfen CA dosyanızı Sertifika Deposu/Anahtarlık içine aktarın."
|
||||
"Bu sistemde, %s , sistem Sertifika Deposu veya Anahtarlıktan HTTPS sertifikaları kullanır."
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:1810
|
||||
msgid ""
|
||||
"To use a custom CA file, please import your CA file into Certificate Store / Keychain."
|
||||
msgstr ""
|
||||
"Özel bir CA dosyası kullanmak için, lütfen CA dosyanızı Sertifika Deposu/Anahtarlık içine aktarın."
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:1850 src/slic3r/GUI/Tab.cpp:2051
|
||||
msgid "Size and coordinates"
|
||||
@ -3948,11 +3950,11 @@ msgstr "BEYAZ NOKTA"
|
||||
#. TRN Description for "WHITE BULLET"
|
||||
#: src/slic3r/GUI/Tab.cpp:3129
|
||||
msgid ""
|
||||
"for the left button: \tindicates a non-system preset,\n"
|
||||
"for the right button: \tindicates that the settings hasn't been modified."
|
||||
"for the left button: indicates a non-system preset,\n"
|
||||
"for the right button: indicates that the settings hasn't been modified."
|
||||
msgstr ""
|
||||
"sol tuş için: \tsistem dışı bir ön ayarı gösterir,\n"
|
||||
"sağ tuş için: \tayarların değiştirilmediğini gösterir."
|
||||
"sol tuş için: sistem dışı bir ön ayarı gösterir,\n"
|
||||
"sağ tuş için: ayarların değiştirilmediğini gösterir."
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:3103
|
||||
msgid "BACK ARROW"
|
||||
|
@ -4106,11 +4106,9 @@ msgstr "当前预设从默认预设继承。"
|
||||
#: src/slic3r/GUI/Tab.cpp:947
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Current preset is inherited from:\n"
|
||||
"\t%s"
|
||||
"Current preset is inherited from"
|
||||
msgstr ""
|
||||
"当前预设继承自:\n"
|
||||
"\t%s"
|
||||
"当前预设继承自"
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:951
|
||||
msgid "It can't be deleted or modified."
|
||||
@ -4375,15 +4373,17 @@ msgstr "打开 CA 证书文件"
|
||||
#: src/slic3r/GUI/Tab.cpp:1959
|
||||
#, c-format
|
||||
msgid ""
|
||||
"HTTPS CA File:\n"
|
||||
" \tOn this system, %s uses HTTPS certificates from the system Certificate "
|
||||
"Store or Keychain.\n"
|
||||
" \tTo use a custom CA file, please import your CA file into Certificate "
|
||||
"On this system, %s uses HTTPS certificates from the system Certificate "
|
||||
"Store or Keychain."
|
||||
msgstr ""
|
||||
"在此系统上,%s 使用来自系统证书存储或钥匙串的 HTTPS 证书。"
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:1959
|
||||
msgid ""
|
||||
"To use a custom CA file, please import your CA file into Certificate "
|
||||
"Store / Keychain."
|
||||
msgstr ""
|
||||
"HTTPS CA 文件:\n"
|
||||
" \t在此系统上,%s 使用来自系统证书存储或钥匙串的 HTTPS 证书。\n"
|
||||
" \t要使用自定义 CA 文件,请将 CA 文件导入证书存储/钥匙串。"
|
||||
"要使用自定义 CA 文件,请将 CA 文件导入证书存储/钥匙串。"
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:1999 src/slic3r/GUI/Tab.cpp:2240
|
||||
msgid "Size and coordinates"
|
||||
@ -4671,8 +4671,8 @@ msgstr "白色子弹"
|
||||
#. TRN Description for "WHITE BULLET"
|
||||
#: src/slic3r/GUI/Tab.cpp:3424
|
||||
msgid ""
|
||||
"for the left button: \tindicates a non-system (or non-default) preset,\n"
|
||||
"for the right button: \tindicates that the settings hasn't been modified."
|
||||
"for the left button: indicates a non-system (or non-default) preset,\n"
|
||||
"for the right button: indicates that the settings hasn't been modified."
|
||||
msgstr ""
|
||||
"对于左侧按钮:指示非系统(或非默认)预设,\n"
|
||||
"对于右侧按钮:指示设置尚未修改。"
|
||||
|
@ -3049,8 +3049,8 @@ msgid "It's a system preset."
|
||||
msgstr "這是一個系統預設。"
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:860
|
||||
msgid "Current preset is inherited from "
|
||||
msgstr "當前預設繼承自 "
|
||||
msgid "Current preset is inherited from"
|
||||
msgstr "當前預設繼承自"
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:865
|
||||
msgid "It can't be deleted or modified. "
|
||||
@ -3391,16 +3391,19 @@ msgid "Open CA certificate file"
|
||||
msgstr "打開 CA 證書文件"
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:1725
|
||||
#, c-format
|
||||
msgid ""
|
||||
"HTTPS CA File:\n"
|
||||
"\tOn this system, Slic3r uses HTTPS certificates from the system Certificate "
|
||||
"Store or Keychain.\n"
|
||||
"\tTo use a custom CA file, please import your CA file into Certificate "
|
||||
"On this system, %s uses HTTPS certificates from the system Certificate "
|
||||
"Store or Keychain."
|
||||
msgstr ""
|
||||
"在此係統上, %s 使用來自系統證書存儲或鑰匙串的 https 證書。"
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:1725
|
||||
msgid ""
|
||||
"To use a custom CA file, please import your CA file into Certificate "
|
||||
"Store / Keychain."
|
||||
msgstr ""
|
||||
"HTTPS CA 文件:\n"
|
||||
"\t在此係統上, Slic3r 使用來自系統證書存儲或鑰匙串的 https 證書。\n"
|
||||
"\t要使用自定義 CA 文件, 請將 CA 文件導入到證書存儲/鑰匙串。"
|
||||
"要使用自定義 CA 文件, 請將 CA 文件導入到證書存儲/鑰匙串。"
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:1763 src/slic3r/GUI/Tab.cpp:1964
|
||||
msgid "Size and coordinates"
|
||||
@ -3664,11 +3667,11 @@ msgstr ""
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:2998
|
||||
msgid ""
|
||||
"WHITE BULLET;for the left button: \tindicates a non-system preset,\n"
|
||||
"for the right button: \tindicates that the settings hasn't been modified."
|
||||
"WHITE BULLET;for the left button: indicates a non-system preset,\n"
|
||||
"for the right button: indicates that the settings hasn't been modified."
|
||||
msgstr ""
|
||||
"白色彈頭; 對於左側按鈕: \t表示非系統預設,\n"
|
||||
"對於右側按鈕: \t表示設置尚未被修改。"
|
||||
"白色彈頭; 對於左側按鈕: 表示非系統預設,\n"
|
||||
"對於右側按鈕: 表示設置尚未被修改。"
|
||||
|
||||
#: src/slic3r/GUI/Tab.cpp:3002
|
||||
msgid ""
|
||||
|
13
resources/profiles/BIBO.idx
Normal file
@ -0,0 +1,13 @@
|
||||
min_slic3r_version = 2.2.0-alpha3
|
||||
0.0.1 Multiple Print models were unified into a single one.
|
||||
0.0.1-beta2 Bed model and textures added. Materials all use the BOBO2 identifier. deretract speed set to 0 to use retract speed.
|
||||
0.0.1-beta1 Added new printer profiles for ditto printing. New retraction settings, new materials. Removed some settings which do not apply. More start gcode improvements.
|
||||
0.0.1-alpha13 Adjusted Jerk, Acceleration, and maximum feedrates to better match the stock firmware. For Dual extrusion, tool change retractions were increased.
|
||||
0.0.1-alpha12 github repo created for version history
|
||||
0.0.1-alpha11 Revised version available to community for testing. Removed PVA and HIPS disolvable support materials from single extruder versions. Improved single extruder second nozzle standby temperature
|
||||
0.0.1-alpha8 Available to community Early adopters for testing. Corrected filament settings to prevent duplicates, and reworked start and end gcode.
|
||||
# The following line (max_slic3r_version) forces the users of PrusaSlicer 2.2.0-alpha3 and newer to update the profiles to 0.0.1-alpha12 and newer,
|
||||
# so they will see the print bed.
|
||||
max_slic3r_version = 2.2.0-alpha2
|
||||
min_slic3r_version = 2.2.0-alpha0
|
||||
0.0.1-alpha Initial version
|
858
resources/profiles/BIBO.ini
Normal file
@ -0,0 +1,858 @@
|
||||
# Print profiles for the BIBO printers.
|
||||
|
||||
[vendor]
|
||||
# Vendor name will be shown by the Config Wizard.
|
||||
name = BIBO
|
||||
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
||||
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
||||
config_version = 0.0.1
|
||||
# Where to get the updates from?
|
||||
config_update_url = http://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/BIBO/
|
||||
|
||||
# The printer models will be shown by the Configuration Wizard in this order,
|
||||
# also the first model installed & the first nozzle installed will be activated after install.
|
||||
# Printer model name will be shown by the installation wizard.
|
||||
|
||||
[printer_model:BIBO2]
|
||||
name = BIBO2 Touch
|
||||
variants = 0.4
|
||||
technology = FFF
|
||||
family = BIBO2
|
||||
bed_model = BIBO2_bed.stl
|
||||
bed_texture = BIBO2.svg
|
||||
default_materials = Generic PLA @BIBO2; Generic PETG @BIBO2; Generic ABS @BIBO2; Prusament PLA @BIBO2; Prusament PETG @BIBO2
|
||||
|
||||
# All presets starting with asterisk, for example *common*, are intermediate and they will
|
||||
# not make it into the user interface.
|
||||
|
||||
# Common print preset
|
||||
[print:*common*]
|
||||
avoid_crossing_perimeters = 0
|
||||
bottom_fill_pattern = rectilinear
|
||||
bridge_angle = 0
|
||||
bridge_flow_ratio = 0.95
|
||||
bridge_speed = 25
|
||||
brim_width = 0
|
||||
clip_multipart_objects = 1
|
||||
compatible_printers =
|
||||
complete_objects = 0
|
||||
dont_support_bridges = 1
|
||||
elefant_foot_compensation = 0
|
||||
ensure_vertical_shell_thickness = 1
|
||||
external_fill_pattern = rectilinear
|
||||
external_perimeters_first = 0
|
||||
external_perimeter_extrusion_width = 0.45
|
||||
extra_perimeters = 0
|
||||
extruder_clearance_height = 12
|
||||
extruder_clearance_radius = 45
|
||||
extrusion_width = 0.45
|
||||
fill_angle = 45
|
||||
fill_density = 20%
|
||||
fill_pattern = grid
|
||||
first_layer_extrusion_width = 0.42
|
||||
first_layer_height = 0.2
|
||||
first_layer_speed = 20
|
||||
gap_fill_speed = 30
|
||||
gcode_comments = 0
|
||||
infill_every_layers = 1
|
||||
infill_extruder = 1
|
||||
infill_extrusion_width = 0.45
|
||||
infill_first = 0
|
||||
infill_only_where_needed = 0
|
||||
infill_overlap = 25%
|
||||
interface_shells = 0
|
||||
max_print_speed = 60
|
||||
max_volumetric_extrusion_rate_slope_negative = 0
|
||||
max_volumetric_extrusion_rate_slope_positive = 0
|
||||
max_volumetric_speed = 0
|
||||
min_skirt_length = 4
|
||||
notes =
|
||||
overhangs = 1
|
||||
only_retract_when_crossing_perimeters = 0
|
||||
ooze_prevention = 0
|
||||
output_filename_format = {input_filename_base}_{layer_height}mm_{if num_extruders==1}{filament_type[0]}{else}E1{filament_type[0]}_E2{filament_type[1]}{endif}_{printer_model}_{print_time}.gcode
|
||||
perimeters = 2
|
||||
perimeter_extruder = 1
|
||||
perimeter_extrusion_width = 0.45
|
||||
post_process =
|
||||
print_settings_id =
|
||||
raft_layers = 0
|
||||
resolution = 0
|
||||
seam_position = aligned
|
||||
single_extruder_multi_material_priming = 0
|
||||
skirts = 3
|
||||
skirt_distance = 2
|
||||
skirt_height = 1
|
||||
small_perimeter_speed = 25
|
||||
solid_infill_below_area = 0
|
||||
solid_infill_every_layers = 0
|
||||
solid_infill_extruder = 1
|
||||
solid_infill_extrusion_width = 0.45
|
||||
spiral_vase = 0
|
||||
standby_temperature_delta = -5
|
||||
support_material = 0
|
||||
support_material_extruder = 0
|
||||
support_material_extrusion_width = 0.4
|
||||
support_material_interface_extruder = 0
|
||||
support_material_angle = 0
|
||||
support_material_buildplate_only = 0
|
||||
support_material_enforce_layers = 0
|
||||
support_material_contact_distance = 0.15
|
||||
support_material_interface_contact_loops = 0
|
||||
support_material_interface_layers = 2
|
||||
support_material_interface_spacing = 0.2
|
||||
support_material_interface_speed = 100%
|
||||
support_material_pattern = rectilinear
|
||||
support_material_spacing = 2
|
||||
support_material_speed = 40
|
||||
support_material_synchronize_layers = 0
|
||||
support_material_threshold = 45
|
||||
support_material_with_sheath = 0
|
||||
support_material_xy_spacing = 60%
|
||||
thin_walls = 0
|
||||
top_infill_extrusion_width = 0.45
|
||||
top_solid_infill_speed = 40
|
||||
travel_speed = 130
|
||||
wipe_tower = 0
|
||||
wipe_tower_bridging = 10
|
||||
wipe_tower_rotation_angle = 0
|
||||
wipe_tower_width = 60
|
||||
wipe_tower_x = 50
|
||||
wipe_tower_y = 50
|
||||
xy_size_compensation = 0
|
||||
|
||||
[print:*0.05mm*]
|
||||
inherits = *common*
|
||||
bottom_solid_layers = 10
|
||||
bridge_acceleration = 300
|
||||
bridge_flow_ratio = 0.7
|
||||
default_acceleration = 500
|
||||
external_perimeter_speed = 20
|
||||
fill_density = 20%
|
||||
first_layer_acceleration = 250
|
||||
gap_fill_speed = 20
|
||||
infill_acceleration = 800
|
||||
infill_speed = 30
|
||||
max_print_speed = 60
|
||||
small_perimeter_speed = 20
|
||||
solid_infill_speed = 30
|
||||
support_material_extrusion_width = 0.3
|
||||
support_material_spacing = 1.5
|
||||
layer_height = 0.05
|
||||
perimeter_acceleration = 300
|
||||
perimeter_speed = 30
|
||||
perimeters = 3
|
||||
support_material_speed = 30
|
||||
top_solid_infill_speed = 20
|
||||
top_solid_layers = 15
|
||||
|
||||
[print:*0.07mm*]
|
||||
inherits = *common*
|
||||
bottom_solid_layers = 8
|
||||
bridge_acceleration = 300
|
||||
bridge_flow_ratio = 0.7
|
||||
bridge_speed = 20
|
||||
default_acceleration = 1000
|
||||
external_perimeter_speed = 20
|
||||
fill_density = 15%
|
||||
first_layer_acceleration = 500
|
||||
gap_fill_speed = 20
|
||||
infill_acceleration = 800
|
||||
infill_speed = 40
|
||||
max_print_speed = 60
|
||||
small_perimeter_speed = 20
|
||||
solid_infill_speed = 40
|
||||
support_material_extrusion_width = 0.3
|
||||
support_material_spacing = 1.5
|
||||
layer_height = 0.07
|
||||
perimeter_acceleration = 300
|
||||
perimeter_speed = 30
|
||||
perimeters = 3
|
||||
support_material_speed = 40
|
||||
top_solid_infill_speed = 30
|
||||
top_solid_layers = 11
|
||||
|
||||
[print:*0.10mm*]
|
||||
inherits = *common*
|
||||
bottom_solid_layers = 7
|
||||
bridge_flow_ratio = 0.7
|
||||
layer_height = 0.1
|
||||
perimeter_acceleration = 800
|
||||
top_solid_layers = 9
|
||||
|
||||
[print:*0.12mm*]
|
||||
inherits = *common*
|
||||
perimeter_speed = 40
|
||||
external_perimeter_speed = 25
|
||||
infill_speed = 50
|
||||
solid_infill_speed = 40
|
||||
layer_height = 0.12
|
||||
perimeters = 3
|
||||
top_infill_extrusion_width = 0.4
|
||||
bottom_solid_layers = 6
|
||||
top_solid_layers = 7
|
||||
|
||||
[print:*0.15mm*]
|
||||
inherits = *common*
|
||||
external_perimeter_speed = 40
|
||||
infill_acceleration = 1100
|
||||
infill_speed = 50
|
||||
layer_height = 0.15
|
||||
perimeter_acceleration = 800
|
||||
perimeter_speed = 40
|
||||
solid_infill_speed = 40
|
||||
top_infill_extrusion_width = 0.4
|
||||
bottom_solid_layers = 5
|
||||
top_solid_layers = 7
|
||||
|
||||
[print:*0.20mm*]
|
||||
inherits = *common*
|
||||
perimeter_speed = 40
|
||||
external_perimeter_speed = 25
|
||||
infill_speed = 50
|
||||
solid_infill_speed = 40
|
||||
layer_height = 0.20
|
||||
top_infill_extrusion_width = 0.4
|
||||
bottom_solid_layers = 4
|
||||
top_solid_layers = 5
|
||||
|
||||
[print:*0.24mm*]
|
||||
inherits = *common*
|
||||
perimeter_speed = 40
|
||||
external_perimeter_speed = 25
|
||||
infill_speed = 50
|
||||
solid_infill_speed = 40
|
||||
layer_height = 0.24
|
||||
top_infill_extrusion_width = 0.45
|
||||
bottom_solid_layers = 3
|
||||
top_solid_layers = 4
|
||||
|
||||
[print:*0.28mm*]
|
||||
inherits = *common*
|
||||
perimeter_speed = 40
|
||||
external_perimeter_speed = 25
|
||||
infill_speed = 50
|
||||
solid_infill_speed = 40
|
||||
layer_height = 0.28
|
||||
top_infill_extrusion_width = 0.45
|
||||
bottom_solid_layers = 3
|
||||
top_solid_layers = 4
|
||||
|
||||
[print:*0.30mm*]
|
||||
inherits = *common*
|
||||
bottom_solid_layers = 4
|
||||
bridge_flow_ratio = 0.95
|
||||
external_perimeter_speed = 40
|
||||
infill_acceleration = 1100
|
||||
infill_speed = 60
|
||||
layer_height = 0.3
|
||||
perimeter_acceleration = 800
|
||||
perimeter_speed = 50
|
||||
solid_infill_speed = 50
|
||||
top_infill_extrusion_width = 0.4
|
||||
top_solid_layers = 4
|
||||
|
||||
[print:*soluble_support*]
|
||||
inherits = *common*
|
||||
overhangs = 1
|
||||
skirts = 0
|
||||
support_material = 1
|
||||
support_material_contact_distance = 0
|
||||
support_material_extruder = 2
|
||||
support_material_extrusion_width = 0.45
|
||||
support_material_interface_extruder = 2
|
||||
support_material_interface_layers = 3
|
||||
support_material_interface_spacing = 0.1
|
||||
support_material_synchronize_layers = 1
|
||||
support_material_threshold = 80
|
||||
support_material_with_sheath = 1
|
||||
wipe_tower_bridging = 6
|
||||
support_material_interface_speed = 80%
|
||||
perimeter_speed = 40
|
||||
solid_infill_speed = 40
|
||||
top_infill_extrusion_width = 0.45
|
||||
top_solid_infill_speed = 30
|
||||
|
||||
[print:0.05mm ULTRADETAIL @BIBO2]
|
||||
inherits = *0.05mm*
|
||||
# alias = 0.05mm ULTRADETAIL
|
||||
infill_extrusion_width = 0.5
|
||||
|
||||
[print:0.07mm SUPERDETAIL @BIBO2]
|
||||
inherits = *0.07mm*
|
||||
# alias = 0.07mm SUPERDETAIL
|
||||
infill_extrusion_width = 0.5
|
||||
|
||||
[print:0.10mm HIGHDETAIL @BIBO2]
|
||||
inherits = *0.10mm*
|
||||
# alias = 0.10mm HIGHDETAIL
|
||||
infill_extrusion_width = 0.5
|
||||
|
||||
[print:0.12mm DETAIL @BIBO2]
|
||||
inherits = *0.12mm*
|
||||
# alias = 0.12mm DETAIL
|
||||
travel_speed = 130
|
||||
infill_speed = 50
|
||||
solid_infill_speed = 40
|
||||
top_solid_infill_speed = 30
|
||||
support_material_extrusion_width = 0.38
|
||||
|
||||
[print:0.15mm OPTIMAL @BIBO2]
|
||||
inherits = *0.15mm*
|
||||
# alias = 0.15mm OPTIMAL
|
||||
top_infill_extrusion_width = 0.45
|
||||
|
||||
[print:0.20mm NORMAL @BIBO2]
|
||||
inherits = *0.20mm*
|
||||
# alias = 0.20mm NORMAL
|
||||
travel_speed = 130
|
||||
infill_speed = 50
|
||||
solid_infill_speed = 40
|
||||
top_solid_infill_speed = 30
|
||||
support_material_extrusion_width = 0.38
|
||||
|
||||
[print:0.24mm DRAFT @BIBO2]
|
||||
inherits = *0.24mm*
|
||||
# alias = 0.24mm DRAFT
|
||||
travel_speed = 130
|
||||
infill_speed = 50
|
||||
solid_infill_speed = 40
|
||||
top_solid_infill_speed = 30
|
||||
support_material_extrusion_width = 0.38
|
||||
|
||||
[print:0.28mm SUPERDRAFT @BIBO2]
|
||||
inherits = *0.28mm*
|
||||
# alias = 0.28mm SUPERDRAFT
|
||||
travel_speed = 130
|
||||
infill_speed = 50
|
||||
solid_infill_speed = 40
|
||||
top_solid_infill_speed = 30
|
||||
support_material_extrusion_width = 0.38
|
||||
|
||||
[print:0.30mm ULTRADRAFT @BIBO2]
|
||||
inherits = *0.30mm*
|
||||
# alias = 0.30mm ULTRADRAFT
|
||||
bottom_solid_layers = 3
|
||||
bridge_speed = 30
|
||||
external_perimeter_speed = 35
|
||||
infill_acceleration = 1100
|
||||
infill_speed = 55
|
||||
max_print_speed = 60
|
||||
perimeter_speed = 50
|
||||
small_perimeter_speed = 30
|
||||
solid_infill_speed = 50
|
||||
top_solid_infill_speed = 40
|
||||
support_material_speed = 45
|
||||
external_perimeter_extrusion_width = 0.6
|
||||
extrusion_width = 0.5
|
||||
first_layer_extrusion_width = 0.42
|
||||
infill_extrusion_width = 0.5
|
||||
perimeter_extrusion_width = 0.5
|
||||
solid_infill_extrusion_width = 0.5
|
||||
top_infill_extrusion_width = 0.45
|
||||
support_material_extrusion_width = 0.38
|
||||
|
||||
# Soluble Supports Profiles for dual extrusion #
|
||||
[print:0.15mm OPTIMAL SOLUBLE FULL @BIBO2]
|
||||
inherits = 0.15mm OPTIMAL @BIBO2; *soluble_support*
|
||||
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_BIBO.*/ and num_extruders==2
|
||||
external_perimeter_speed = 25
|
||||
notes = Set your soluble extruder in Multiple Extruders > Support material/raft/skirt extruder & Support material/raft interface extruder
|
||||
support_material_extruder = 2
|
||||
perimeter_speed = 40
|
||||
solid_infill_speed = 40
|
||||
top_infill_extrusion_width = 0.45
|
||||
top_solid_infill_speed = 30
|
||||
|
||||
[print:0.15mm OPTIMAL SOLUBLE INTERFACE @BIBO2]
|
||||
inherits = 0.15mm OPTIMAL SOLUBLE FULL @BIBO2
|
||||
notes = Set your soluble extruder in Multiple Extruders > Support material/raft interface extruder
|
||||
support_material_interface_layers = 3
|
||||
support_material_with_sheath = 0
|
||||
support_material_xy_spacing = 80%
|
||||
|
||||
[print:0.20mm NORMAL SOLUBLE FULL @BIBO2]
|
||||
inherits = 0.20mm NORMAL @BIBO2; *soluble_support*
|
||||
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_BIBO.*/ and num_extruders==2
|
||||
external_perimeter_speed = 30
|
||||
notes = Set your soluble extruder in Multiple Extruders > Support material/raft/skirt extruder & Support material/raft interface extruder
|
||||
support_material_extruder = 2
|
||||
perimeter_speed = 40
|
||||
solid_infill_speed = 40
|
||||
top_solid_infill_speed = 30
|
||||
|
||||
[print:0.20mm NORMAL SOLUBLE INTERFACE @BIBO2]
|
||||
inherits = 0.20mm NORMAL SOLUBLE FULL @BIBO2
|
||||
notes = Set your soluble extruder in Multiple Extruders > Support material/raft interface extruder
|
||||
support_material_interface_layers = 3
|
||||
support_material_with_sheath = 0
|
||||
support_material_xy_spacing = 80%
|
||||
|
||||
# Common filament preset
|
||||
[filament:*common*]
|
||||
cooling = 0
|
||||
compatible_printers =
|
||||
extrusion_multiplier = 1
|
||||
filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
filament_minimal_purge_on_wipe_tower = 15
|
||||
filament_cost = 0
|
||||
filament_density = 0
|
||||
filament_diameter = 1.75
|
||||
filament_notes = ""
|
||||
filament_settings_id = ""
|
||||
filament_soluble = 0
|
||||
min_print_speed = 15
|
||||
slowdown_below_layer_time = 20
|
||||
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_BIBO.*/
|
||||
|
||||
[filament:*PLA*]
|
||||
inherits = *common*
|
||||
bed_temperature = 60
|
||||
fan_below_layer_time = 100
|
||||
filament_colour = #FF3232
|
||||
filament_max_volumetric_speed = 15
|
||||
filament_type = PLA
|
||||
filament_density = 1.24
|
||||
filament_cost = 20
|
||||
first_layer_bed_temperature = 60
|
||||
first_layer_temperature = 215
|
||||
fan_always_on = 1
|
||||
cooling = 1
|
||||
max_fan_speed = 100
|
||||
min_fan_speed = 100
|
||||
bridge_fan_speed = 100
|
||||
disable_fan_first_layers = 3
|
||||
temperature = 200
|
||||
|
||||
[filament:*PET*]
|
||||
inherits = *common*
|
||||
bed_temperature = 70
|
||||
cooling = 1
|
||||
disable_fan_first_layers = 3
|
||||
fan_below_layer_time = 20
|
||||
filament_colour = #FF8000
|
||||
filament_max_volumetric_speed = 8
|
||||
filament_type = PETG
|
||||
filament_density = 1.27
|
||||
filament_cost = 30
|
||||
first_layer_bed_temperature =70
|
||||
first_layer_temperature = 240
|
||||
fan_always_on = 1
|
||||
max_fan_speed = 50
|
||||
min_fan_speed = 20
|
||||
bridge_fan_speed = 100
|
||||
temperature = 240
|
||||
|
||||
[filament:*ABS*]
|
||||
inherits = *common*
|
||||
bed_temperature = 100
|
||||
cooling = 0
|
||||
disable_fan_first_layers = 3
|
||||
fan_below_layer_time = 20
|
||||
filament_colour = #FFF2EC
|
||||
filament_max_volumetric_speed = 11
|
||||
filament_ramming_parameters = "120 100 5.70968 6.03226 7 8.25806 9 9.19355 9.3871 9.77419 10.129 10.3226 10.4516 10.5161| 0.05 5.69677 0.45 6.15484 0.95 8.76774 1.45 9.20323 1.95 9.95806 2.45 10.3871 2.95 10.5677 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
filament_type = ABS
|
||||
filament_density = 1.04
|
||||
filament_cost = 20
|
||||
first_layer_bed_temperature = 100
|
||||
first_layer_temperature = 245
|
||||
fan_always_on = 0
|
||||
max_fan_speed = 0
|
||||
min_fan_speed = 0
|
||||
bridge_fan_speed = 25
|
||||
top_fan_speed = 0
|
||||
temperature = 245
|
||||
|
||||
[filament:*FLEX*]
|
||||
inherits = *common*
|
||||
bed_temperature = 50
|
||||
bridge_fan_speed = 80
|
||||
# For now, all but selected filaments are disabled for the MMU 2.0
|
||||
cooling = 0
|
||||
disable_fan_first_layers = 3
|
||||
extrusion_multiplier = 1.2
|
||||
fan_always_on = 0
|
||||
fan_below_layer_time = 100
|
||||
filament_colour = #008000
|
||||
filament_max_volumetric_speed = 1.5
|
||||
filament_type = FLEX
|
||||
first_layer_bed_temperature = 50
|
||||
first_layer_temperature = 240
|
||||
max_fan_speed = 90
|
||||
min_fan_speed = 70
|
||||
#start_filament_gcode = "M900 K0"; Filament gcode"
|
||||
temperature = 240
|
||||
filament_retract_length = 0.8
|
||||
filament_deretract_speed = 15
|
||||
filament_retract_lift = 0
|
||||
filament_wipe = 0
|
||||
|
||||
[filament:Generic PLA @BIBO2]
|
||||
inherits = *PLA*
|
||||
filament_vendor = Generic
|
||||
filament_notes = "List of materials which typically use standard PLA print settings:\n\nDas Filament\nEsun PLA\nEUMAKERS PLA\nFiberlogy HD-PLA\nFillamentum PLA\nFloreon3D\nHatchbox PLA\nPlasty Mladec PLA\nPrimavalue PLA\nProto pasta Matte Fiber\nVerbatim PLA\nVerbatim BVOH"
|
||||
|
||||
[filament:Generic PETG @BIBO2]
|
||||
inherits = *PET*
|
||||
filament_vendor = Generic
|
||||
|
||||
[filament:Generic ABS @BIBO2]
|
||||
inherits = *ABS*
|
||||
first_layer_bed_temperature = 90
|
||||
bed_temperature = 90
|
||||
filament_vendor = Generic
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.08
|
||||
fan_always_on = 0
|
||||
cooling = 0
|
||||
min_fan_speed = 15
|
||||
max_fan_speed = 15
|
||||
slowdown_below_layer_time = 20
|
||||
disable_fan_first_layers = 4
|
||||
fan_below_layer_time = 20
|
||||
bridge_fan_speed = 25
|
||||
|
||||
[filament:Esun ABS @BIBO2]
|
||||
inherits = Generic ABS @BIBO2
|
||||
filament_vendor = Esun
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.08
|
||||
fan_always_on = 0
|
||||
cooling = 0
|
||||
min_fan_speed = 15
|
||||
max_fan_speed = 15
|
||||
slowdown_below_layer_time = 20
|
||||
disable_fan_first_layers = 4
|
||||
fan_below_layer_time = 20
|
||||
bridge_fan_speed = 25
|
||||
|
||||
[filament:Hatchbox ABS @BIBO2]
|
||||
inherits = Generic ABS @BIBO2
|
||||
filament_vendor = Hatchbox
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.08
|
||||
fan_always_on = 0
|
||||
cooling = 0
|
||||
min_fan_speed = 15
|
||||
max_fan_speed = 15
|
||||
slowdown_below_layer_time = 20
|
||||
disable_fan_first_layers = 4
|
||||
fan_below_layer_time = 20
|
||||
bridge_fan_speed = 25
|
||||
|
||||
[filament:Generic HIPS @BIBO2]
|
||||
inherits = *ABS*
|
||||
filament_vendor = Generic
|
||||
filament_cost = 27.3
|
||||
filament_density = 1.04
|
||||
bridge_fan_speed = 50
|
||||
cooling = 1
|
||||
extrusion_multiplier = 1
|
||||
fan_always_on = 1
|
||||
fan_below_layer_time = 10
|
||||
filament_colour = #FFFFD7
|
||||
filament_soluble = 1
|
||||
filament_type = HIPS
|
||||
first_layer_temperature = 230
|
||||
max_fan_speed = 20
|
||||
min_fan_speed = 20
|
||||
temperature = 230
|
||||
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_BIBO.*/ and num_extruders==2
|
||||
|
||||
[filament:AMOLEN bronze PLA @BIBO2]
|
||||
inherits = *PLA*
|
||||
filament_vendor = AMOLEN
|
||||
temperature = 205
|
||||
bed_temperature = 65
|
||||
filament_colour = #808040
|
||||
first_layer_bed_temperature = 65
|
||||
first_layer_temperature = 215
|
||||
filament_cost = 25.99
|
||||
filament_density = 1.24
|
||||
|
||||
[filament:Prusament PLA @BIBO2]
|
||||
inherits = *PLA*
|
||||
filament_vendor = Prusa Polymers
|
||||
temperature = 215
|
||||
bed_temperature = 60
|
||||
first_layer_temperature = 215
|
||||
first_layer_bed_temperature = 60
|
||||
filament_cost = 24.99
|
||||
filament_density = 1.24
|
||||
|
||||
[filament:Prusament PETG @BIBO2]
|
||||
inherits = *PET*
|
||||
filament_vendor = Prusa Polymers
|
||||
temperature = 245
|
||||
bed_temperature = 70
|
||||
first_layer_temperature = 245
|
||||
first_layer_bed_temperature =70
|
||||
filament_cost = 24.99
|
||||
filament_density = 1.27
|
||||
|
||||
[filament:PrimaSelect PVA+ @BIBO2]
|
||||
inherits = *PLA*
|
||||
filament_vendor = PrimaSelect
|
||||
filament_cost = 108
|
||||
filament_density = 1.23
|
||||
cooling = 0
|
||||
fan_always_on = 0
|
||||
filament_colour = #FFFFD7
|
||||
filament_max_volumetric_speed = 3.8
|
||||
filament_ramming_parameters = "120 100 8.3871 8.6129 8.93548 9.22581 9.48387 9.70968 9.87097 10.0323 10.2258 10.4194 10.6452 10.8065| 0.05 8.34193 0.45 8.73548 0.95 9.34836 1.45 9.78385 1.95 10.0871 2.45 10.5161 2.95 10.8903 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
filament_soluble = 1
|
||||
filament_type = PVA
|
||||
first_layer_temperature = 195
|
||||
temperature = 195
|
||||
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_BIBO.*/ and num_extruders==2
|
||||
|
||||
[filament:No Filament - standby only @BIBO2]
|
||||
first_layer_temperature = 170
|
||||
temperature = 170
|
||||
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_BIBO.*/ and num_extruders==2
|
||||
|
||||
[filament:Generic FLEX @BIBO2]
|
||||
inherits = *FLEX*
|
||||
filament_vendor = Generic
|
||||
filament_cost = 82
|
||||
filament_density = 1.22
|
||||
filament_max_volumetric_speed = 1.2
|
||||
filament_retract_length = 0
|
||||
filament_retract_speed = nil
|
||||
filament_retract_lift = nil
|
||||
|
||||
[filament:Overture TPU @BIBO2]
|
||||
inherits = *FLEX*
|
||||
filament_vendor = Overture
|
||||
filament_max_volumetric_speed = 1.5
|
||||
first_layer_temperature = 235
|
||||
first_layer_bed_temperature = 50
|
||||
temperature = 235
|
||||
bed_temperature = 50
|
||||
bridge_fan_speed = 100
|
||||
max_fan_speed = 80
|
||||
min_fan_speed = 80
|
||||
filament_retract_before_travel = 3
|
||||
filament_cost = 23.99
|
||||
filament_density = 1.21
|
||||
|
||||
[filament:SainSmart TPU @BIBO2]
|
||||
inherits = *FLEX*
|
||||
filament_vendor = SainSmart
|
||||
fan_always_on = 1
|
||||
filament_max_volumetric_speed = 2.5
|
||||
extrusion_multiplier = 1.15
|
||||
first_layer_temperature = 230
|
||||
first_layer_bed_temperature = 50
|
||||
temperature = 230
|
||||
bed_temperature = 50
|
||||
bridge_fan_speed = 100
|
||||
max_fan_speed = 80
|
||||
min_fan_speed = 80
|
||||
filament_retract_before_travel = 3
|
||||
filament_cost = 32.99
|
||||
filament_density = 1.21
|
||||
filament_retract_length = 0.5
|
||||
filament_retract_speed = nil
|
||||
filament_deretract_speed = 15
|
||||
filament_retract_lift = 0
|
||||
filament_wipe = 0
|
||||
disable_fan_first_layers = 3
|
||||
min_print_speed = 15
|
||||
slowdown_below_layer_time = 10
|
||||
cooling = 1
|
||||
|
||||
[filament:Filatech FilaFlex40 @BIBO2]
|
||||
inherits = *FLEX*
|
||||
filament_vendor = Filatech
|
||||
fan_always_on = 1
|
||||
filament_max_volumetric_speed = 2.5
|
||||
extrusion_multiplier = 1.15
|
||||
first_layer_temperature = 230
|
||||
first_layer_bed_temperature = 50
|
||||
temperature = 230
|
||||
bed_temperature = 50
|
||||
bridge_fan_speed = 100
|
||||
max_fan_speed = 50
|
||||
min_fan_speed = 50
|
||||
filament_retract_before_travel = 3
|
||||
filament_cost = 51.45
|
||||
filament_density = 1.22
|
||||
filament_retract_length = 0.5
|
||||
filament_retract_speed = 20
|
||||
filament_deretract_speed = 15
|
||||
filament_retract_lift = 0
|
||||
filament_wipe = 0
|
||||
disable_fan_first_layers = 3
|
||||
min_print_speed = 15
|
||||
slowdown_below_layer_time = 10
|
||||
cooling = 1
|
||||
|
||||
# Common printer preset
|
||||
[printer:*common*]
|
||||
printer_technology = FFF
|
||||
bed_shape = -107x-93,107x-93,107x93,-107x93
|
||||
before_layer_gcode = ;BEFORE_LAYER_CHANGE\n;[layer_z]\n\n
|
||||
between_objects_gcode =
|
||||
deretract_speed = 0 # By setting this value to 0 deretract used the retract_speed
|
||||
extruder_colour = #FFFF00
|
||||
extruder_offset = 0x0
|
||||
gcode_flavor = marlin
|
||||
silent_mode = 0
|
||||
remaining_times = 0
|
||||
machine_max_acceleration_e = 1100
|
||||
machine_max_acceleration_extruding = 5000
|
||||
machine_max_acceleration_retracting = 1100
|
||||
machine_max_acceleration_x = 500
|
||||
machine_max_acceleration_y = 500
|
||||
machine_max_acceleration_z = 100
|
||||
machine_max_feedrate_e = 20
|
||||
machine_max_feedrate_x = 350
|
||||
machine_max_feedrate_y = 350
|
||||
machine_max_feedrate_z = 2
|
||||
machine_max_jerk_e = 5
|
||||
machine_max_jerk_x = 8
|
||||
machine_max_jerk_y = 8
|
||||
machine_max_jerk_z = 0.3
|
||||
machine_min_extruding_rate = 0
|
||||
machine_min_travel_rate = 0
|
||||
layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z]
|
||||
max_layer_height = 0.30
|
||||
min_layer_height = 0.05
|
||||
max_print_height = 160
|
||||
octoprint_apikey =
|
||||
octoprint_host =
|
||||
printer_notes =
|
||||
printer_settings_id =
|
||||
printer_vendor = BIBO
|
||||
printhost_apikey =
|
||||
printhost_cafile =
|
||||
retract_before_travel = 1
|
||||
retract_before_wipe = 100%
|
||||
retract_layer_change = 1
|
||||
retract_length = 1.5
|
||||
retract_length_toolchange = 1.5
|
||||
retract_lift = 0
|
||||
retract_lift_above = 0
|
||||
retract_lift_below = 0
|
||||
retract_restart_extra = 0
|
||||
retract_restart_extra_toolchange = 0
|
||||
retract_speed = 20
|
||||
serial_port =
|
||||
serial_speed = 250000
|
||||
single_extruder_multi_material = 0
|
||||
toolchange_gcode =
|
||||
use_firmware_retraction = 0
|
||||
use_relative_e_distances = 1
|
||||
use_volumetric_e = 0
|
||||
variable_layer_height = 1
|
||||
wipe = 1
|
||||
z_offset = 0
|
||||
printer_model =
|
||||
default_print_profile =
|
||||
default_filament_profile =
|
||||
|
||||
[printer:BIBO2 Touch Dual extrusion]
|
||||
inherits = *common*
|
||||
printer_model = BIBO2
|
||||
between_objects_gcode =
|
||||
default_filament_profile = Generic PLA @BIBO2
|
||||
default_print_profile = 0.20mm NORMAL @BIBO2
|
||||
deretract_speed = 0,0 # Setting this value to 0 uses the retract speed
|
||||
extruder_colour = #FFFF00;#229403
|
||||
extruder_offset = 0x0,0x0
|
||||
layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z]
|
||||
max_layer_height = 0.3,0.3
|
||||
min_layer_height = 0.05,0.05
|
||||
printer_notes = Do not remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_BIBO\nPRINTER_MODEL_BIBO2
|
||||
printer_settings_id =
|
||||
printer_variant = 0.4
|
||||
nozzle_diameter = 0.4,0.4
|
||||
remaining_times = 0
|
||||
retract_before_travel = 1,1
|
||||
retract_before_wipe = 100%,100%
|
||||
retract_layer_change = 1,1
|
||||
retract_length = 1.5,1.5
|
||||
retract_length_toolchange = 1.5,1.5
|
||||
retract_lift = 0,0
|
||||
retract_lift_above = 0,0
|
||||
retract_lift_below = 0,0
|
||||
retract_restart_extra = 0,0
|
||||
retract_restart_extra_toolchange = 0,0
|
||||
retract_speed = 20,20
|
||||
start_gcode = ;Start code PrusaSlicer BIBO 2 printers\nG21 ; set units to metric\nG90 ; absolute positioning\nM107 ; start with the fan off\nM190 S{max(first_layer_bed_temperature[0] - 5, first_layer_bed_temperature[1] - 5)} ; wait for bed temp\nM140 S{max(first_layer_bed_temperature[0], first_layer_bed_temperature[1])} ; continue bed heating to full temp while other things are happening\nM104 S{first_layer_temperature[0]} T0; set 1st nozzle heater to first layer temperature\nM104 S{first_layer_temperature[1]} T1; set 2nd nozzle heater to first layer temperature\nM105 ; Report Temperatures\nM109 S{first_layer_temperature[0]} T0; wait for 1st nozzle heat to first layer temperature\nM109 S{first_layer_temperature[1]} T1; wait for 2nd nozzle heat to first layer temperature\nM105 ; Report Temperatures\nG28 X0 Y0 ; move X/Y to min endstops\nG28 Z0 ; move Z to min endstops\nG1 Z2.0 F400 ; move the platform down 2mm\nT[initial_tool]; switch to initial tool position\nG92 E0.0 ; reset extruder\nG28 ; Home all axis\nG1 Y0 F1200 E0 ; move Y to min endstop and extrude 0 filament\nG92 E0.0 ; reset extruder and zero the current extruder coordinate before printing\nM117 BIBO now Printing... ; Put now printing message on screen
|
||||
end_gcode = ;BIBO End GCode\nM107 ; turn fans off\nG91 ; Relative positioning\nG1 Z1 F100\nM140 S0 ; Disable heated bed\nM104 T0 S0 ; extruder T0 heater off\nM104 T1 S0 ; extruder T1 heater off\nG1 Z+0.5 X-20 Y-20 F300 ; move Z down then move print head a bit out of the way\nG28 X0 Y0 ; move X/Y to min endstops, so the head is out of the way\nG90 ; Absolute positioning\nG92 E0.0 ; Reset extruder position\nM84 ; Turn steppers off\nM117 BIBO Print complete ; Put print complete message on screen
|
||||
thumbnails =
|
||||
toolchange_gcode =
|
||||
use_relative_e_distances = 1
|
||||
wipe = 1,1
|
||||
z_offset = 0
|
||||
|
||||
[printer:BIBO2 Touch E1 right only extrusion]
|
||||
inherits = *common*
|
||||
printer_model = BIBO2
|
||||
printer_variant = 0.4
|
||||
extruder_colour = #FFFF00
|
||||
printer_notes = Do not remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_BIBO\nPRINTER_MODEL_BIBO2
|
||||
nozzle_diameter = 0.4
|
||||
retract_before_travel = 1
|
||||
retract_length = 1.5
|
||||
retract_speed = 20
|
||||
deretract_speed = 0 # Setting this value to 0 uses the retract speed
|
||||
retract_before_wipe = 100%
|
||||
default_print_profile = 0.20mm NORMAL @BIBO2
|
||||
default_filament_profile = Generic PLA @BIBO2
|
||||
start_gcode = ;Start code PrusaSlicer BIBO 2 printers E1 only (i.e. T0)\nG21 ; set units to metric\nG90 ; absolute positioning\nM107 ; start with the fan off\nM190 S{first_layer_bed_temperature[0] - 5} ; wait for bed temp\nM140 S{first_layer_bed_temperature[0]} ; continue bed heating to full temp while other things are happening\nM104 S{first_layer_temperature[0]} T0 ; set 1st nozzle heater to first layer temperature\nM104 S{first_layer_temperature[0] * 0.791} T1 ; set 2nd nozzle heater to 79.1 percent standby temp\nM105 ; Report Temperatures\nM109 S{first_layer_temperature[0]} T0 ; wait for 1st nozzle heat to first layer temperature\nM109 S{first_layer_temperature[0] * 0.791} T1 ; wait for 2nd nozzle heat to 79.1 percent standby temp\nM105 ; Report Temperatures\nG28 X0 Y0 ; move X/Y to min endstops\nG28 Z0 ; move Z to min endstops\nG1 Y0 F1200 E0 ; move Y to min endstop and extrude 0 filament\nT[initial_tool] ; switch to initial tool position\nG92 E0.0 ; reset extruder\nG28 ; Home all axis\nG1 Y0 F1200 E0 ; move Y to min endstop and reset extruder\nG92 E0.0 ; zero the current extruder coordinate\nM117 Cleaning... ; Put Cleaning message on screen, Attempt Nozzle Wipe (for ooze free startup)\nG1 X-15.0 Y-92.9 Z0.3 F2400.0 ; move to start-line position\nG1 X15.0 Y-92.9 Z0.3 F1000.0 E2 ; draw 1st line\nG1 X15.0 Y-92.6 Z0.3 F3000.0 ; move to side a little\nG1 X-15.0 Y-92.6 Z0.3 F1000.0 E4 ; draw 2nd line\nG1 X-15.0 Y-92.3 Z0.3 F3000.0 ; move to side a little\nG1 X15.0 Y-92.3 Z0.3 F1000.0 E6 ; draw 3rd line\nG1 X15.0 Y-92 Z0.3 F3000.0 ; move to side a little\nG1 X-15.0 Y-92 Z0.3 F1000.0 E8 ; draw 4th line\nG92 E0.0 ; reset extruder and zero the current extruder coordinate before printing\nM117 BIBO E1 now Printing... ; Put now printing message on screen
|
||||
end_gcode = ;BIBO End GCode\nM107 ; turn fans off\nG91 ; Relative positioning\nG1 Z1 F100\nM140 S0 ; Disable heated bed\nM104 T0 S0 ; extruder T0 heater off\nM104 T1 S0 ; extruder T1 heater off\nG1 Z+0.5 X-20 Y-20 F300 ; move Z down then move print head a bit out of the way\nG28 X0 Y0 ; move X/Y to min endstops, so the head is out of the way\nG90 ; Absolute positioning\nG92 E0.0 ; Reset extruder position\nM84 ; Turn steppers off\nM117 BIBO Print complete ; Put print complete message on screen
|
||||
thumbnails =
|
||||
toolchange_gcode =
|
||||
use_relative_e_distances = 1
|
||||
wipe = 1
|
||||
z_offset = 0
|
||||
|
||||
|
||||
[printer:BIBO2 Touch E2 left only extrusion]
|
||||
inherits = *common*
|
||||
printer_model = BIBO2
|
||||
printer_variant = 0.4
|
||||
extruder_colour = #229403
|
||||
printer_notes = Do not remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_BIBO\nPRINTER_MODEL_BIBO2
|
||||
nozzle_diameter = 0.4
|
||||
retract_before_travel = 1
|
||||
retract_length = 1.5
|
||||
retract_speed = 20
|
||||
deretract_speed = 0 # Setting this value to 0 uses the retract speed
|
||||
retract_before_wipe = 100%
|
||||
default_print_profile = 0.20mm NORMAL @BIBO2
|
||||
default_filament_profile = Generic PLA @BIBO2
|
||||
start_gcode = ;Start code PrusaSlicer BIBO 2 printers E2 only (i.e. T1)\nG21 ; set units to metric\nG90 ; absolute positioning\nM107 ; start with the fan off\nM140 S{first_layer_bed_temperature[0] - 5} ; set bed temp\nM105 ; Report Temperatures\nM190 S{first_layer_bed_temperature[0]} ; wait for bed temp\nM104 S{first_layer_temperature[0] * 0.791} T0 ; set 1st nozzle heater to 79.1 percent standby temp\nM104 S{first_layer_temperature[0]} T1 ; set 2nd nozzle heater to first layer temperature\nM105 ; Report Temperatures\nM109 S{first_layer_temperature[0] * 0.791} T0 ; set 1st nozzle heater to 79.1 percent standby temp\nM109 S{first_layer_temperature[0]} T1 ; Wait for 2nd nozzle heater to first layer temperature\nM105 ; Report Temperatures\nG28 X0 Y0 ; move X/Y to min endstops\nG28 Z0 ; move Z to min endstops\nG1 Z2 F400 ; move the print bed down 2mm\nT0 ; switch to tool position T0\nG90 ; absolute positioning\nG92 E0.0 ; zero the current extruder coordinate\nG28 ; Home all axis\nG1 Y0 F1200 E0 ; move Y to min endstop and reset extruder\nG92 E0.0 ; zero the current extruder coordinate\nT1 ; switch to tool position T1\nG92 E0.0 ; zero the current extruder coordinate\nM117 E2 nozzle wipe... ; Put Nozzle wipe message on screen, Attempt Nozzle Wipe (for ooze free startup)\nG1 X-15.0 Y-92.9 Z0.3 F2400.0 ; move to start-line position\nG1 X15.0 Y-92.9 Z0.3 F1000.0 E2 ; draw 1st line\nG1 X15.0 Y-92.6 Z0.3 F3000.0 ; move to side a little\nG1 X-15.0 Y-92.6 Z0.3 F1000.0 E4 ; draw 2nd line\nG1 X-15.0 Y-92.3 Z0.3 F3000.0 ; move to side a little\nG1 X15.0 Y-92.3 Z0.3 F1000.0 E6 ; draw 3rd line\nG1 X15.0 Y-92 Z0.3 F3000.0 ; move to side a little\nG1 X-15.0 Y-92 Z0.3 F1000.0 E8 ; draw 4th line\nG92 E0.0 ; reset extruder coordinate to zero before printing\nM117 BIBO Now Printing from E2... ; Put now printing message on screen
|
||||
end_gcode = ;BIBO End GCode\nM107 ; turn fans off\nG91 ; Relative positioning\nG1 Z1 F100\nM140 S0 ; Disable heated bed\nM104 T0 S0 ; extruder T0 heater off\nM104 T1 S0 ; extruder T1 heater off\nG1 Z+0.5 X-20 Y-20 F300 ; move Z down then move print head a bit out of the way\nG28 X0 Y0 ; move X/Y to min endstops, so the head is out of the way\nG90 ; Absolute positioning\nG92 E0.0 ; Reset extruder position\nM84 ; Turn steppers off\nM117 BIBO Print complete ; Put print complete message on screen
|
||||
thumbnails =
|
||||
toolchange_gcode =
|
||||
use_relative_e_distances = 1
|
||||
wipe = 1
|
||||
z_offset = 0
|
||||
|
||||
# Ditto Printing options with custom beds and special start end gcode for print duplication from one nozzle to the other
|
||||
[printer:BIBO2 E1 right E2 Ditto]
|
||||
inherits = BIBO2 Touch E1 right only extrusion
|
||||
printer_model = BIBO2
|
||||
printer_notes = Do not remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_BIBO\nPRINTER_MODEL_BIBO2
|
||||
bed_shape = 0x-93,33x-93,33x93,0x93
|
||||
#bed_model = BIBO2_bed.stl
|
||||
#bed_texture = BIBO2.svg
|
||||
before_layer_gcode = ;BEFORE_LAYER_CHANGE\n;[layer_z]\nM104 S{temperature[0]} T1 ; set 2nd nozzle heater to print temperature\n
|
||||
start_gcode = ;Start code PrusaSlicer BIBO 2 printers E1 only (i.e. T0)\nM420 S1 ; Turn on Ditto Printing\nG21 ; set units to metric\nG90 ; absolute positioning\nM107 ; start with the fan off\nM190 S{first_layer_bed_temperature[0] - 5} ; wait for bed temp\nM140 S{first_layer_bed_temperature[0]} ; continue bed heating to full temp while other things are happening\nM104 S{first_layer_temperature[0]} T0 ; set 1st nozzle heater to first layer temperature\nM104 S{first_layer_temperature[0]} T1 ; set 2nd nozzle heater to same first layer temperature\nM105 ; Report Temperatures\nM109 S{first_layer_temperature[0]} T0 ; wait for 1st nozzle heat to first layer temperature\nM109 S{first_layer_temperature[0]} T1 ; wait for 2nd nozzle heat to same first layer temperature\nM105 ; Report Temperatures\nG28 X0 Y0 ; move X/Y to min endstops\nG28 Z0 ; move Z to min endstops\nG1 Y0 F1200 E0 ; move Y to min endstop and extrude 0 filament\nT[initial_tool] ; switch to initial tool position\nG92 E0.0 ; reset extruder\nG28 ; Home all axis\nG1 Y0 F1200 E0 ; move Y to min endstop and reset extruder\nG92 E0.0 ; zero the current extruder coordinate\nM117 Cleaning... ; Put Cleaning message on screen, Attempt Nozzle Wipe (for ooze free startup)\nG1 X-15.0 Y-92.9 Z0.3 F2400.0 ; move to start-line position\nG1 X15.0 Y-92.9 Z0.3 F1000.0 E2 ; draw 1st line\nG1 X15.0 Y-92.6 Z0.3 F3000.0 ; move to side a little\nG1 X-15.0 Y-92.6 Z0.3 F1000.0 E4 ; draw 2nd line\nG1 X-15.0 Y-92.3 Z0.3 F3000.0 ; move to side a little\nG1 X15.0 Y-92.3 Z0.3 F1000.0 E6 ; draw 3rd line\nG1 X15.0 Y-92 Z0.3 F3000.0 ; move to side a little\nG1 X-15.0 Y-92 Z0.3 F1000.0 E8 ; draw 4th line\nG92 E0.0 ; reset extruder and zero the current extruder coordinate before printing\nM117 BIBO E1 now Printing... ; Put now printing message on screen
|
||||
end_gcode = ;BIBO End GCode\nM107 ; turn fans off\nG91 ; Relative positioning\nG1 Z1 F100\nM140 S0 ; Disable heated bed\nM104 T0 S0 ; extruder T0 heater off\nM104 T1 S0 ; extruder T1 heater off\nG1 Z+0.5 X-20 Y-20 F300 ; move Z down then move print head a bit out of the way\nG28 X0 Y0 ; move X/Y to min endstops, so the head is out of the way\nG90 ; Absolute positioning\nG92 E0.0 ; Reset extruder position\nM84 ; Turn steppers off\nM420 S0 ; Turn off Ditto Printing function\nM117 BIBO Print complete ; Put print complete message on screen
|
||||
|
||||
[printer:BIBO2 E2 left E1 Ditto]
|
||||
inherits = BIBO2 Touch E2 left only extrusion
|
||||
printer_model = BIBO2
|
||||
printer_notes = Do not remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_BIBO\nPRINTER_MODEL_BIBO2
|
||||
bed_shape = -33x-93,0x-93,0x93,-33x93
|
||||
#bed_model = BIBO2_bed.stl
|
||||
#bed_texture = BIBO2.svg
|
||||
before_layer_gcode = ;BEFORE_LAYER_CHANGE\n;[layer_z]\nM104 S{temperature[0]} T0 ; set 1st nozzle heater to print temperature\n
|
||||
start_gcode = ;Start code PrusaSlicer BIBO 2 printers E2 only (i.e. T1)\nM420 S1 ; Turn on Ditto Printing\nG21 ; set units to metric\nG90 ; absolute positioning\nM107 ; start with the fan off\nM140 S{first_layer_bed_temperature[0] - 5} ; set bed temp\nM105 ; Report Temperatures\nM190 S{first_layer_bed_temperature[0]} ; wait for bed temp\nM104 S{first_layer_temperature[0]} T0 ; set 1st nozzle heater to ditto print temperature\nM104 S{first_layer_temperature[0]} T1 ; set 2nd nozzle heater to first layer temperature\nM105 ; Report Temperatures\nM109 S{first_layer_temperature[0]} T0 ; set 1st nozzle heater to ditto printing temperature\nM109 S{first_layer_temperature[0]} T1 ; Wait for 2nd nozzle heater to first layer temperature\nM105 ; Report Temperatures\nG28 X0 Y0 ; move X/Y to min endstops\nG28 Z0 ; move Z to min endstops\nG1 Z2 F400 ; move the print bed down 2mm\nT0 ; switch to tool position T0\nG90 ; absolute positioning\nG92 E0.0 ; zero the current extruder coordinate\nG28 ; Home all axis\nG1 Y0 F1200 E0 ; move Y to min endstop and reset extruder\nG92 E0.0 ; zero the current extruder coordinate\nT1 ; switch to tool position T1\nG92 E0.0 ; zero the current extruder coordinate\nM117 E2 nozzle wipe... ; Put Nozzle wipe message on screen, Attempt Nozzle Wipe (for ooze free startup)\nG1 X-15.0 Y-92.9 Z0.3 F2400.0 ; move to start-line position\nG1 X15.0 Y-92.9 Z0.3 F1000.0 E2 ; draw 1st line\nG1 X15.0 Y-92.6 Z0.3 F3000.0 ; move to side a little\nG1 X-15.0 Y-92.6 Z0.3 F1000.0 E4 ; draw 2nd line\nG1 X-15.0 Y-92.3 Z0.3 F3000.0 ; move to side a little\nG1 X15.0 Y-92.3 Z0.3 F1000.0 E6 ; draw 3rd line\nG1 X15.0 Y-92 Z0.3 F3000.0 ; move to side a little\nG1 X-15.0 Y-92 Z0.3 F1000.0 E8 ; draw 4th line\nG92 E0.0 ; reset extruder coordinate to zero before printing\nM117 BIBO Now Printing from E2... ; Put now printing message on screen
|
||||
end_gcode = ;BIBO End GCode\nM107 ; turn fans off\nG91 ; Relative positioning\nG1 Z1 F100\nM140 S0 ; Disable heated bed\nM104 T0 S0 ; extruder T0 heater off\nM104 T1 S0 ; extruder T1 heater off\nG1 Z+0.5 X-20 Y-20 F300 ; move Z down then move print head a bit out of the way\nG28 X0 Y0 ; move X/Y to min endstops, so the head is out of the way\nG90 ; Absolute positioning\nG92 E0.0 ; Reset extruder position\nM84 ; Turn steppers off\nM420 S0 ; Turn off Ditto Printing function\nM117 BIBO Print complete ; Put print complete message on screen
|
108
resources/profiles/BIBO/BIBO2.svg
Normal file
@ -0,0 +1,108 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="606.6" height="527.2" viewBox="0 0 606.6 527.2">
|
||||
<title>BIBO2_new</title>
|
||||
<line y2="527.2" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.41999995708466px"/>
|
||||
<line x1="141.7" x2="141.7" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.41999995708466px"/>
|
||||
<line x1="283.5" x2="283.5" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.41999995708466px"/>
|
||||
<line x1="425.2" x2="425.2" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.41999995708466px"/>
|
||||
<line x1="566.9" x2="566.9" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.41999995708466px"/>
|
||||
<line x1="606.6" y1="514.7" x2="606.6" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.41999995708466px"/>
|
||||
<line x1="11.6" y1="513.1" x2="606.6" y2="513.1" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.41999995708466px"/>
|
||||
<line y1="527.2" x2="606.6" y2="527.2" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.41999995708466px"/>
|
||||
<line x1="11.6" y1="371.3" x2="606.6" y2="371.3" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.41999995708466px"/>
|
||||
<line x1="11.6" y1="229.6" x2="606.6" y2="229.6" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.41999995708466px"/>
|
||||
<line x1="11.6" y1="87.9" x2="606.6" y2="87.9" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.41999995708466px"/>
|
||||
<line x1="606.6" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.41999995708466px"/>
|
||||
<line x1="85" x2="85" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="113.4" x2="113.4" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="170.1" x2="170.1" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="198.4" x2="198.4" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="226.8" x2="226.8" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="255.1" x2="255.1" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="311.8" x2="311.8" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="340.2" x2="340.2" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="368.5" x2="368.5" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="396.9" x2="396.9" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="453.5" x2="453.5" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="481.9" x2="481.9" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="510.2" x2="510.2" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="538.6" x2="538.6" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="595.3" x2="595.3" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="28.3" x2="28.3" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="56.7" x2="56.7" y2="514.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="11.6" y1="399.7" x2="606.6" y2="399.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="11.6" y1="428" x2="606.6" y2="428" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="11.6" y1="456.4" x2="606.6" y2="456.4" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="11.6" y1="484.7" x2="606.6" y2="484.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="11.6" y1="343" x2="606.6" y2="343" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="11.6" y1="314.7" x2="606.6" y2="314.7" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="11.6" y1="286.3" x2="606.6" y2="286.3" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="11.6" y1="258" x2="606.6" y2="258" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="11.6" y1="201.3" x2="606.6" y2="201.3" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="11.6" y1="172.9" x2="606.6" y2="172.9" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="11.6" y1="144.6" x2="606.6" y2="144.6" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="11.6" y1="116.2" x2="606.6" y2="116.2" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="11.6" y1="59.5" x2="606.6" y2="59.5" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="11.6" y1="31.2" x2="606.6" y2="31.2" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<line x1="11.6" y1="2.8" x2="606.6" y2="2.8" style="fill: none;stroke: #fff;stroke-linecap: round;stroke-linejoin: round;stroke-width: 0.370000004768372px"/>
|
||||
<path d="M26.4,519.7H27l.5-.2a.5.5,0,0,0,.4-.3c.1-.1.1-.2.2-.4h.7v5.6h-1v-4H26.4Z" style="fill: #fff"/>
|
||||
<path d="M58.1,524.4H54.3a2.7,2.7,0,0,1,.3-1.2,3.8,3.8,0,0,1,.9-.9l.6-.4.6-.4.4-.5a1.3,1.3,0,0,0,.1-.6v-.3a.4.4,0,0,0-.1-.3l-.3-.2-.5-.2-.4.2a.3.3,0,0,0-.3.3.5.5,0,0,0-.2.4v.6h-1c0-.3.1-.6.1-.9a4.3,4.3,0,0,1,.4-.7l.6-.4a1.7,1.7,0,0,1,1.7,0l.6.4.3.5c0,.2.1.4.1.6a1.4,1.4,0,0,1-.2.6.8.8,0,0,1-.2.5c-.1.2-.3.3-.4.4l-.5.4-.5.3-.4.3-.4.3c-.1.1-.1.3-.2.4h2.7Z" style="fill: #fff"/>
|
||||
<path d="M84.2,521.1h.4l.4-.2.3-.2a.9.9,0,0,0,.1-.5,1.4,1.4,0,0,0-.2-.6,1.2,1.2,0,0,0-1-.1l-.3.3a.5.5,0,0,0-.2.4v.4h-.9a2.2,2.2,0,0,1,.1-.8l.4-.6.6-.4h1.4l.6.2.4.5a1.5,1.5,0,0,1,.1.7,1,1,0,0,1-.2.7,1,1,0,0,1-.6.5h0a1.2,1.2,0,0,1,.8.4,2,2,0,0,1,.1,1.7l-.4.5-.7.4h-.7l-.9-.2-.6-.4a.9.9,0,0,1-.4-.6,1.9,1.9,0,0,1-.1-.8h.9a1.6,1.6,0,0,0,.3.9,1,1,0,0,0,.8.3l.7-.2a1.1,1.1,0,0,0,.3-.8.9.9,0,0,0-.1-.5l-.3-.3h-1Z" style="fill: #fff"/>
|
||||
<path d="M114.7,523H114v1.4h-.9v-1.3h-2.4v-.9l2.4-3.4h.9v3.6h.7Zm-3.3-.7h1.7v-2.5h0Z" style="fill: #fff"/>
|
||||
<path d="M140,518.8h2.9v.8h-2.2l-.3,1.4h0a.9.9,0,0,1,.5-.3h1.3a1,1,0,0,1,.5.4,2.1,2.1,0,0,1,.4.6,1.7,1.7,0,0,1,.1.7,1.5,1.5,0,0,1-.1.7l-.3.7a1.8,1.8,0,0,1-1.5.6h-.8a.9.9,0,0,1-.6-.3,1,1,0,0,1-.4-.5,1.9,1.9,0,0,1-.2-.8h.9a.8.8,0,0,0,.3.7,1.1,1.1,0,0,0,.8.3h.4l.4-.3c0-.1.1-.2.1-.4a.6.6,0,0,0,.1-.4.9.9,0,0,0-.1-.5.8.8,0,0,0-.2-.4l-.3-.2h-1l-.4.4h-.9Z" style="fill: #fff"/>
|
||||
<path d="M170.4,520.2a1.4,1.4,0,0,0-.2-.6l-.6-.2h-.4l-.3.2a.8.8,0,0,0-.2.4.6.6,0,0,0-.1.4.6.6,0,0,1-.1.4v.4h0a1.2,1.2,0,0,1,.5-.5h1.4a1.3,1.3,0,0,1,.6.4.9.9,0,0,1,.3.6,1.9,1.9,0,0,1,.2.7,1.9,1.9,0,0,1-.2.8c0,.2-.2.4-.3.6l-.6.4-.8.2a1.9,1.9,0,0,1-1-.3,1.2,1.2,0,0,1-.6-.6,1.6,1.6,0,0,1-.3-.9,4.9,4.9,0,0,1-.1-1.2,3.8,3.8,0,0,1,.1-1l.3-.9a2.3,2.3,0,0,1,.7-.7,1.7,1.7,0,0,1,1-.3l.6.2a.5.5,0,0,1,.5.3l.4.4a1.4,1.4,0,0,1,.2.7Zm-.9,3.5h.5c.1-.1.2-.1.3-.3l.2-.3v-.9c-.1-.1-.1-.3-.2-.4l-.3-.2h-.9l-.3.2c-.1.1-.1.3-.2.4s-.1.3-.1.4.1.3.1.5l.2.4.3.2Z" style="fill: #fff"/>
|
||||
<path d="M196,518.8h3.8v.7l-.8,1-.6,1.1a6.5,6.5,0,0,0-.4,1.3l-.3,1.4h-1l.3-1.3c.1-.4.3-.8.4-1.2a12.7,12.7,0,0,1,.7-1.2,7.6,7.6,0,0,1,.8-1.1H196Z" style="fill: #fff"/>
|
||||
<path d="M226.3,524.5l-.8-.2a.9.9,0,0,1-.6-.3l-.5-.6a1.7,1.7,0,0,1-.1-.7,1.2,1.2,0,0,1,.3-.9c.1-.3.4-.4.7-.5h0l-.6-.5a1.4,1.4,0,0,1-.2-.7,1.6,1.6,0,0,1,.5-1.1,2.4,2.4,0,0,1,2.6,0,1.5,1.5,0,0,1,.4,1.1,1.4,1.4,0,0,1-.2.7,1.5,1.5,0,0,1-.6.5h0a1.4,1.4,0,0,1,.8.5,2,2,0,0,1,.2.9,1.7,1.7,0,0,1-.1.7l-.4.6-.7.3Zm0-.8a.8.8,0,0,0,.8-.2,1.1,1.1,0,0,0,.3-.8.9.9,0,0,0-.3-.7,1.2,1.2,0,0,0-1.6,0,.9.9,0,0,0-.3.7,1.1,1.1,0,0,0,.3.8A.8.8,0,0,0,226.3,523.7Zm0-4.3c-.2,0-.5,0-.6.2a.8.8,0,0,0,0,1.2.9.9,0,0,0,1.2,0,.7.7,0,0,0,0-1.2c-.1-.2-.4-.2-.6-.2Z" style="fill: #fff"/>
|
||||
<path d="M253.8,522.9a.9.9,0,0,0,.3.6.8.8,0,0,0,.6.2l.5-.2a1,1,0,0,0,.4-.5c.1-.2.1-.4.2-.6v-.6h0a1.2,1.2,0,0,1-.5.5l-.7.2-.7-.2-.6-.4a1.6,1.6,0,0,1-.3-.6,1.9,1.9,0,0,1-.2-.7,1.9,1.9,0,0,1,.2-.8,2.1,2.1,0,0,1,.4-.6.9.9,0,0,1,.6-.4l.8-.2a1.9,1.9,0,0,1,1,.3,1.7,1.7,0,0,1,.6.6l.3.9c0,.4.1.8.1,1.2s-.1.7-.1,1a3.6,3.6,0,0,1-.4.9l-.6.7a1.9,1.9,0,0,1-1,.3H254a1,1,0,0,1-.5-.4,1.3,1.3,0,0,1-.5-1.1Zm.9-3.5h-.4l-.3.2c-.1.2-.2.3-.2.4s-.1.3-.1.4.1.3.1.5a.8.8,0,0,0,.2.4l.3.2h.9l.3-.2c.1-.2.1-.3.2-.4v-.9l-.2-.4-.3-.2Z" style="fill: #fff"/>
|
||||
<path d="M278.1,519.7h.5l.5-.2c.2,0,.3-.1.4-.3a.5.5,0,0,0,.2-.4h.7v5.6h-1v-4H278Z" style="fill: #fff"/>
|
||||
<path d="M284.3,518.6a1.7,1.7,0,0,1,1,.3,1.3,1.3,0,0,1,.6.7,1.7,1.7,0,0,1,.3,1,6.7,6.7,0,0,1,0,2,1.6,1.6,0,0,1-.3.9,1.3,1.3,0,0,1-.6.7,1.7,1.7,0,0,1-1,.3,1.9,1.9,0,0,1-1-.3,1.8,1.8,0,0,1-.5-.7,1.6,1.6,0,0,1-.3-.9,6.7,6.7,0,0,1,0-2,1.7,1.7,0,0,1,.3-1,1.8,1.8,0,0,1,.5-.7A1.9,1.9,0,0,1,284.3,518.6Zm0,5.1c.2,0,.4,0,.5-.2a.8.8,0,0,0,.4-.4c0-.2.1-.5.1-.7a4.9,4.9,0,0,0,0-1.7c0-.2-.1-.4-.1-.7l-.4-.4-.5-.2-.5.2-.3.4a2,2,0,0,0-.1.7,4.9,4.9,0,0,0,0,1.7,1.7,1.7,0,0,0,.1.7l.3.4A.6.6,0,0,0,284.3,523.7Z" style="fill: #fff"/>
|
||||
<path d="M307.2,519.7h.6l.5-.2a.5.5,0,0,0,.4-.3c.1-.1.1-.2.2-.4h.7v5.6h-1v-4h-1.4Z" style="fill: #fff"/>
|
||||
<path d="M311.7,519.7h.6l.4-.2c.2,0,.3-.1.4-.3a.5.5,0,0,0,.2-.4h.8v5.6h-1v-4h-1.4Z" style="fill: #fff"/>
|
||||
<path d="M334.8,519.7h.5l.5-.2c.2,0,.3-.1.4-.3a.5.5,0,0,0,.2-.4h.7v5.6h-1v-4h-1.3Z" style="fill: #fff"/>
|
||||
<path d="M342.9,524.4h-3.8a1.9,1.9,0,0,1,.4-1.2,2,2,0,0,1,.9-.9l.5-.4.6-.4.4-.5a1.3,1.3,0,0,0,.1-.6.2.2,0,0,0,0-.3.4.4,0,0,0-.1-.3l-.3-.2-.5-.2-.4.2-.3.3-.2.4v.6h-.9a2.8,2.8,0,0,1,.1-.9,1.6,1.6,0,0,1,.4-.7.9.9,0,0,1,.6-.4,1.7,1.7,0,0,1,1.6,0l.6.4.3.5a1.9,1.9,0,0,1,0,1.2l-.3.5a.8.8,0,0,1-.4.4l-.5.4-.4.3-.5.3-.3.3-.3.4H343Z" style="fill: #fff"/>
|
||||
<path d="M363.1,519.7h.6l.5-.2q.2,0,.3-.3c.2-.1.2-.2.3-.4h.7v5.6h-1v-4h-1.4Z" style="fill: #fff"/>
|
||||
<path d="M369,521.1h.4l.4-.2.3-.2a.9.9,0,0,0,.1-.5,1.4,1.4,0,0,0-.2-.6l-.7-.2h-.4l-.3.3c0,.1-.1.2-.1.4s-.1.2,0,.4h-1c.1-.3.1-.5.2-.8a2.1,2.1,0,0,1,.4-.6.9.9,0,0,1,.6-.4h1.4l.5.2.4.5a1.4,1.4,0,0,1,.2.7,1.9,1.9,0,0,1-.2.7,1.5,1.5,0,0,1-.6.5h0a.8.8,0,0,1,.7.4,1.7,1.7,0,0,1,.1,1.7,1,1,0,0,1-.4.5l-.6.4h-.8l-.8-.2a.7.7,0,0,1-.6-.4.9.9,0,0,1-.4-.6c-.1-.2-.1-.5-.2-.8h1a1,1,0,0,0,.2.9,1.1,1.1,0,0,0,.8.3l.8-.2a1.3,1.3,0,0,0,.2-1.3l-.4-.3h-1Z" style="fill: #fff"/>
|
||||
<path d="M391.3,519.7h.6l.5-.2a.5.5,0,0,0,.4-.3c.1-.1.1-.2.2-.4h.7v5.6h-1v-4h-1.4Z" style="fill: #fff"/>
|
||||
<path d="M399.5,523h-.7v1.4h-.9v-1.3h-2.4v-.9l2.4-3.4h.9v3.6h.7Zm-3.2-.7h1.6v-2.5h0Z" style="fill: #fff"/>
|
||||
<path d="M419.8,519.7h.6l.5-.2q.2,0,.3-.3c.2-.1.2-.2.2-.4h.8v5.6h-1v-4h-1.4Z" style="fill: #fff"/>
|
||||
<path d="M424.8,518.8h2.9v.8h-2.2l-.3,1.4h0a.9.9,0,0,1,.5-.3H427a1,1,0,0,1,.5.4,2.1,2.1,0,0,1,.4.6,1.7,1.7,0,0,1,.1.7,1.5,1.5,0,0,1-.1.7l-.3.7-.7.5a1.1,1.1,0,0,1-.8.1h-.8a.9.9,0,0,1-.6-.3,1,1,0,0,1-.4-.5,1.9,1.9,0,0,1-.2-.8h.9a1.1,1.1,0,0,0,1,1h.5l.3-.3a.5.5,0,0,0,.2-.4c0-.1.1-.3.1-.4s-.1-.3-.1-.5a.8.8,0,0,0-.2-.4l-.3-.2h-1.1c-.1.1-.3.2-.3.4h-.9Z" style="fill: #fff"/>
|
||||
<path d="M448.2,519.7h.5l.5-.2c.2,0,.3-.1.4-.3a.5.5,0,0,0,.2-.4h.7v5.6h-1v-4h-1.3Z" style="fill: #fff"/>
|
||||
<path d="M455.4,520.2c-.1-.2-.1-.4-.3-.6l-.6-.2a.9.9,0,0,0-.7.3.8.8,0,0,0-.2.4.6.6,0,0,0-.1.4.6.6,0,0,0-.1.4v.4h0a1.2,1.2,0,0,1,.5-.5h1.5a1,1,0,0,1,.5.4,2.1,2.1,0,0,1,.4.6,1.7,1.7,0,0,1,.1.7c0,.3-.1.6-.1.8l-.4.6-.6.4-.8.2a1.9,1.9,0,0,1-1-.3,1.2,1.2,0,0,1-.6-.6,1.6,1.6,0,0,1-.3-.9,4.9,4.9,0,0,1-.1-1.2,3.8,3.8,0,0,1,.1-1,3.6,3.6,0,0,1,.4-.9,1.3,1.3,0,0,1,.6-.7,1.9,1.9,0,0,1,1-.3,2.1,2.1,0,0,1,1.2.5c.1.1.3.3.3.4a1.4,1.4,0,0,1,.2.7Zm-1,3.5h.5c.1-.1.2-.1.3-.3l.2-.3v-.9l-.2-.4-.3-.2H454c-.3.1-.4.3-.5.6a.6.6,0,0,0-.1.4.9.9,0,0,0,.1.5c0,.1.1.2.2.4l.3.2Z" style="fill: #fff"/>
|
||||
<path d="M476.5,519.7h.6l.5-.2q.1,0,.3-.3a.5.5,0,0,0,.2-.4h.8v5.6h-1v-4h-1.4Z" style="fill: #fff"/>
|
||||
<path d="M480.8,518.8h3.9v.7l-.8,1-.7,1.1a9.3,9.3,0,0,0-.4,1.3,6.8,6.8,0,0,0-.2,1.4h-1a5.9,5.9,0,0,1,.2-1.3,6.1,6.1,0,0,1,.5-1.2,4.5,4.5,0,0,1,.6-1.2l.8-1.1h-2.9Z" style="fill: #fff"/>
|
||||
<path d="M504.9,519.7h.5l.5-.2a.5.5,0,0,0,.4-.3.5.5,0,0,0,.2-.4h.7v5.6h-1v-4h-1.4Z" style="fill: #fff"/>
|
||||
<path d="M511.1,524.5l-.8-.2a.9.9,0,0,1-.6-.3,1.3,1.3,0,0,1-.4-.6,1.4,1.4,0,0,1-.2-.7,1.6,1.6,0,0,1,.3-.9l.7-.5h0a1,1,0,0,1-.5-.4,1,1,0,0,1-.2-.7,1.1,1.1,0,0,1,.4-1.1,1.9,1.9,0,0,1,2.6,0,1.1,1.1,0,0,1,.4,1.1.7.7,0,0,1-.2.7,1,1,0,0,1-.5.4h0a1.8,1.8,0,0,1,.7.5,1.6,1.6,0,0,1,.3.9,1.4,1.4,0,0,1-.2.7,1.3,1.3,0,0,1-.4.6.9.9,0,0,1-.6.3Zm0-.8a.8.8,0,0,0,.8-.2,1.1,1.1,0,0,0,.3-.8.9.9,0,0,0-.3-.7,1.1,1.1,0,0,0-.8-.3,1.3,1.3,0,0,0-.8.3.9.9,0,0,0-.3.7,1.1,1.1,0,0,0,.3.8A.8.8,0,0,0,511.1,523.7Zm0-4.3c-.2-.1-.4,0-.6.2a.9.9,0,0,0,0,1.2,1,1,0,0,0,1.3,0,.9.9,0,0,0,0-1.2,1,1,0,0,0-.7-.2Z" style="fill: #fff"/>
|
||||
<path d="M533.3,519.7h.6l.5-.2a.5.5,0,0,0,.4-.3c.1-.1.1-.2.2-.4h.7v5.6h-1v-4h-1.4Z" style="fill: #fff"/>
|
||||
<path d="M538.6,522.9c.1.2.1.4.3.6l.6.2.6-.2.3-.5c.1-.2.1-.4.2-.6v-.6h0a1.2,1.2,0,0,1-.5.5l-.7.2-.7-.2-.6-.4a1.6,1.6,0,0,1-.3-.6,1.7,1.7,0,0,1-.1-.7,1.9,1.9,0,0,1,.1-.8,2.1,2.1,0,0,1,.4-.6.9.9,0,0,1,.6-.4l.8-.2a1.9,1.9,0,0,1,1,.3l.6.6.3.9a4.9,4.9,0,0,1,.1,1.2c0,.3-.1.7-.1,1a3.6,3.6,0,0,1-.4.9c-.1.3-.4.5-.6.7a1.9,1.9,0,0,1-1,.3h-.7l-.5-.4-.4-.4a1.5,1.5,0,0,1-.1-.7Zm.9-3.5h-.4l-.3.2c-.1.2-.2.3-.2.4s-.1.3-.1.4.1.3.1.5a.8.8,0,0,0,.2.4l.3.2h.9l.3-.2c.1-.1.1-.3.2-.4v-.9l-.2-.4-.3-.2Z" style="fill: #fff"/>
|
||||
<path d="M565.7,524.4h-3.9a2.8,2.8,0,0,1,.4-1.2,2,2,0,0,1,.9-.9l.5-.4.6-.4.4-.5a.8.8,0,0,0,.2-.6v-.3l-.2-.3-.3-.2-.4-.2-.5.2q-.1,0-.3.3c-.1.1-.1.2-.1.4a1.3,1.3,0,0,0-.1.6H562a2.8,2.8,0,0,1,.1-.9,1.6,1.6,0,0,1,.4-.7.9.9,0,0,1,.6-.4,1.7,1.7,0,0,1,1.7,0,1,1,0,0,1,.5.4.5.5,0,0,1,.3.5,1.9,1.9,0,0,1,0,1.2l-.3.5a.8.8,0,0,1-.4.4l-.4.4-.5.3-.5.3-.3.3a.8.8,0,0,0-.2.4h2.7Z" style="fill: #fff"/>
|
||||
<path d="M568.2,518.6a1.7,1.7,0,0,1,1,.3,1.3,1.3,0,0,1,.6.7l.3,1a6.7,6.7,0,0,1,0,2l-.3.9a1.3,1.3,0,0,1-.6.7,1.8,1.8,0,0,1-2,0,1.3,1.3,0,0,1-.6-.7l-.3-.9a6.7,6.7,0,0,1,0-2l.3-1a1.3,1.3,0,0,1,.6-.7A1.7,1.7,0,0,1,568.2,518.6Zm0,5.1c.2,0,.4,0,.5-.2s.3-.2.3-.4a1.9,1.9,0,0,0,.2-.7v-1.7a2.5,2.5,0,0,0-.2-.7c0-.1-.2-.3-.3-.4l-.5-.2-.5.2-.3.4a6.4,6.4,0,0,1-.2.7v1.7c.1.2.1.5.2.7l.3.4C567.8,523.7,568,523.7,568.2,523.7Z" style="fill: #fff"/>
|
||||
<path d="M594.8,524.4H591a2.7,2.7,0,0,1,.3-1.2,3.8,3.8,0,0,1,.9-.9l.6-.4.5-.4c.2-.1.3-.3.5-.5a1.3,1.3,0,0,0,.1-.6v-.3c0-.1-.1-.2-.1-.3l-.3-.2-.5-.2-.4.2a.3.3,0,0,0-.3.3.5.5,0,0,0-.2.4v.6h-1a2.9,2.9,0,0,1,.2-.9,1.5,1.5,0,0,1,.3-.7l.6-.4a1.5,1.5,0,0,1,.9-.2,1.1,1.1,0,0,1,.8.2l.6.4.3.5c0,.2.1.4.1.6s-.1.4-.1.6l-.3.5c-.1.2-.3.3-.4.4l-.5.4-.5.3-.4.3-.4.3c-.1.1-.1.3-.2.4h2.8Z" style="fill: #fff"/>
|
||||
<path d="M595.6,519.7h.5l.5-.2c.2,0,.3-.1.4-.3a.5.5,0,0,0,.2-.4h.7v5.6h-1v-4h-1.3Z" style="fill: #fff"/>
|
||||
<path d="M1.7,482.8h.5l.5-.2c.2,0,.3-.1.4-.3a.5.5,0,0,0,.2-.4h.8v5.6h-1v-3.9H1.7Z" style="fill: #fff"/>
|
||||
<path d="M6.2,459.1H2.4a1.9,1.9,0,0,1,.4-1.2,2,2,0,0,1,.9-.9l.5-.4.6-.4.4-.5c.1-.1.1-.3.2-.5v-.4l-.2-.3-.3-.2H4q-.2,0-.3.3c-.1.1-.1.3-.2.4v.6h-1a2.8,2.8,0,0,1,.1-.9A2.5,2.5,0,0,1,3,454l.6-.4.8-.2.9.2a1,1,0,0,1,.5.4.7.7,0,0,1,.3.6.7.7,0,0,1,.1.5,1.3,1.3,0,0,1-.1.6.8.8,0,0,1-.2.5l-.4.5L5,457l-.5.3-.4.3a.8.8,0,0,0-.4.4c-.1.1-.2.2-.2.3H6.2Z" style="fill: #fff"/>
|
||||
<path d="M3.9,427.5h.8q.3-.1.3-.3a.8.8,0,0,0-.1-1,.7.7,0,0,0-.6-.2H3.8l-.2.2a.8.8,0,0,0-.2.4v.4h-1a1.9,1.9,0,0,1,.2-.7.9.9,0,0,1,.4-.6.7.7,0,0,1,.5-.4l.8-.2h.6l.6.3a1,1,0,0,1,.4.5,1.4,1.4,0,0,1,.2.6,1.4,1.4,0,0,1-.2.7,1.3,1.3,0,0,1-.6.5h0a1.2,1.2,0,0,1,.7.5,1.4,1.4,0,0,1,.3.9,1.4,1.4,0,0,1-.2.7,2.1,2.1,0,0,1-.4.6l-.6.3H3.4l-.6-.4c-.1-.2-.3-.4-.3-.6a3.1,3.1,0,0,1-.2-.8h.9a1.1,1.1,0,0,0,.3.8,1.2,1.2,0,0,0,.8.4,1.3,1.3,0,0,0,.8-.3,1.1,1.1,0,0,0,.3-.7,1.4,1.4,0,0,0-.2-.6c0-.1-.2-.2-.3-.3h-1Z" style="fill: #fff"/>
|
||||
<path d="M6.3,401.1H5.5v1.3H4.7v-1.3H2.3v-.9l2.4-3.4h.8v3.6h.7ZM3,400.4H4.7v-2.5h0Z" style="fill: #fff"/>
|
||||
<path d="M3.1,368.5H6v.8H3.7l-.3,1.4h0l.5-.3H5.2l.6.4.3.6a2.2,2.2,0,0,1,.1.8,2,2,0,0,1-.1.7l-.3.6-.6.5-.9.2H3.5l-.6-.4a1,1,0,0,1-.4-.5,1.9,1.9,0,0,1-.2-.7h.9a1.1,1.1,0,0,0,.3.7l.8.2h.4a.5.5,0,0,0,.4-.2.8.8,0,0,0,.1-.4.4.4,0,0,0,0-.5c.1-.2,0-.3,0-.5l-.2-.3-.3-.3H3.6c-.1.1-.3.2-.3.4H2.4Z" style="fill: #fff"/>
|
||||
<path d="M5,341.5a.5.5,0,0,0-.3-.5c-.1-.2-.3-.2-.6-.2H3.7l-.3.2c-.1.1-.1.2-.2.4s-.1.2-.1.4-.1.3-.1.4v.4H3l.5-.5.7-.2.8.2a1,1,0,0,1,.5.4l.4.6a1.7,1.7,0,0,1,.1.7,2.2,2.2,0,0,1-.1.8,2.1,2.1,0,0,1-.4.6l-.6.4H4.1a1.2,1.2,0,0,1-1-.2l-.6-.6a1.6,1.6,0,0,1-.3-.9,4.9,4.9,0,0,1-.1-1.2,3.4,3.4,0,0,1,.1-1,3.6,3.6,0,0,1,.4-.9c.1-.3.4-.5.6-.7a1.9,1.9,0,0,1,1-.3h.7l.5.4.3.4a.8.8,0,0,1,.2.7Zm-.9,3.6h.4l.3-.3c.1-.1.2-.2.2-.3a.9.9,0,0,0,.1-.5.6.6,0,0,0-.1-.4.8.8,0,0,0-.2-.4l-.3-.2H3.6l-.3.2c-.1.1-.1.2-.2.4v.4a1.9,1.9,0,0,0,.2.8l.3.3Z" style="fill: #fff"/>
|
||||
<path d="M2.4,311.8H6.2v.7l-.8,1a3.4,3.4,0,0,0-.6,1.2,6.1,6.1,0,0,0-.5,1.2,7.7,7.7,0,0,0-.2,1.5h-1a5.9,5.9,0,0,1,.2-1.3,6.9,6.9,0,0,1,.5-1.3l.6-1.2.8-1H2.4Z" style="fill: #fff"/>
|
||||
<path d="M4.3,289.2l-.8-.2c-.2,0-.4-.2-.6-.3l-.4-.6a1.9,1.9,0,0,1-.2-.7,1.6,1.6,0,0,1,.3-.9l.7-.5h0a1,1,0,0,1-.5-.4,1,1,0,0,1-.2-.7,1.3,1.3,0,0,1,.4-1.2,2.8,2.8,0,0,1,1.3-.4,2.8,2.8,0,0,1,1.3.4,1.3,1.3,0,0,1,.4,1.2.7.7,0,0,1-.2.7.9.9,0,0,1-.6.4h0l.8.5a1.6,1.6,0,0,1,.3.9,1.9,1.9,0,0,1-.2.7,2.1,2.1,0,0,1-.4.6c-.2.1-.4.3-.6.3Zm0-.8.8-.2a1.1,1.1,0,0,0,.3-.8.8.8,0,0,0-.3-.7,1.3,1.3,0,0,0-.8-.3,1.3,1.3,0,0,0-.8.3.9.9,0,0,0-.3.7,1.1,1.1,0,0,0,.3.8l.8.2Zm0-4.4a.9.9,0,0,0-.6.3.7.7,0,0,0,0,1.2c.1.2.4.2.6.2s.5,0,.6-.2a.7.7,0,0,0,0-1.2.7.7,0,0,0-.6-.3Z" style="fill: #fff"/>
|
||||
<path d="M3.4,259.3a.8.8,0,0,0,.2.5c.2.2.4.3.6.2a.7.7,0,0,0,.6-.1l.3-.5a6.4,6.4,0,0,0,.2-.7v-.6h0l-.5.5-.7.2H3.4l-.5-.4a2.1,2.1,0,0,1-.4-.6,3.2,3.2,0,0,1,0-1.6,2.1,2.1,0,0,1,.4-.6l.6-.4h.8a1.8,1.8,0,0,1,1,.2c.2.2.5.4.6.6a1.7,1.7,0,0,1,.3,1,4.1,4.1,0,0,1,.1,1.1,3.1,3.1,0,0,1-.1,1,3,3,0,0,1-.4,1,1.7,1.7,0,0,1-.6.6,1.9,1.9,0,0,1-1,.3H3.6l-.6-.3a2.4,2.4,0,0,1-.6-1.1Zm.8-3.6H3.8l-.3.3c-.1.1-.1.2-.2.4v.8c.1.2.1.3.2.4l.3.3h.9l.3-.3a.5.5,0,0,0,.2-.4c0-.1.1-.3,0-.4s0-.3,0-.4-.1-.3-.2-.4l-.3-.3Z" style="fill: #fff"/>
|
||||
<path d="M1.7,227.7h.5l.5-.2.4-.3a.5.5,0,0,0,.2-.4h.8v5.6h-1v-4H1.7Z" style="fill: #fff"/>
|
||||
<path d="M7.9,226.6a1.7,1.7,0,0,1,1,.3,1.3,1.3,0,0,1,.6.7,1.7,1.7,0,0,1,.3,1,3.1,3.1,0,0,1,.1,1,3.8,3.8,0,0,1-.1,1,1.6,1.6,0,0,1-.3.9,1.3,1.3,0,0,1-.6.7,1.7,1.7,0,0,1-1,.3,1.9,1.9,0,0,1-1-.3,1.8,1.8,0,0,1-.5-.7,1.6,1.6,0,0,1-.3-.9,3.8,3.8,0,0,1-.1-1,3.1,3.1,0,0,1,.1-1,1.7,1.7,0,0,1,.3-1,1.8,1.8,0,0,1,.5-.7A1.9,1.9,0,0,1,7.9,226.6Zm0,5.1.5-.2.4-.4c0-.3.1-.5.1-.7v-1.7c0-.2-.1-.4-.1-.7l-.4-.4a.7.7,0,0,0-1,0l-.3.4a2,2,0,0,0-.1.7,1.1,1.1,0,0,0,0,.8,1.4,1.4,0,0,0,0,.9,2,2,0,0,0,.1.7l.3.4.5.2Z" style="fill: #fff"/>
|
||||
<path d="M1.7,199.3h.5l.5-.2.4-.3a.5.5,0,0,0,.2-.4h.8V204h-1v-4H1.7Z" style="fill: #fff"/>
|
||||
<path d="M6.1,199.3h.6l.5-.2c.1-.1.3-.1.4-.3l.2-.4h.7V204h-1v-4H6.1Z" style="fill: #fff"/>
|
||||
<path d="M1.7,171h1l.4-.3a.8.8,0,0,0,.2-.4h.8v5.6h-1v-4H1.7Z" style="fill: #fff"/>
|
||||
<path d="M9.9,175.7H6a2,2,0,0,1,.4-1.3,2,2,0,0,1,.9-.9l.5-.4.6-.4.4-.5a.4.4,0,0,0,.1-.5c.1-.2.1-.3,0-.4a.4.4,0,0,0-.1-.3l-.3-.2H7.6l-.3.3-.2.4v.6h-1a2.9,2.9,0,0,1,.2-.9,1.5,1.5,0,0,1,.3-.7l.6-.4a1.7,1.7,0,0,1,1.7,0l.6.4.3.5c0,.2.1.4.1.6s-.1.4-.1.6l-.3.5-.4.5-.5.3-.5.3-.4.3-.4.4-.2.3H9.9Z" style="fill: #fff"/>
|
||||
<path d="M1.7,142.6h1l.4-.3.2-.4h.8v5.6h-1v-4H1.7Z" style="fill: #fff"/>
|
||||
<path d="M7.5,144h.9l.3-.3a.6.6,0,0,0,.1-.4.7.7,0,0,0-.3-.6l-.6-.2H7.5l-.3.2-.2.4v.4H6.1a1.7,1.7,0,0,1,.1-.7c.1-.2.2-.5.4-.6l.6-.4.7-.2h.7l.5.3a1,1,0,0,1,.4.5.7.7,0,0,1,.2.6,2.4,2.4,0,0,1-.2.8c-.1.2-.4.3-.6.4h0a1.3,1.3,0,0,1,.7.5,1.6,1.6,0,0,1,.2,1.6c-.1.3-.3.4-.5.6l-.6.3H7.1c-.2-.1-.5-.2-.6-.4l-.4-.6a2.2,2.2,0,0,1-.1-.8h.9a1.1,1.1,0,0,0,.2.8.9.9,0,0,0,.8.4,1.1,1.1,0,0,0,.8-.3.9.9,0,0,0,.3-.7.7.7,0,0,0-.1-.5c-.1-.2-.2-.3-.4-.3l-.4-.2H7.5Z" style="fill: #fff"/>
|
||||
<path d="M1.7,114.3h.5l.5-.2c.2,0,.3-.1.4-.3a.5.5,0,0,0,.2-.4h.8V119h-1v-4H1.7Z" style="fill: #fff"/>
|
||||
<path d="M9.9,117.6H9.2V119H8.3v-1.4H5.9v-.9l2.4-3.3h.9V117h.7Zm-3.3-.7H8.3v-2.5h0Z" style="fill: #fff"/>
|
||||
<path d="M1.7,85.9h1l.4-.3a.8.8,0,0,0,.2-.4h.8v5.6h-1v-4H1.7Z" style="fill: #fff"/>
|
||||
<path d="M6.7,85H9.6v.8H7.4l-.3,1.5h0l.5-.4h.6l.7.2a1,1,0,0,1,.5.4,2.1,2.1,0,0,1,.4.6,1.9,1.9,0,0,1,.1.8c0,.2-.1.4-.1.6a1.6,1.6,0,0,1-.4.7,1,1,0,0,1-.6.5l-.9.2H7.2l-.6-.4a1,1,0,0,1-.4-.5,1.9,1.9,0,0,1-.2-.7h.9a.9.9,0,0,0,.9.9h.6l.3-.3a.5.5,0,0,0,.2-.4v-.9l-.2-.4-.3-.2H7.3c-.1.1-.3.2-.3.4H6.1Z" style="fill: #fff"/>
|
||||
<path d="M1.7,57.6h.5l.5-.2c.2,0,.3-.1.4-.3a.5.5,0,0,0,.2-.4h.8v5.6h-1v-4H1.7Z" style="fill: #fff"/>
|
||||
<path d="M8.9,58.1a.9.9,0,0,0-.3-.6l-.5-.2H7.6c-.1.1-.2.1-.3.3l-.2.3c0,.1-.1.3-.1.4s-.1.3-.1.4v.4h0c.2-.2.3-.4.6-.5H8.9l.6.4.3.6a1.7,1.7,0,0,1,.1.7,1.9,1.9,0,0,1-.1.8,2.1,2.1,0,0,1-.4.6l-.6.4-.8.2-1-.3a1.7,1.7,0,0,1-.6-.6l-.3-.9A4.9,4.9,0,0,1,6,59.4c0-.3.1-.6.1-1l.3-.9a2.3,2.3,0,0,1,.7-.7,1.2,1.2,0,0,1,1-.2h.6a.5.5,0,0,1,.5.3,1,1,0,0,1,.4.5,1.1,1.1,0,0,1,.2.6ZM8,61.6h.4c.1,0,.3-.1.3-.2a.8.8,0,0,0,.2-.4.6.6,0,0,0,.1-.4.9.9,0,0,0-.1-.5c0-.1-.1-.2-.2-.3a.7.7,0,0,0-.7-.4H7.6c-.2.1-.3.1-.3.2s-.2.3-.2.4a.9.9,0,0,0-.1.5.6.6,0,0,0,.1.4.8.8,0,0,0,.2.4c0,.1.1.2.3.2Z" style="fill: #fff"/>
|
||||
<path d="M1.7,29.2a.4.4,0,0,0,.5,0h.5l.4-.3a.8.8,0,0,0,.2-.4h.8V34h-1V30H1.7Z" style="fill: #fff"/>
|
||||
<path d="M6,28.3H9.8v.8l-.8,1-.6,1.1L8,32.5a6.8,6.8,0,0,0-.2,1.4h-1A5.9,5.9,0,0,1,7,32.6c.1-.4.3-.8.4-1.2a7.5,7.5,0,0,1,.7-1.2l.8-1H6Z" style="fill: #fff"/>
|
||||
<path d="M1.7.9h.5L2.7.7c.2,0,.3-.2.4-.3A.8.8,0,0,0,3.3,0h.8V5.6h-1v-4H1.7Z" style="fill: #fff"/>
|
||||
<path d="M7.9,5.7H7.2l-.7-.4-.4-.5A2.2,2.2,0,0,1,6,3.9,2.9,2.9,0,0,1,6.2,3,1.2,1.2,0,0,1,7,2.6H7l-.6-.5a1.9,1.9,0,0,1-.2-.7A1.6,1.6,0,0,1,6.7.3,1.5,1.5,0,0,1,8-.1,1.7,1.7,0,0,1,9.3.3a1.5,1.5,0,0,1,.4,1.1,1.4,1.4,0,0,1-.2.7l-.6.5h0a1.2,1.2,0,0,1,.8.4,2.9,2.9,0,0,1,.2.9,2.2,2.2,0,0,1-.1.8l-.4.5-.7.4Zm0-.7a1.1,1.1,0,0,0,.8-.3A1.1,1.1,0,0,0,9,3.9a.9.9,0,0,0-.3-.7,1.1,1.1,0,0,0-.8-.3,1,1,0,0,0-1,1,1.1,1.1,0,0,0,.3.8A1.1,1.1,0,0,0,7.9,5ZM7.9.6,7.3.8c-.2.2-.3.4-.2.6a.6.6,0,0,0,.2.7,1.5,1.5,0,0,0,1.3,0,1,1,0,0,0,.2-.7A1.1,1.1,0,0,0,8.6.8.8.8,0,0,0,7.9.6Z" style="fill: #fff"/>
|
||||
<path d="M5.1,510a1.5,1.5,0,0,1,1,.3,1.3,1.3,0,0,1,.6.7,1.6,1.6,0,0,1,.3.9,3.8,3.8,0,0,1,.1,1,3.1,3.1,0,0,1-.1,1,1.7,1.7,0,0,1-.3,1,1.9,1.9,0,0,1-.6.7,1.1,1.1,0,0,1-1,.2,1.2,1.2,0,0,1-1-.2l-.5-.7a1.7,1.7,0,0,1-.3-1,3.1,3.1,0,0,1-.1-1,3.8,3.8,0,0,1,.1-1,1.6,1.6,0,0,1,.3-.9,1.8,1.8,0,0,1,.5-.7A1.9,1.9,0,0,1,5.1,510Zm0,5.1.5-.2a1,1,0,0,0,.4-.5c0-.2.1-.4.1-.6v-1.7c0-.2-.1-.5-.1-.7l-.4-.5h-1l-.3.5c0,.2-.1.5-.1.7v1.7c0,.2.1.4.1.6l.3.5Z" style="fill: #fff"/>
|
||||
</svg>
|
After Width: | Height: | Size: 24 KiB |
BIN
resources/profiles/BIBO/BIBO2_bed.stl
Normal file
BIN
resources/profiles/BIBO/BIBO2_thumbnail.png
Normal file
After Width: | Height: | Size: 42 KiB |
@ -1,4 +1,6 @@
|
||||
min_slic3r_version = 2.2.0-alpha3
|
||||
0.0.2 Updated for PrusaSlicer 2.2.0-rc
|
||||
0.0.2-beta Update for PrusaSlicer 2.2.0-beta
|
||||
0.0.2-alpha1 Extended list of default filaments to be installed
|
||||
0.0.2-alpha0 Print bed textures are now configurable from the Preset Bundle. Requires PrusaSlicer 2.2.0-alpha3 and newer.
|
||||
# The following line (max_slic3r_version) forces the users of PrusaSlicer 2.2.0-alpha3 and newer to update the profiles to 1.1.1-alpha3 and newer,
|
||||
|
@ -5,7 +5,7 @@
|
||||
name = Creality
|
||||
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
||||
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
||||
config_version = 0.0.2-alpha1
|
||||
config_version = 0.0.2
|
||||
# Where to get the updates from?
|
||||
config_update_url = http://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Creality/
|
||||
# changelog_url = http://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
|
||||
|
BIN
resources/profiles/Creality/ENDER3_thumbnail.png
Normal file
After Width: | Height: | Size: 58 KiB |
2
resources/profiles/LulzBot.idx
Normal file
@ -0,0 +1,2 @@
|
||||
min_slic3r_version = 2.2.0-alpha3
|
||||
0.0.1 Initial version
|
384
resources/profiles/LulzBot.ini
Normal file
@ -0,0 +1,384 @@
|
||||
# generated by PrusaSlicer 2.1.1+win64 on 2020-02-25 at 01:51:21 UTC
|
||||
|
||||
[vendor]
|
||||
# Vendor name will be shown by the Config Wizard.
|
||||
name = LulzBot
|
||||
config_version = 0.0.1
|
||||
config_update_url = http://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/LulzBot/
|
||||
|
||||
[printer_model:MINI_AERO]
|
||||
name = Mini Aero
|
||||
variants = 0.5
|
||||
technology = FFF
|
||||
#bed_model = mini_bed.stl
|
||||
#bed_texture = mini.svg
|
||||
default_materials = ColorFabb PLA-PHA @lulzbot;PrintedSolid Jesse PLA @lulzbot
|
||||
|
||||
[printer_model:TAZ6_AERO]
|
||||
name = Taz6 Aero
|
||||
variants = 0.5
|
||||
technology = FFF
|
||||
default_materials = ColorFabb PLA-PHA @lulzbot;PrintedSolid Jesse PLA @lulzbot
|
||||
|
||||
[print:0.3mm @lulzbot]
|
||||
avoid_crossing_perimeters = 0
|
||||
bottom_fill_pattern = rectilinear
|
||||
bottom_solid_layers = 3
|
||||
bridge_acceleration = 500
|
||||
bridge_angle = 0
|
||||
bridge_flow_ratio = 1
|
||||
bridge_speed = 30
|
||||
brim_width = 0
|
||||
clip_multipart_objects = 0
|
||||
compatible_printers =
|
||||
compatible_printers_condition =
|
||||
complete_objects = 0
|
||||
default_acceleration = 500
|
||||
dont_support_bridges = 1
|
||||
elefant_foot_compensation = 0
|
||||
ensure_vertical_shell_thickness = 0
|
||||
external_perimeter_extrusion_width = 0.56
|
||||
external_perimeter_speed = 50%
|
||||
external_perimeters_first = 0
|
||||
extra_perimeters = 1
|
||||
extruder_clearance_height = 20
|
||||
extruder_clearance_radius = 20
|
||||
extrusion_width = 0.56
|
||||
fill_angle = 45
|
||||
fill_density = 20%
|
||||
fill_pattern = gyroid
|
||||
first_layer_acceleration = 500
|
||||
first_layer_extrusion_width = 0.6
|
||||
first_layer_height = 100%
|
||||
first_layer_speed = 40%
|
||||
gap_fill_speed = 20
|
||||
gcode_comments = 0
|
||||
gcode_label_objects = 0
|
||||
infill_acceleration = 500
|
||||
infill_every_layers = 1
|
||||
infill_extruder = 1
|
||||
infill_extrusion_width = 0.56
|
||||
infill_first = 0
|
||||
infill_only_where_needed = 0
|
||||
infill_overlap = 25%
|
||||
infill_speed = 60
|
||||
inherits =
|
||||
interface_shells = 0
|
||||
layer_height = 0.3
|
||||
max_print_speed = 80
|
||||
max_volumetric_speed = 0
|
||||
min_skirt_length = 0
|
||||
notes =
|
||||
only_retract_when_crossing_perimeters = 1
|
||||
ooze_prevention = 0
|
||||
output_filename_format = [printer_settings_id]_[input_filename_base]_[layer_height]_[filament_type]_[print_time].gcode
|
||||
overhangs = 1
|
||||
perimeter_acceleration = 500
|
||||
perimeter_extruder = 1
|
||||
perimeter_extrusion_width = 0.56
|
||||
perimeter_speed = 60
|
||||
perimeters = 3
|
||||
post_process =
|
||||
raft_layers = 0
|
||||
resolution = 0
|
||||
seam_position = nearest
|
||||
single_extruder_multi_material_priming = 1
|
||||
skirt_distance = 3
|
||||
skirt_height = 1
|
||||
skirts = 3
|
||||
slice_closing_radius = 0.049
|
||||
small_perimeter_speed = 15
|
||||
solid_infill_below_area = 70
|
||||
solid_infill_every_layers = 0
|
||||
solid_infill_extruder = 1
|
||||
solid_infill_extrusion_width = 0.56
|
||||
solid_infill_speed = 60
|
||||
spiral_vase = 0
|
||||
standby_temperature_delta = -5
|
||||
support_material = 0
|
||||
support_material_angle = 0
|
||||
support_material_auto = 1
|
||||
support_material_buildplate_only = 0
|
||||
support_material_contact_distance = 0.2
|
||||
support_material_enforce_layers = 0
|
||||
support_material_extruder = 1
|
||||
support_material_extrusion_width = 0.44
|
||||
support_material_interface_contact_loops = 0
|
||||
support_material_interface_extruder = 1
|
||||
support_material_interface_layers = 3
|
||||
support_material_interface_spacing = 0
|
||||
support_material_interface_speed = 100%
|
||||
support_material_pattern = rectilinear
|
||||
support_material_spacing = 2.5
|
||||
support_material_speed = 60
|
||||
support_material_synchronize_layers = 0
|
||||
support_material_threshold = 0
|
||||
support_material_with_sheath = 1
|
||||
support_material_xy_spacing = 50%
|
||||
thin_walls = 1
|
||||
threads = 12
|
||||
top_fill_pattern = rectilinear
|
||||
top_infill_extrusion_width = 0.52
|
||||
top_solid_infill_speed = 40
|
||||
top_solid_layers = 3
|
||||
travel_speed = 175
|
||||
wipe_tower = 0
|
||||
wipe_tower_bridging = 10
|
||||
wipe_tower_rotation_angle = 0
|
||||
wipe_tower_width = 60
|
||||
wipe_tower_x = 180
|
||||
wipe_tower_y = 140
|
||||
xy_size_compensation = 0
|
||||
|
||||
[filament:ColorFabb PLA-PHA @lulzbot]
|
||||
filament_vendor = ColorFabb
|
||||
bed_temperature = 60
|
||||
bridge_fan_speed = 100
|
||||
compatible_printers =
|
||||
compatible_printers_condition =
|
||||
compatible_prints =
|
||||
compatible_prints_condition =
|
||||
cooling = 1
|
||||
disable_fan_first_layers = 3
|
||||
end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
|
||||
extrusion_multiplier = 1
|
||||
fan_always_on = 0
|
||||
fan_below_layer_time = 60
|
||||
filament_colour = #29B2B2
|
||||
filament_cooling_final_speed = 3.4
|
||||
filament_cooling_initial_speed = 2.2
|
||||
filament_cooling_moves = 4
|
||||
filament_cost = 0
|
||||
filament_density = 1.25
|
||||
filament_deretract_speed = nil
|
||||
filament_diameter = 2.85
|
||||
filament_load_time = 0
|
||||
filament_loading_speed = 28
|
||||
filament_loading_speed_start = 3
|
||||
filament_max_volumetric_speed = 0
|
||||
filament_minimal_purge_on_wipe_tower = 15
|
||||
filament_notes = ""
|
||||
filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
filament_retract_before_travel = nil
|
||||
filament_retract_before_wipe = nil
|
||||
filament_retract_layer_change = nil
|
||||
filament_retract_length = nil
|
||||
filament_retract_lift = nil
|
||||
filament_retract_lift_above = nil
|
||||
filament_retract_lift_below = nil
|
||||
filament_retract_restart_extra = nil
|
||||
filament_retract_speed = nil
|
||||
filament_soluble = 0
|
||||
filament_toolchange_delay = 0
|
||||
filament_type = PLA
|
||||
filament_unload_time = 0
|
||||
filament_unloading_speed = 90
|
||||
filament_unloading_speed_start = 100
|
||||
filament_wipe = nil
|
||||
first_layer_bed_temperature = 60
|
||||
first_layer_temperature = 200
|
||||
inherits =
|
||||
max_fan_speed = 100
|
||||
min_fan_speed = 35
|
||||
min_print_speed = 10
|
||||
slowdown_below_layer_time = 5
|
||||
start_filament_gcode = "; Filament gcode\n"
|
||||
temperature = 200
|
||||
|
||||
[filament:PrintedSolid Jesse PLA @lulzbot]
|
||||
filament_vendor = PrintedSolid
|
||||
bed_temperature = 60
|
||||
bridge_fan_speed = 100
|
||||
compatible_printers =
|
||||
compatible_printers_condition =
|
||||
compatible_prints =
|
||||
compatible_prints_condition =
|
||||
cooling = 1
|
||||
disable_fan_first_layers = 3
|
||||
end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
|
||||
extrusion_multiplier = 1
|
||||
fan_always_on = 0
|
||||
fan_below_layer_time = 60
|
||||
filament_colour = #29B2B2
|
||||
filament_cooling_final_speed = 3.4
|
||||
filament_cooling_initial_speed = 2.2
|
||||
filament_cooling_moves = 4
|
||||
filament_cost = 27
|
||||
filament_density = 1.25
|
||||
filament_deretract_speed = nil
|
||||
filament_diameter = 2.85
|
||||
filament_load_time = 0
|
||||
filament_loading_speed = 28
|
||||
filament_loading_speed_start = 3
|
||||
filament_max_volumetric_speed = 0
|
||||
filament_minimal_purge_on_wipe_tower = 15
|
||||
filament_notes = ""
|
||||
filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
filament_retract_before_travel = nil
|
||||
filament_retract_before_wipe = nil
|
||||
filament_retract_layer_change = nil
|
||||
filament_retract_length = nil
|
||||
filament_retract_lift = nil
|
||||
filament_retract_lift_above = nil
|
||||
filament_retract_lift_below = nil
|
||||
filament_retract_restart_extra = nil
|
||||
filament_retract_speed = nil
|
||||
filament_soluble = 0
|
||||
filament_toolchange_delay = 0
|
||||
filament_type = PLA
|
||||
filament_unload_time = 0
|
||||
filament_unloading_speed = 90
|
||||
filament_unloading_speed_start = 100
|
||||
filament_wipe = nil
|
||||
first_layer_bed_temperature = 60
|
||||
first_layer_temperature = 220
|
||||
inherits =
|
||||
max_fan_speed = 100
|
||||
min_fan_speed = 35
|
||||
min_print_speed = 10
|
||||
slowdown_below_layer_time = 5
|
||||
start_filament_gcode = "; Filament gcode\n"
|
||||
temperature = 220
|
||||
|
||||
[printer:Mini Aero 0.5mm]
|
||||
printer_model = MINI_AERO
|
||||
printer_variant = 0.5
|
||||
default_print_profile = 0.3mm @lulzbot
|
||||
default_filament_profile = PrintedSolid Jesse PLA @lulzbot
|
||||
bed_shape = 0x0,154x0,154x154,0x154
|
||||
before_layer_gcode =
|
||||
between_objects_gcode =
|
||||
cooling_tube_length = 5
|
||||
cooling_tube_retraction = 91.5
|
||||
deretract_speed = 20
|
||||
end_gcode = M400 ; wait for moves to finish\nM140 S40 ; start bed cooling\nM104 S0 ; disable hotend\nM107 ; disable fans\nG92 E1 ; set extruder to 1mm for retract on print end (LulzBot Cura had 5mm, might be a contributing factor to between print Aerostruder jamming)\nM117 Cooling please wait ; progress indicator message on LCD\nG1 X5 Y5 Z158 E0 F10000 ; move to cooling position\nG1 E1 ; re-prime extruder\nM190 R40 ; wait for bed to cool down to removal temp\nM77 ; Stop GLCD Timer\nG1 X145 F1000 ; move extruder out of the way\nG1 Y175 F1000 ; present finished print\nM140 S0; cool downs\nM84 ; disable steppers\nG90 ; absolute positioning\nM117 Print Complete. ; print complete message\n
|
||||
extra_loading_move = -2
|
||||
extruder_colour = ""
|
||||
extruder_offset = 0x0
|
||||
gcode_flavor = marlin
|
||||
high_current_on_filament_swap = 0
|
||||
host_type = octoprint
|
||||
inherits =
|
||||
layer_gcode =
|
||||
machine_max_acceleration_e = 10000,5000
|
||||
machine_max_acceleration_extruding = 1500,1250
|
||||
machine_max_acceleration_retracting = 1500,1250
|
||||
machine_max_acceleration_x = 9000,1000
|
||||
machine_max_acceleration_y = 9000,1000
|
||||
machine_max_acceleration_z = 100,200
|
||||
machine_max_feedrate_e = 40,120
|
||||
machine_max_feedrate_x = 800,200
|
||||
machine_max_feedrate_y = 800,200
|
||||
machine_max_feedrate_z = 8,12
|
||||
machine_max_jerk_e = 2.5,2.5
|
||||
machine_max_jerk_x = 20,10
|
||||
machine_max_jerk_y = 20,10
|
||||
machine_max_jerk_z = 0.2,0.4
|
||||
machine_min_extruding_rate = 0,0
|
||||
machine_min_travel_rate = 0,0
|
||||
max_layer_height = 0
|
||||
max_print_height = 158
|
||||
min_layer_height = 0.07
|
||||
nozzle_diameter = 0.5
|
||||
parking_pos_retraction = 92
|
||||
print_host =
|
||||
printer_notes = LulzBot Mini w/ Aerostruder profile for Delaware Library System, Rt9 Library and Innovation Center.
|
||||
printhost_apikey =
|
||||
printhost_cafile =
|
||||
remaining_times = 0
|
||||
retract_before_travel = 2
|
||||
retract_before_wipe = 0%
|
||||
retract_layer_change = 1
|
||||
retract_length = 1
|
||||
retract_length_toolchange = 10
|
||||
retract_lift = 0
|
||||
retract_lift_above = 0
|
||||
retract_lift_below = 0
|
||||
retract_restart_extra = 0
|
||||
retract_restart_extra_toolchange = 0
|
||||
retract_speed = 40
|
||||
serial_port =
|
||||
serial_speed = 250000
|
||||
silent_mode = 0
|
||||
single_extruder_multi_material = 0
|
||||
start_gcode = ;This G-Code has been generated specifically for the LulzBot Mini with Aerosturder\nM73 P0 ; clear GLCD progress bar\nM75 ; start GLCD timer\nG26 ; clear potential 'probe fail' condition\nM107 ; disable fans\nM420 S0 ; disable leveling matrix\nG90 ; absolute positioning\nM82 ; set extruder to absolute mode\nG92 E0 ; set extruder position to 0\nM140 S{first_layer_bed_temperature[0]} ; start bed heating up\nG28; home all axes\nG0 X0 Y187 Z156 F200 ; move away from endstops\nM109 R{first_layer_temperature[0] - 60} ; soften filament before retraction\n;G1 E-15 F75 ; retract filament (LulzBot Cura is apparently trying to cold pull, might be a contributing factor to hob gear filling with filament)\nM109 R{first_layer_temperature[0] - 60} ; wait for extruder to reach wiping temp\nG1 X45 Y173 F11520 ; move above wiper pad\nG1 Z0 F1200 ; push nozzle into wiper\nG1 X42 Y173 Z-.5 F4000 ; wiping\nG1 X52 Y171 Z-.5 F4000 ; wiping\nG1 X42 Y173 Z0 F4000 ; wiping\nG1 X52 Y171 F4000 ; wiping\nG1 X42 Y173 F4000 ; wiping\nG1 X52 Y171 F4000 ; wiping\nG1 X42 Y173 F4000 ; wiping\nG1 X52 Y171 F4000 ; wiping\nG1 X57 Y173 F4000 ; wiping\nG1 X77 Y171 F4000 ; wiping\nG1 X57 Y173 F4000 ; wiping\nG1 X77 Y171 F4000 ; wiping\nG1 X57 Y173 F4000 ; wiping\nG1 X87 Y171 F4000 ; wiping\nG1 X77 Y173 F4000 ; wiping\nG1 X97 Y171 F4000 ; wiping\nG1 X77 Y173 F4000 ; wiping\nG1 X97 Y171 F4000 ; wiping\nG1 X77 Y173 F4000 ; wiping\nG1 X97 Y171 F4000 ; wiping\nG1 X107 Y173 F4000 ; wiping\nG1 X97 Y171 F4000 ; wiping\nG1 X107 Y173 F4000 ; wiping\nG1 X97 Y171 F4000 ; wiping\nG1 X107 Y173 F4000 ; wiping\nG1 X112 Y171 Z-0.5 F1000 ; wiping\nG1 Z10 ; raise extruder\nG28 X0 Y0 ; home X and Y\nG0 X0 Y187 F200 ; move away from endstops\nM109 R{first_layer_temperature[0] - 60} ; wait for extruder to reach probe temp\nM204 S300 ; set probing acceleration\nG29 ; start auto-leveling sequence\nM420 S1 ; enable leveling matrix\nM425 Z ; use measured Z backlash for compensation\nM425 Z F0 ; turn off measured Z backlash compensation. (if activated in the quality settings, this command will automatically be ignored)\nM204 S2000 ; restore standard acceleration\nG28 X0 Y0 ; re-home to account for build variance of earlier mini builds\nG0 X0 Y187 F200 ; move away from endstops\nG0 Y152 F4000 ; move in front of wiper pad\nG4 S1 ; pause\nM400 ; wait for moves to finish\nM117 Heating... ; progress indicator message on LCD\nM109 R{first_layer_temperature[0]} ; wait for extruder to reach printing temp\nM190 R{first_layer_bed_temperature[0]} ; wait for bed to reach printing temp\nG1 Z2 E0 F75 ; prime tiny bit of filament into the nozzle\nM117 Mini Printing... ; progress indicator message on LCD\nM221 S74 ; Printer specific extrusion modifier.
|
||||
thumbnails =
|
||||
toolchange_gcode =
|
||||
use_firmware_retraction = 0
|
||||
use_relative_e_distances = 0
|
||||
use_volumetric_e = 0
|
||||
variable_layer_height = 1
|
||||
wipe = 1
|
||||
z_offset = 0
|
||||
|
||||
[printer:Taz6 Aero 0.5mm]
|
||||
printer_model = TAZ6_AERO
|
||||
printer_variant = 0.5
|
||||
default_print_profile = 0.3mm @lulzbot
|
||||
default_filament_profile = PrintedSolid Jesse PLA @lulzbot
|
||||
bed_shape = 0x0,280x0,280x280,0x280
|
||||
before_layer_gcode =
|
||||
between_objects_gcode =
|
||||
cooling_tube_length = 5
|
||||
cooling_tube_retraction = 91.5
|
||||
deretract_speed = 20
|
||||
end_gcode = M400 ; wait for moves to finish\nM140 S40 ; start bed cooling\nM104 S0 ; disable hotend\nM107 ; disable fans\nG91 ; relative positioning\nG1 E-1 F300 ; filament retraction to release pressure\nG1 Z20 E-5 X-20 Y-20 F3000 ; lift up and retract even more filament\nG1 E6 ; re-prime extruder\nM117 Cooling please wait ; progress indicator message on LCD\nG90 ; absolute positioning\nG1 Y0 F3000 ; move to cooling position\nM190 R40 ; wait for bed to cool down to removal temp\nG1 Y280 F3000 ; present finished print\nM140 S0; cool downs\nM77 ; stop GLCD timer\nM84 ; disable steppers\nG90 ; absolute positioning\nM117 Print Complete. ; print complete message\n
|
||||
extra_loading_move = -2
|
||||
extruder_colour = ""
|
||||
extruder_offset = 0x0
|
||||
gcode_flavor = marlin
|
||||
high_current_on_filament_swap = 0
|
||||
host_type = octoprint
|
||||
inherits =
|
||||
layer_gcode =
|
||||
machine_max_acceleration_e = 1000,5000
|
||||
machine_max_acceleration_extruding = 1000,1250
|
||||
machine_max_acceleration_retracting = 1000,1250
|
||||
machine_max_acceleration_x = 9000,1000
|
||||
machine_max_acceleration_y = 9000,1000
|
||||
machine_max_acceleration_z = 100,200
|
||||
machine_max_feedrate_e = 40,120
|
||||
machine_max_feedrate_x = 800,200
|
||||
machine_max_feedrate_y = 800,200
|
||||
machine_max_feedrate_z = 3,12
|
||||
machine_max_jerk_e = 2.5,2.5
|
||||
machine_max_jerk_x = 12,10
|
||||
machine_max_jerk_y = 12,10
|
||||
machine_max_jerk_z = 0.2,0.4
|
||||
machine_min_extruding_rate = 0,0
|
||||
machine_min_travel_rate = 0,0
|
||||
max_layer_height = 0
|
||||
max_print_height = 250
|
||||
min_layer_height = 0.07
|
||||
nozzle_diameter = 0.5
|
||||
parking_pos_retraction = 92
|
||||
print_host =
|
||||
printer_notes = LulzBot Taz 6 w/ Aerostruder profile for Delaware Library System, Rt9 Library and Innovation Center.
|
||||
printer_technology = FFF
|
||||
printhost_apikey =
|
||||
printhost_cafile =
|
||||
remaining_times = 0
|
||||
retract_before_travel = 2
|
||||
retract_before_wipe = 0%
|
||||
retract_layer_change = 0
|
||||
retract_length = 2
|
||||
retract_length_toolchange = 10
|
||||
retract_lift = 0
|
||||
retract_lift_above = 0
|
||||
retract_lift_below = 0
|
||||
retract_restart_extra = 0
|
||||
retract_restart_extra_toolchange = 0
|
||||
retract_speed = 40
|
||||
serial_port =
|
||||
serial_speed = 250000
|
||||
silent_mode = 0
|
||||
single_extruder_multi_material = 0
|
||||
start_gcode = ;This G-Code has been generated specifically for the LulzBot TAZ 6 with Aerosturder\nM73 P0 ; clear GLCD progress bar\nM75 ; start GLCD timer\nG26 ; clear potential 'probe fail' condition\nM107 ; disable fans\nM420 S0 ; disable leveling matrix\nG90 ; absolute positioning\nM82 ; set extruder to absolute mode\nG92 E0 ; set extruder position to 0\nM140 S{first_layer_bed_temperature[0]} ; start bed heating up\nG28 XY ; home X and Y\nG1 X-19 Y258 F1000 ; move to safe homing position\nM109 R{first_layer_temperature[0] - 60} ; soften filament before homing Z\nG28 Z ; home Z\nG1 E-15 F100 ; retract filament\nM109 R{first_layer_temperature[0] - 60} ; wait for extruder to reach wiping temp\nG1 X-15 Y100 F3000 ; move above wiper pad\nG1 Z1 ; push nozzle into wiper\nG1 X-17 Y95 F1000 ; slow wipe\nG1 X-17 Y90 F1000 ; slow wipe\nG1 X-17 Y85 F1000 ; slow wipe\nG1 X-15 Y90 F1000 ; slow wipe\nG1 X-17 Y80 F1000 ; slow wipe\nG1 X-15 Y95 F1000 ; slow wipe\nG1 X-17 Y75 F2000 ; fast wipe\nG1 X-15 Y65 F2000 ; fast wipe\nG1 X-17 Y70 F2000 ; fast wipe\nG1 X-15 Y60 F2000 ; fast wipe\nG1 X-17 Y55 F2000 ; fast wipe\nG1 X-15 Y50 F2000 ; fast wipe\nG1 X-17 Y40 F2000 ; fast wipe\nG1 X-15 Y45 F2000 ; fast wipe\nG1 X-17 Y35 F2000 ; fast wipe\nG1 X-15 Y40 F2000 ; fast wipe\nG1 X-17 Y70 F2000 ; fast wipe\nG1 X-15 Y30 Z2 F2000 ; fast wipe\nG1 X-17 Y35 F2000 ; fast wipe\nG1 X-15 Y25 F2000 ; fast wipe\nG1 X-17 Y30 F2000 ; fast wipe\nG1 X-15 Y25 Z1.5 F1000 ; slow wipe\nG1 X-17 Y23 F1000 ; slow wipe\nG1 Z10 ; raise extruder\nM109 R{first_layer_temperature[0] - 60} ; wait for extruder to reach probe temp\nG1 X-9 Y-9 ; move above first probe point\nM204 S100 ; set probing acceleration\nG29 ; start auto-leveling sequence\nM420 S1 ; enable leveling matrix\nM425 Z ; use measured Z backlash for compensation\nM425 Z F0 ; turn off measured Z backlash compensation. (if activated in the quality settings, this command will automatically be ignored)\nM204 S500 ; restore standard acceleration\nG1 X0 Y0 Z15 F5000 ; move up off last probe point\nG4 S1 ; pause\nM400 ; wait for moves to finish\nM117 Heating... ; progress indicator message on LCD\nM109 R{first_layer_temperature[0]} ; wait for extruder to reach printing temp\nM190 R{first_layer_bed_temperature[0]} ; wait for bed to reach printing temp\nG1 Z2 E0 F75 ; prime tiny bit of filament into the nozzle\nM117 TAZ 6 Printing... ; progress indicator message on LCD\n
|
||||
thumbnails =
|
||||
toolchange_gcode =
|
||||
use_firmware_retraction = 0
|
||||
use_relative_e_distances = 0
|
||||
use_volumetric_e = 0
|
||||
variable_layer_height = 1
|
||||
wipe = 1
|
||||
z_offset = 0
|
BIN
resources/profiles/LulzBot/MINI_AERO_thumbnail.png
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
resources/profiles/LulzBot/TAZ6_AERO_thumbnail.png
Normal file
After Width: | Height: | Size: 62 KiB |
@ -1,4 +1,7 @@
|
||||
min_slic3r_version = 2.2.0-alpha3
|
||||
1.1.2 Added renamed_from fields for PETG filaments to indicate that they were renamed from PET.
|
||||
1.1.1 Added Verbatim and Fiberlogy PETG filament profiles. Updated auto cooling settings for ABS.
|
||||
1.1.1-beta Updated for PrusaSlicer 2.2.0-beta
|
||||
1.1.1-alpha4 Extended list of default filaments to be installed, top/bottom_solid_min_thickness defined, infill_acceleration changed etc
|
||||
1.1.1-alpha3 Print bed textures are now configurable from the Preset Bundle. Requires PrusaSlicer 2.2.0-alpha3 and newer.
|
||||
# The following line (max_slic3r_version) forces the users of PrusaSlicer 2.2.0-alpha3 and newer to update the profiles to 1.1.1-alpha3 and newer,
|
||||
@ -8,6 +11,8 @@ min_slic3r_version = 2.2.0-alpha0
|
||||
1.1.1-alpha2 Bumped up config version, so our in house customer will get updated profiles.
|
||||
1.1.0 Filament aliases, Creality profiles and other goodies for PrusaSlicer 2.2.0-alpha0
|
||||
min_slic3r_version = 2.1.1-beta0
|
||||
1.0.8 Various changes in FFF profiles, new filaments/materials added. See changelog.
|
||||
1.0.7 Updated layer height limits for MINI
|
||||
1.0.6 Added Prusa MINI profiles
|
||||
min_slic3r_version = 2.1.0-alpha0
|
||||
1.0.5 Added SLA materials
|
||||
@ -118,4 +123,4 @@ min_slic3r_version = 1.40.0-alpha
|
||||
0.1.3 Fixed an incorrect position of the max_print_height parameter
|
||||
0.1.2 Wipe tower changes
|
||||
0.1.1 Minor print speed adjustments
|
||||
0.1.0 Initial
|
||||
0.1.0 Initial
|
@ -5,7 +5,7 @@
|
||||
name = Prusa Research
|
||||
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
||||
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
||||
config_version = 1.1.1-alpha4
|
||||
config_version = 1.1.2
|
||||
# Where to get the updates from?
|
||||
config_update_url = http://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/PrusaResearch/
|
||||
changelog_url = http://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
|
||||
@ -148,7 +148,7 @@ external_fill_pattern = rectilinear
|
||||
external_perimeters_first = 0
|
||||
external_perimeter_extrusion_width = 0.45
|
||||
extra_perimeters = 0
|
||||
extruder_clearance_height = 25
|
||||
extruder_clearance_height = 20
|
||||
extruder_clearance_radius = 45
|
||||
extrusion_width = 0.45
|
||||
fill_angle = 45
|
||||
@ -1538,12 +1538,12 @@ start_filament_gcode = "M900 K0 ; Filament gcode"
|
||||
[filament:*ABS*]
|
||||
inherits = *common*
|
||||
bed_temperature = 110
|
||||
bridge_fan_speed = 30
|
||||
bridge_fan_speed = 25
|
||||
cooling = 0
|
||||
disable_fan_first_layers = 3
|
||||
fan_always_on = 0
|
||||
fan_below_layer_time = 20
|
||||
filament_colour = #3A80CA
|
||||
filament_colour = #FFF2EC
|
||||
filament_max_volumetric_speed = 11
|
||||
filament_ramming_parameters = "120 100 5.70968 6.03226 7 8.25806 9 9.19355 9.3871 9.77419 10.129 10.3226 10.4516 10.5161| 0.05 5.69677 0.45 6.15484 0.95 8.76774 1.45 9.20323 1.95 9.95806 2.45 10.3871 2.95 10.5677 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
filament_type = ABS
|
||||
@ -1555,6 +1555,28 @@ temperature = 255
|
||||
start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}200{elsif nozzle_diameter[0]==0.6}18{else}30{endif} ; Filament gcode"
|
||||
compatible_printers_condition = printer_model!="MINI" and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material)
|
||||
|
||||
[filament:*ABSC*]
|
||||
inherits = *common*
|
||||
bed_temperature = 110
|
||||
bridge_fan_speed = 25
|
||||
cooling = 1
|
||||
disable_fan_first_layers = 4
|
||||
fan_always_on = 0
|
||||
fan_below_layer_time = 20
|
||||
slowdown_below_layer_time = 20
|
||||
filament_colour = #FFF2EC
|
||||
filament_max_volumetric_speed = 11
|
||||
filament_ramming_parameters = "120 100 5.70968 6.03226 7 8.25806 9 9.19355 9.3871 9.77419 10.129 10.3226 10.4516 10.5161| 0.05 5.69677 0.45 6.15484 0.95 8.76774 1.45 9.20323 1.95 9.95806 2.45 10.3871 2.95 10.5677 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
filament_type = ABS
|
||||
first_layer_bed_temperature = 100
|
||||
first_layer_temperature = 255
|
||||
max_fan_speed = 15
|
||||
min_fan_speed = 15
|
||||
min_print_speed = 15
|
||||
temperature = 255
|
||||
start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}200{elsif nozzle_diameter[0]==0.6}18{else}30{endif} ; Filament gcode"
|
||||
compatible_printers_condition = printer_model!="MINI" and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material)
|
||||
|
||||
[filament:*FLEX*]
|
||||
inherits = *common*
|
||||
bed_temperature = 50
|
||||
@ -1744,7 +1766,7 @@ filament_cost = 25.4
|
||||
filament_density = 1.24
|
||||
|
||||
[filament:Fillamentum ABS]
|
||||
inherits = *ABS*
|
||||
inherits = *ABSC*
|
||||
filament_vendor = Fillamentum
|
||||
filament_cost = 32.4
|
||||
filament_density = 1.04
|
||||
@ -1827,31 +1849,32 @@ temperature = 220
|
||||
filament_retract_lift = 0.2
|
||||
|
||||
[filament:Generic ABS]
|
||||
inherits = *ABS*
|
||||
inherits = *ABSC*
|
||||
filament_vendor = Generic
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.04
|
||||
|
||||
[filament:Esun ABS]
|
||||
inherits = *ABS*
|
||||
inherits = *ABSC*
|
||||
filament_vendor = Esun
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.04
|
||||
|
||||
[filament:Hatchbox ABS]
|
||||
inherits = *ABS*
|
||||
inherits = *ABSC*
|
||||
filament_vendor = Hatchbox
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.04
|
||||
|
||||
[filament:Plasty Mladec ABS]
|
||||
inherits = *ABS*
|
||||
inherits = *ABSC*
|
||||
filament_vendor = Plasty Mladec
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.04
|
||||
|
||||
[filament:Generic PETG]
|
||||
inherits = *PET*
|
||||
renamed_from = "Generic PET"
|
||||
filament_vendor = Generic
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.27
|
||||
@ -1867,7 +1890,6 @@ inherits = *PLA*
|
||||
filament_vendor = Generic
|
||||
filament_cost = 25.4
|
||||
filament_density = 1.24
|
||||
filament_notes = "List of materials tested with standard PLA print settings:\n\nDas Filament\nEsun PLA\nEUMAKERS PLA\nFiberlogy HD-PLA\nFillamentum PLA\nFloreon3D\nHatchbox PLA\nPlasty Mladec PLA\nPrimavalue PLA\nProto pasta Matte Fiber\nVerbatim PLA\nVerbatim BVOH"
|
||||
|
||||
[filament:Generic FLEX]
|
||||
inherits = *FLEX*
|
||||
@ -1938,7 +1960,7 @@ filament_cost = 77.3
|
||||
filament_density = 1.20
|
||||
filament_type = PC
|
||||
bed_temperature = 115
|
||||
filament_colour = #3A80CA
|
||||
filament_colour = #FFF2EC
|
||||
first_layer_bed_temperature = 100
|
||||
first_layer_temperature = 270
|
||||
temperature = 270
|
||||
@ -1954,7 +1976,6 @@ cooling = 0
|
||||
fan_always_on = 0
|
||||
filament_colour = #FFFFD7
|
||||
filament_max_volumetric_speed = 3.8
|
||||
filament_notes = "List of materials tested with standard PVA print settings:\n\nPrimaSelect PVA+\nICE FILAMENTS PVA 'NAUGHTY NATURAL'"
|
||||
filament_ramming_parameters = "120 100 8.3871 8.6129 8.93548 9.22581 9.48387 9.70968 9.87097 10.0323 10.2258 10.4194 10.6452 10.8065| 0.05 8.34193 0.45 8.73548 0.95 9.34836 1.45 9.78385 1.95 10.0871 2.45 10.5161 2.95 10.8903 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
filament_soluble = 1
|
||||
filament_type = PVA
|
||||
@ -1963,11 +1984,10 @@ start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/}0{elsi
|
||||
temperature = 195
|
||||
|
||||
[filament:Prusa ABS]
|
||||
inherits = *ABS*
|
||||
inherits = *ABSC*
|
||||
filament_vendor = Made for Prusa
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.08
|
||||
filament_notes = "List of materials tested with standard ABS print settings:\n\nEsun ABS\nFil-A-Gehr ABS\nHatchboxABS\nPlasty Mladec ABS"
|
||||
|
||||
[filament:*ABS MMU2*]
|
||||
inherits = Prusa ABS
|
||||
@ -1984,12 +2004,10 @@ filament_unloading_speed = 20
|
||||
|
||||
[filament:Generic ABS @MMU2]
|
||||
inherits = *ABS MMU2*
|
||||
# alias = Generic ABS
|
||||
filament_vendor = Generic
|
||||
|
||||
[filament:Prusament ASA @MMU2]
|
||||
inherits = *ABS MMU2*
|
||||
# alias = Prusament ASA
|
||||
filament_vendor = Prusa Polymers
|
||||
filament_cost = 35.28
|
||||
filament_density = 1.07
|
||||
@ -2013,7 +2031,6 @@ start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}200{el
|
||||
|
||||
[filament:Prusa ABS @MMU2]
|
||||
inherits = *ABS MMU2*
|
||||
# alias = Prusa ABS
|
||||
filament_vendor = Made for Prusa
|
||||
|
||||
[filament:Plasty Mladec ABS @MMU2]
|
||||
@ -2027,7 +2044,7 @@ filament_cost = 27.3
|
||||
filament_density = 1.04
|
||||
bridge_fan_speed = 50
|
||||
cooling = 1
|
||||
extrusion_multiplier = 0.9
|
||||
extrusion_multiplier = 1
|
||||
fan_always_on = 1
|
||||
fan_below_layer_time = 10
|
||||
filament_colour = #FFFFD7
|
||||
@ -2060,10 +2077,24 @@ temperature = 230
|
||||
|
||||
[filament:Prusa PETG]
|
||||
inherits = *PET*
|
||||
renamed_from = "Prusa PET"
|
||||
filament_vendor = Made for Prusa
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.27
|
||||
filament_notes = "List of manufacturers tested with standard PETG print settings:\n\nE3D Edge\nPlasty Mladec PETG"
|
||||
compatible_printers_condition = nozzle_diameter[0]!=0.6 and printer_model!="MK2SMM" and printer_model!="MINI" and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material)
|
||||
|
||||
[filament:Verbatim PETG]
|
||||
inherits = *PET*
|
||||
filament_vendor = Verbatim
|
||||
filament_cost = 27.90
|
||||
filament_density = 1.27
|
||||
compatible_printers_condition = nozzle_diameter[0]!=0.6 and printer_model!="MK2SMM" and printer_model!="MINI" and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material)
|
||||
|
||||
[filament:Fiberlogy PETG]
|
||||
inherits = *PET*
|
||||
filament_vendor = Fiberlogy
|
||||
filament_cost = 21.50
|
||||
filament_density = 1.27
|
||||
compatible_printers_condition = nozzle_diameter[0]!=0.6 and printer_model!="MK2SMM" and printer_model!="MINI" and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material)
|
||||
|
||||
[filament:Prusament PETG]
|
||||
@ -2078,11 +2109,10 @@ compatible_printers_condition = nozzle_diameter[0]!=0.6 and printer_model!="MK2S
|
||||
|
||||
[filament:Prusa PETG @0.6 nozzle]
|
||||
inherits = *PET06*
|
||||
# alias = Prusa PETG
|
||||
renamed_from = "Prusa PET 0.6 nozzle"; "Prusa PETG 0.6 nozzle"
|
||||
filament_vendor = Made for Prusa
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.27
|
||||
filament_notes = "List of manufacturers tested with standard PETG print settings:\n\nE3D Edge\nPlasty Mladec PETG"
|
||||
|
||||
[filament:Prusament PETG @0.6 nozzle]
|
||||
inherits = *PET06*
|
||||
@ -2096,9 +2126,27 @@ filament_type = PETG
|
||||
[filament:Plasty Mladec PETG @0.6 nozzle]
|
||||
inherits = *PET06*
|
||||
filament_vendor = Plasty Mladec
|
||||
first_layer_temperature = 240
|
||||
temperature = 250
|
||||
filament_cost = 24.99
|
||||
first_layer_temperature = 230
|
||||
temperature = 240
|
||||
filament_cost = 27.92
|
||||
filament_density = 1.27
|
||||
filament_type = PETG
|
||||
|
||||
[filament:Verbatim PETG @0.6 nozzle]
|
||||
inherits = *PET06*
|
||||
filament_vendor = Verbatim
|
||||
first_layer_temperature = 230
|
||||
temperature = 240
|
||||
filament_cost = 27.90
|
||||
filament_density = 1.27
|
||||
filament_type = PETG
|
||||
|
||||
[filament:Fiberlogy PETG @0.6 nozzle]
|
||||
inherits = *PET06*
|
||||
filament_vendor = Fiberlogy
|
||||
first_layer_temperature = 230
|
||||
temperature = 240
|
||||
filament_cost = 21.50
|
||||
filament_density = 1.27
|
||||
filament_type = PETG
|
||||
|
||||
@ -2112,7 +2160,6 @@ filament_cooling_initial_speed = 2
|
||||
filament_cooling_moves = 1
|
||||
filament_load_time = 15
|
||||
filament_loading_speed = 14
|
||||
filament_notes = PET
|
||||
filament_ramming_parameters = "120 140 4.70968 4.74194 4.77419 4.80645 4.83871 4.87097 4.90323 5 5.25806 5.67742 6.29032 7.06452 7.83871 8.3871| 0.05 4.72901 0.45 4.73545 0.95 4.83226 1.45 4.88067 1.95 5.05483 2.45 5.93553 2.95 7.53556 3.45 8.6323 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||
filament_unload_time = 12
|
||||
filament_unloading_speed = 20
|
||||
@ -2128,7 +2175,7 @@ filament_max_volumetric_speed = 13
|
||||
|
||||
[filament:Generic PETG @MMU2]
|
||||
inherits = *PET MMU2*
|
||||
# alias = Generic PETG
|
||||
renamed_from = "Generic PET MMU2"; "Generic PETG MMU2"
|
||||
filament_vendor = Generic
|
||||
|
||||
[filament:Plasty Mladec PETG @MMU2]
|
||||
@ -2137,35 +2184,32 @@ filament_vendor = Plasty Mladec
|
||||
|
||||
[filament:Prusa PETG @MMU2]
|
||||
inherits = *PET MMU2*
|
||||
# alias = Prusa PETG
|
||||
renamed_from = "Prusa PET MMU2"; "Prusa PETG MMU2"
|
||||
filament_vendor = Made for Prusa
|
||||
|
||||
[filament:Prusament PETG @MMU2]
|
||||
inherits = *PET MMU2*
|
||||
filament_type = PETG
|
||||
# alias = Prusament PETG
|
||||
filament_vendor = Prusa Polymers
|
||||
|
||||
[filament:Generic PETG @MMU2 0.6 nozzle]
|
||||
inherits = *PET MMU2 06*
|
||||
# alias = Generic PETG
|
||||
renamed_from = "Generic PET MMU2 0.6 nozzle"; "Generic PETG MMU2 0.6 nozzle"
|
||||
filament_vendor = Generic
|
||||
|
||||
[filament:Prusa PETG @MMU2 0.6 nozzle]
|
||||
inherits = *PET MMU2 06*
|
||||
# alias = Prusa PETG
|
||||
renamed_from = "Prusa PET MMU2 0.6 nozzle"; "Prusa PETG MMU2 0.6 nozzle"
|
||||
filament_vendor = Made for Prusa
|
||||
|
||||
[filament:Prusament PETG @MMU2 0.6 nozzle]
|
||||
inherits = *PET MMU2 06*
|
||||
filament_type = PETG
|
||||
# alias = Prusament PETG
|
||||
filament_vendor = Prusa Polymers
|
||||
|
||||
[filament:Plasty Mladec PETG @MMU2 0.6 nozzle]
|
||||
inherits = *PET MMU2 06*
|
||||
filament_type = PETG
|
||||
# alias = Prusament PETG
|
||||
filament_vendor = Plasty Mladec
|
||||
|
||||
[filament:Prusa PLA]
|
||||
@ -2321,7 +2365,6 @@ fan_always_on = 0
|
||||
fan_below_layer_time = 100
|
||||
filament_colour = #FFFFD7
|
||||
filament_max_volumetric_speed = 4
|
||||
filament_notes = "List of materials tested with standard PVA print settings:\n\nVerbatim BVOH"
|
||||
filament_soluble = 1
|
||||
filament_type = PVA
|
||||
first_layer_bed_temperature = 60
|
||||
@ -2373,7 +2416,6 @@ filament_loading_speed = 14
|
||||
filament_loading_speed_start = 19
|
||||
filament_max_volumetric_speed = 3.8
|
||||
filament_minimal_purge_on_wipe_tower = 15
|
||||
filament_notes = "List of materials tested with standard PVA print settings:\n\nPrimaSelect PVA+"
|
||||
filament_ramming_parameters = "120 110 3.83871 3.90323 3.96774 4.03226 4.09677 4.19355 4.3871 4.83871 5.67742 6.93548 8.54839 10.3226 11.9677 13.2581 14.129 14.5806| 0.05 3.8258 0.45 3.89676 0.95 4.05807 1.45 4.23548 1.95 5.18386 2.45 7.80651 2.95 11.5356 3.45 13.9872 3.95 14.7613 4.45 7.6 4.95 7.6"
|
||||
filament_soluble = 1
|
||||
filament_toolchange_delay = 0
|
||||
@ -2404,7 +2446,6 @@ fan_always_on = 1
|
||||
fan_below_layer_time = 100
|
||||
filament_colour = #DEE0E6
|
||||
filament_max_volumetric_speed = 5
|
||||
filament_notes = "List of materials tested with standard PLA print settings:\n\nEsun PLA\nFiberlogy HD-PLA\nFillamentum PLA\nFloreon3D\nHatchbox PLA\nPlasty Mladec PLA\nPrimavalue PLA\nProto pasta Matte Fiber\nEUMAKERS PLA"
|
||||
filament_type = PP
|
||||
first_layer_bed_temperature = 100
|
||||
first_layer_temperature = 220
|
||||
@ -2445,7 +2486,6 @@ temperature = 270
|
||||
|
||||
[filament:ColorFabb XT-CF20 @MMU1]
|
||||
inherits = *PETMMU1*
|
||||
# alias = ColorFabb XT-CF20
|
||||
filament_vendor = ColorFabb
|
||||
compatible_printers_condition = nozzle_diameter[0]>0.35 and printer_model=="MK2SMM"
|
||||
extrusion_multiplier = 1.2
|
||||
@ -2460,7 +2500,6 @@ temperature = 260
|
||||
|
||||
[filament:ColorFabb nGen @MMU1]
|
||||
inherits = *PETMMU1*
|
||||
# alias = ColorFabb nGen
|
||||
filament_vendor = ColorFabb
|
||||
filament_cost = 21.2
|
||||
filament_density = 1.2
|
||||
@ -2474,16 +2513,13 @@ min_fan_speed = 20
|
||||
|
||||
[filament:E3D Edge @MMU1]
|
||||
inherits = *PETMMU1*
|
||||
# alias = E3D Edge
|
||||
filament_vendor = E3D
|
||||
filament_cost = 56.9
|
||||
filament_density = 1.26
|
||||
filament_type = EDGE
|
||||
filament_notes = "List of manufacturers tested with standard PETG print settings:\n\nE3D Edge\nFillamentum CPE GH100\nPlasty Mladec PETG"
|
||||
|
||||
[filament:Fillamentum CPE @MMU1]
|
||||
inherits = *PETMMU1*
|
||||
# alias = Fillamentum CPE
|
||||
filament_vendor = Fillamentum
|
||||
filament_cost = 54.1
|
||||
filament_density = 1.25
|
||||
@ -2496,29 +2532,38 @@ temperature = 275
|
||||
|
||||
[filament:Generic PETG @MMU1]
|
||||
inherits = *PETMMU1*
|
||||
# alias = Generic PETG
|
||||
renamed_from = "Generic PET MMU1"; "Generic PETG MMU1"
|
||||
filament_vendor = Generic
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.27
|
||||
|
||||
[filament:Plasty Mladec PETG @MMU1]
|
||||
inherits = *PETMMU1*
|
||||
# alias = Generic PETG
|
||||
filament_vendor = Plasty Mladec
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.27
|
||||
|
||||
[filament:Verbatim PETG @MMU1]
|
||||
inherits = *PETMMU1*
|
||||
filament_vendor = Verbatim
|
||||
filament_cost = 27.90
|
||||
filament_density = 1.27
|
||||
|
||||
[filament:Fiberlogy PETG @MMU1]
|
||||
inherits = *PETMMU1*
|
||||
filament_vendor = Fiberlogy
|
||||
filament_cost = 21.50
|
||||
filament_density = 1.27
|
||||
|
||||
[filament:Prusa PETG @MMU1]
|
||||
inherits = *PETMMU1*
|
||||
# alias = Prusa PETG
|
||||
renamed_from = "Prusa PET MMU1"; "Prusa PETG MMU1"
|
||||
filament_vendor = Made for Prusa
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.27
|
||||
filament_notes = "List of manufacturers tested with standard PETG print settings:\n\nE3D Edge\nPlasty Mladec PETG"
|
||||
|
||||
[filament:Prusament PETG @MMU1]
|
||||
inherits = *PETMMU1*
|
||||
# alias = Prusament PETG
|
||||
filament_vendor = Prusa Polymers
|
||||
first_layer_temperature = 240
|
||||
temperature = 250
|
||||
@ -2528,7 +2573,6 @@ filament_type = PETG
|
||||
|
||||
[filament:Taulman T-Glase @MMU1]
|
||||
inherits = *PETMMU1*
|
||||
# alias = Taulman T-Glase
|
||||
filament_vendor = Taulman
|
||||
filament_cost = 40
|
||||
filament_density = 1.27
|
||||
@ -2554,7 +2598,6 @@ compatible_printers_condition = printer_model=="MK2SMM"
|
||||
|
||||
[filament:Generic FLEX @MMU1]
|
||||
inherits = *FLEX*
|
||||
# alias = Generic FLEX
|
||||
filament_vendor = Generic
|
||||
filament_cost = 82
|
||||
filament_density = 1.22
|
||||
@ -2568,8 +2611,8 @@ compatible_printers_condition = printer_model=="MK2SMM"
|
||||
|
||||
[filament:Generic PETG @MINI]
|
||||
inherits = Generic PETG; *PETMINI*
|
||||
renamed_from = "Generic PET MINI"; "Generic PETG MINI"
|
||||
filament_vendor = Generic
|
||||
# alias = Generic PETG
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.27
|
||||
compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]!=0.6
|
||||
@ -2581,35 +2624,79 @@ filament_cost = 27.82
|
||||
filament_density = 1.27
|
||||
compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]!=0.6
|
||||
|
||||
[filament:Verbatim PETG @MINI]
|
||||
inherits = Generic PETG; *PETMINI*
|
||||
filament_vendor = Verbatim
|
||||
filament_cost = 27.90
|
||||
filament_density = 1.27
|
||||
compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]!=0.6
|
||||
|
||||
[filament:Fiberlogy PETG @MINI]
|
||||
inherits = Generic PETG; *PETMINI*
|
||||
filament_vendor = Fiberlogy
|
||||
filament_cost = 21.50
|
||||
filament_density = 1.27
|
||||
compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]!=0.6
|
||||
|
||||
[filament:Generic ABS @MINI]
|
||||
inherits = Generic ABS; *ABSMINI*
|
||||
filament_vendor = Generic
|
||||
# alias = Generic ABS
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.08
|
||||
fan_always_on = 0
|
||||
cooling = 1
|
||||
min_fan_speed = 15
|
||||
max_fan_speed = 15
|
||||
slowdown_below_layer_time = 20
|
||||
disable_fan_first_layers = 4
|
||||
fan_below_layer_time = 20
|
||||
bridge_fan_speed = 25
|
||||
|
||||
[filament:Esun ABS @MINI]
|
||||
inherits = Generic ABS; *ABSMINI*
|
||||
filament_vendor = Esun
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.08
|
||||
fan_always_on = 0
|
||||
cooling = 1
|
||||
min_fan_speed = 15
|
||||
max_fan_speed = 15
|
||||
slowdown_below_layer_time = 20
|
||||
disable_fan_first_layers = 4
|
||||
fan_below_layer_time = 20
|
||||
bridge_fan_speed = 25
|
||||
|
||||
[filament:Hatchbox ABS @MINI]
|
||||
inherits = Generic ABS; *ABSMINI*
|
||||
filament_vendor = Hatchbox
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.08
|
||||
fan_always_on = 0
|
||||
cooling = 1
|
||||
min_fan_speed = 15
|
||||
max_fan_speed = 15
|
||||
slowdown_below_layer_time = 20
|
||||
disable_fan_first_layers = 4
|
||||
fan_below_layer_time = 20
|
||||
bridge_fan_speed = 25
|
||||
|
||||
[filament:Plasty Mladec ABS @MINI]
|
||||
inherits = Generic ABS; *ABSMINI*
|
||||
filament_vendor = Plasty Mladec
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.08
|
||||
fan_always_on = 0
|
||||
cooling = 1
|
||||
min_fan_speed = 15
|
||||
max_fan_speed = 15
|
||||
slowdown_below_layer_time = 20
|
||||
disable_fan_first_layers = 4
|
||||
fan_below_layer_time = 20
|
||||
bridge_fan_speed = 25
|
||||
|
||||
[filament:Prusament PETG @MINI]
|
||||
inherits = Prusament PETG; *PETMINI*
|
||||
filament_vendor = Prusa Polymers
|
||||
# alias = Prusament PETG
|
||||
first_layer_temperature = 240
|
||||
temperature = 250
|
||||
filament_density = 1.27
|
||||
@ -2618,7 +2705,6 @@ compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]!=0.
|
||||
|
||||
[filament:Prusament PETG @0.6 nozzle MINI]
|
||||
inherits = Prusament PETG; *PETMINI06*
|
||||
# alias = Prusament PETG
|
||||
first_layer_temperature = 240
|
||||
temperature = 250
|
||||
filament_density = 1.27
|
||||
@ -2626,16 +2712,22 @@ filament_cost = 24.99
|
||||
|
||||
[filament:Generic PETG @0.6 nozzle MINI]
|
||||
inherits = Generic PETG; *PETMINI06*
|
||||
# alias = Generic PETG
|
||||
renamed_from = "Generic PET 0.6 nozzle MINI"; "Generic PETG 0.6 nozzle MINI"
|
||||
|
||||
[filament:Plasty Mladec PETG @0.6 nozzle MINI]
|
||||
inherits = Generic PETG; *PETMINI06*
|
||||
filament_vendor = Plasty Mladec
|
||||
# alias = Generic PETG
|
||||
|
||||
[filament:Verbatim PETG @0.6 nozzle MINI]
|
||||
inherits = Generic PETG; *PETMINI06*
|
||||
filament_vendor = Verbatim
|
||||
|
||||
[filament:Fiberlogy PETG @0.6 nozzle MINI]
|
||||
inherits = Generic PETG; *PETMINI06*
|
||||
filament_vendor = Fiberlogy
|
||||
|
||||
[filament:Prusament ASA @MINI]
|
||||
inherits = Prusament ASA; *ABSMINI*
|
||||
# alias = Prusament ASA
|
||||
first_layer_temperature = 260
|
||||
first_layer_bed_temperature = 100
|
||||
temperature = 260
|
||||
@ -2654,7 +2746,6 @@ filament_density = 1.07
|
||||
|
||||
[filament:Fillamentum Flexfill 98A @MINI]
|
||||
inherits = SemiFlex or Flexfill 98A; *FLEXMINI*
|
||||
# alias = Fillamentum Flexfill 98A
|
||||
filament_vendor = Fillamentum
|
||||
first_layer_temperature = 240
|
||||
temperature = 240
|
||||
@ -2662,7 +2753,6 @@ filament_max_volumetric_speed = 1.35
|
||||
|
||||
[filament:Generic FLEX @MINI]
|
||||
inherits = SemiFlex or Flexfill 98A; *FLEXMINI*
|
||||
# alias = Semiflex or Flex 98A
|
||||
filament_vendor = Generic
|
||||
fan_always_on = 0
|
||||
bridge_fan_speed = 80
|
||||
@ -2673,7 +2763,6 @@ filament_max_volumetric_speed = 1.35
|
||||
|
||||
[filament:AmazonBasics TPU @MINI]
|
||||
inherits = *FLEXMINI*
|
||||
# alias = AmazonBasics TPU
|
||||
filament_vendor = AmazonBasics
|
||||
filament_max_volumetric_speed = 1.5
|
||||
first_layer_temperature = 235
|
||||
@ -2689,7 +2778,6 @@ filament_density = 1.21
|
||||
|
||||
[filament:SainSmart TPU @MINI]
|
||||
inherits = *FLEXMINI*
|
||||
# alias = SainSmart TPU
|
||||
filament_vendor = SainSmart
|
||||
filament_max_volumetric_speed = 1.8
|
||||
first_layer_temperature = 235
|
||||
@ -2708,7 +2796,6 @@ filament_density = 1.21
|
||||
|
||||
[filament:Filatech FilaFlex40 @MINI]
|
||||
inherits = *FLEXMINI*
|
||||
# alias = Filatech FilaFlex40
|
||||
filament_vendor = Filatech
|
||||
filament_max_volumetric_speed = 1.8
|
||||
fan_always_on = 1
|
||||
@ -2728,7 +2815,6 @@ filament_cost = 51.45
|
||||
|
||||
[filament:Fillamentum Flexfill 92A @MINI]
|
||||
inherits = *FLEXMINI*
|
||||
# alias = Fillamentum Flexfill 92A
|
||||
filament_vendor = Fillamentum
|
||||
first_layer_temperature = 245
|
||||
temperature = 245
|
||||
@ -2753,7 +2839,6 @@ start_filament_gcode = "M900 K0 ; Filament gcode"
|
||||
|
||||
[filament:Fillamentum CPE @MINI]
|
||||
inherits = Fillamentum CPE; *PETMINI*
|
||||
# alias = Fillamentum CPE
|
||||
first_layer_temperature = 265
|
||||
first_layer_bed_temperature = 90
|
||||
temperature = 265
|
||||
@ -2763,25 +2848,29 @@ filament_density = 1.25
|
||||
|
||||
[filament:ColorFabb nGen @MINI]
|
||||
inherits = ColorFabb nGen; *PETMINI*
|
||||
# alias = ColorFabb nGen
|
||||
filament_cost = 52.46
|
||||
filament_density = 1.2
|
||||
|
||||
[filament:E3D PC-ABS @MINI]
|
||||
inherits = E3D PC-ABS; *ABSMINI*
|
||||
# alias = E3D PC-ABS
|
||||
filament_density = 1.05
|
||||
filament_cost = 28.80
|
||||
|
||||
[filament:Fillamentum ABS @MINI]
|
||||
inherits = Fillamentum ABS; *ABSMINI*
|
||||
# alias = Fillamentum ABS
|
||||
filament_cost = 32.4
|
||||
filament_density = 1.04
|
||||
fan_always_on = 0
|
||||
cooling = 1
|
||||
min_fan_speed = 15
|
||||
max_fan_speed = 15
|
||||
slowdown_below_layer_time = 20
|
||||
disable_fan_first_layers = 4
|
||||
fan_below_layer_time = 20
|
||||
bridge_fan_speed = 25
|
||||
|
||||
[filament:Fillamentum ASA @MINI]
|
||||
inherits = Fillamentum ASA; *ABSMINI*
|
||||
# alias = Fillamentum ASA
|
||||
first_layer_temperature = 255
|
||||
first_layer_bed_temperature = 100
|
||||
temperature = 255
|
||||
@ -2800,11 +2889,10 @@ filament_density = 1.07
|
||||
|
||||
[filament:Polymaker PC-Max @MINI]
|
||||
inherits = Polymaker PC-Max; *ABSMINI*
|
||||
# alias = Polymaker PC-Max
|
||||
filament_type = PC
|
||||
filament_max_volumetric_speed = 7
|
||||
bed_temperature = 100
|
||||
filament_colour = #3A80CA
|
||||
filament_colour = #FFF2EC
|
||||
first_layer_bed_temperature = 100
|
||||
first_layer_temperature = 270
|
||||
temperature = 270
|
||||
@ -2814,14 +2902,20 @@ filament_density = 1.20
|
||||
|
||||
[filament:Prusa ABS @MINI]
|
||||
inherits = *ABSMINI*
|
||||
# alias = Prusa ABS
|
||||
filament_vendor = Made for Prusa
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.08
|
||||
fan_always_on = 0
|
||||
cooling = 1
|
||||
min_fan_speed = 15
|
||||
max_fan_speed = 15
|
||||
slowdown_below_layer_time = 20
|
||||
disable_fan_first_layers = 4
|
||||
fan_below_layer_time = 20
|
||||
bridge_fan_speed = 25
|
||||
|
||||
[filament:Generic HIPS @MINI]
|
||||
inherits = *ABSMINI*
|
||||
# alias = Generic HIPS
|
||||
filament_vendor = Generic
|
||||
filament_cost = 27.3
|
||||
filament_density = 1.04
|
||||
@ -2840,7 +2934,6 @@ temperature = 230
|
||||
|
||||
[filament:ColorFabb HT @MINI]
|
||||
inherits = *PETMINI*
|
||||
# alias = ColorFabb HT
|
||||
filament_vendor = ColorFabb
|
||||
bed_temperature = 100
|
||||
bridge_fan_speed = 30
|
||||
@ -2858,7 +2951,6 @@ temperature = 270
|
||||
|
||||
[filament:ColorFabb XT @MINI]
|
||||
inherits = *PETMINI*
|
||||
# alias = ColorFabb XT
|
||||
filament_vendor = ColorFabb
|
||||
filament_type = PETG
|
||||
filament_cost = 62.9
|
||||
@ -2869,7 +2961,6 @@ temperature = 270
|
||||
|
||||
[filament:ColorFabb XT-CF20 @MINI]
|
||||
inherits = *PETMINI*
|
||||
# alias = ColorFabb XT-CF20
|
||||
filament_vendor = ColorFabb
|
||||
compatible_printers_condition = nozzle_diameter[0]>0.35 and printer_model=="MINI"
|
||||
extrusion_multiplier = 1.2
|
||||
@ -2883,7 +2974,6 @@ temperature = 260
|
||||
|
||||
[filament:Taulman T-Glase @MINI]
|
||||
inherits = *PETMINI*
|
||||
# alias = Taulman T-Glase
|
||||
filament_vendor = Taulman
|
||||
filament_cost = 40
|
||||
filament_density = 1.27
|
||||
@ -2897,7 +2987,6 @@ min_fan_speed = 0
|
||||
|
||||
[filament:E3D Edge @MINI]
|
||||
inherits = *PETMINI*
|
||||
# alias = E3D Edge
|
||||
filament_vendor = E3D
|
||||
filament_cost = 56.9
|
||||
filament_density = 1.26
|
||||
@ -2905,7 +2994,7 @@ filament_type = EDGE
|
||||
|
||||
[filament:Prusa PETG @MINI]
|
||||
inherits = *PETMINI*
|
||||
# alias = Prusa PETG
|
||||
renamed_from = "Prusa PET MINI"; "Prusa PETG MINI"
|
||||
filament_vendor = Made for Prusa
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.27
|
||||
@ -2913,7 +3002,7 @@ compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]!=0.
|
||||
|
||||
[filament:Prusa PETG @0.6 nozzle MINI]
|
||||
inherits = *PETMINI06*
|
||||
# alias = Prusa PETG
|
||||
renamed_from = "Prusa PET 0.6 nozzle MINI"; "Prusa PETG 0.6 nozzle MINI"
|
||||
filament_vendor = Made for Prusa
|
||||
filament_cost = 27.82
|
||||
filament_density = 1.27
|
||||
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
@ -104,33 +104,7 @@ endif ()
|
||||
# Add the Slic3r GUI library, libcurl, OpenGL and GLU libraries.
|
||||
if (SLIC3R_GUI)
|
||||
# target_link_libraries(PrusaSlicer ws2_32 uxtheme setupapi libslic3r_gui ${wxWidgets_LIBRARIES})
|
||||
target_link_libraries(PrusaSlicer libslic3r_gui ${wxWidgets_LIBRARIES})
|
||||
|
||||
# Configure libcurl and its dependencies OpenSSL & zlib
|
||||
find_package(CURL REQUIRED)
|
||||
if (NOT WIN32)
|
||||
# Required by libcurl
|
||||
find_package(ZLIB REQUIRED)
|
||||
endif()
|
||||
target_include_directories(PrusaSlicer PRIVATE ${CURL_INCLUDE_DIRS})
|
||||
target_link_libraries(PrusaSlicer ${CURL_LIBRARIES} ${ZLIB_LIBRARIES})
|
||||
if (SLIC3R_STATIC)
|
||||
if (NOT APPLE)
|
||||
# libcurl is always linked dynamically to the system libcurl on OSX.
|
||||
# On other systems, libcurl is linked statically if SLIC3R_STATIC is set.
|
||||
target_compile_definitions(PrusaSlicer PRIVATE CURL_STATICLIB)
|
||||
endif()
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
# As of now, our build system produces a statically linked libcurl,
|
||||
# which links the OpenSSL library dynamically.
|
||||
find_package(OpenSSL REQUIRED)
|
||||
message("OpenSSL include dir: ${OPENSSL_INCLUDE_DIR}")
|
||||
message("OpenSSL libraries: ${OPENSSL_LIBRARIES}")
|
||||
target_include_directories(PrusaSlicer PRIVATE ${OPENSSL_INCLUDE_DIR})
|
||||
target_link_libraries(PrusaSlicer ${OPENSSL_LIBRARIES})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
target_link_libraries(PrusaSlicer libslic3r_gui)
|
||||
if (MSVC)
|
||||
# Generate debug symbols even in release mode.
|
||||
target_link_options(PrusaSlicer PUBLIC "$<$<CONFIG:RELEASE>:/DEBUG>")
|
||||
|
@ -132,14 +132,18 @@ int CLI::run(int argc, char **argv)
|
||||
Model model;
|
||||
try {
|
||||
// When loading an AMF or 3MF, config is imported as well, including the printer technology.
|
||||
model = Model::read_from_file(file, &m_print_config, true);
|
||||
PrinterTechnology other_printer_technology = get_printer_technology(m_print_config);
|
||||
DynamicPrintConfig config;
|
||||
model = Model::read_from_file(file, &config, true);
|
||||
PrinterTechnology other_printer_technology = get_printer_technology(config);
|
||||
if (printer_technology == ptUnknown) {
|
||||
printer_technology = other_printer_technology;
|
||||
} else if (printer_technology != other_printer_technology && other_printer_technology != ptUnknown) {
|
||||
boost::nowide::cerr << "Mixing configurations for FFF and SLA technologies" << std::endl;
|
||||
return 1;
|
||||
}
|
||||
// config is applied to m_print_config before the current m_config values.
|
||||
config += std::move(m_print_config);
|
||||
m_print_config = std::move(config);
|
||||
} catch (std::exception &e) {
|
||||
boost::nowide::cerr << file << ": " << e.what() << std::endl;
|
||||
return 1;
|
||||
@ -644,6 +648,14 @@ void CLI::print_help(bool include_print_options, PrinterTechnology printer_techn
|
||||
<< "Other options:" << std::endl;
|
||||
cli_misc_config_def.print_cli_help(boost::nowide::cout, false);
|
||||
|
||||
boost::nowide::cout
|
||||
<< std::endl
|
||||
<< "Print options are processed in the following order:" << std::endl
|
||||
<< "\t1) Config keys from the command line, for example --fill-pattern=stars" << std::endl
|
||||
<< "\t (highest priority, overwrites everything below)" << std::endl
|
||||
<< "\t2) Config files loaded with --load" << std::endl
|
||||
<< "\t3) Config values loaded from amf or 3mf files" << std::endl;
|
||||
|
||||
if (include_print_options) {
|
||||
boost::nowide::cout << std::endl;
|
||||
print_config_def.print_cli_help(boost::nowide::cout, true, [printer_technology](const ConfigOptionDef &def)
|
||||
|
@ -159,7 +159,7 @@ static int hid_wrapper_udev_init()
|
||||
{
|
||||
// Error, close the shared library handle and finish.
|
||||
hid_wrapper_udev_close();
|
||||
return -1;
|
||||
return -2;
|
||||
}
|
||||
|
||||
// Success.
|
||||
|
5
src/imgui/README.md
Normal file
@ -0,0 +1,5 @@
|
||||
** Dear ImGui is a bloat-free graphical user interface library for C++.**
|
||||
|
||||
For more information go to https://github.com/ocornut/imgui
|
||||
|
||||
THIS DIRECTORY CONTAINS THE imgui-1.75 58b3e02 SOURCE DISTRIBUTION.
|
@ -3,10 +3,10 @@
|
||||
// Runtime options (clipboard callbacks, enabling various features, etc.) can generally be set via the ImGuiIO structure.
|
||||
// You can use ImGui::SetAllocatorFunctions() before calling ImGui::CreateContext() to rewire memory allocation functions.
|
||||
//-----------------------------------------------------------------------------
|
||||
// A) You may edit imconfig.h (and not overwrite it when updating imgui, or maintain a patch/branch with your modifications to imconfig.h)
|
||||
// A) You may edit imconfig.h (and not overwrite it when updating Dear ImGui, or maintain a patch/branch with your modifications to imconfig.h)
|
||||
// B) or add configuration directives in your own file and compile with #define IMGUI_USER_CONFIG "myfilename.h"
|
||||
// If you do so you need to make sure that configuration settings are defined consistently _everywhere_ dear imgui is used, which include
|
||||
// the imgui*.cpp files but also _any_ of your code that uses imgui. This is because some compile-time options have an affect on data structures.
|
||||
// If you do so you need to make sure that configuration settings are defined consistently _everywhere_ Dear ImGui is used, which include
|
||||
// the imgui*.cpp files but also _any_ of your code that uses Dear ImGui. This is because some compile-time options have an affect on data structures.
|
||||
// Defining those options in imconfig.h will ensure every compilation unit gets to see the same data structure layouts.
|
||||
// Call IMGUI_CHECKVERSION() from your .cpp files to verify that the data structures your files are using are matching the ones imgui.cpp is using.
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -14,25 +14,32 @@
|
||||
#pragma once
|
||||
|
||||
//---- Define assertion handler. Defaults to calling assert().
|
||||
// If your macro uses multiple statements, make sure is enclosed in a 'do { .. } while (0)' block so it can be used as a single statement.
|
||||
//#define IM_ASSERT(_EXPR) MyAssert(_EXPR)
|
||||
//#define IM_ASSERT(_EXPR) ((void)(_EXPR)) // Disable asserts
|
||||
|
||||
//---- Define attributes of all API symbols declarations, e.g. for DLL under Windows.
|
||||
//---- Define attributes of all API symbols declarations, e.g. for DLL under Windows
|
||||
// Using dear imgui via a shared library is not recommended, because of function call overhead and because we don't guarantee backward nor forward ABI compatibility.
|
||||
//#define IMGUI_API __declspec( dllexport )
|
||||
//#define IMGUI_API __declspec( dllimport )
|
||||
|
||||
//---- Don't define obsolete functions/enums names. Consider enabling from time to time after updating to avoid using soon-to-be obsolete function/names.
|
||||
//---- Don't define obsolete functions/enums/behaviors. Consider enabling from time to time after updating to avoid using soon-to-be obsolete function/names.
|
||||
//#define IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
||||
|
||||
//---- Don't implement demo windows functionality (ShowDemoWindow()/ShowStyleEditor()/ShowUserGuide() methods will be empty)
|
||||
//---- It is very strongly recommended to NOT disable the demo windows during development. Please read the comments in imgui_demo.cpp.
|
||||
//#define IMGUI_DISABLE_DEMO_WINDOWS
|
||||
//---- Disable all of Dear ImGui or don't implement standard windows.
|
||||
// It is very strongly recommended to NOT disable the demo windows during development. Please read comments in imgui_demo.cpp.
|
||||
//#define IMGUI_DISABLE // Disable everything: all headers and source files will be empty.
|
||||
//#define IMGUI_DISABLE_DEMO_WINDOWS // Disable demo windows: ShowDemoWindow()/ShowStyleEditor() will be empty. Not recommended.
|
||||
//#define IMGUI_DISABLE_METRICS_WINDOW // Disable debug/metrics window: ShowMetricsWindow() will be empty.
|
||||
|
||||
//---- Don't implement some functions to reduce linkage requirements.
|
||||
//#define IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS // [Win32] Don't implement default clipboard handler. Won't use and link with OpenClipboard/GetClipboardData/CloseClipboard etc.
|
||||
//#define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS // [Win32] Don't implement default IME handler. Won't use and link with ImmGetContext/ImmSetCompositionWindow.
|
||||
//#define IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS // Don't implement ImFormatString/ImFormatStringV so you can implement them yourself if you don't want to link with vsnprintf.
|
||||
//#define IMGUI_DISABLE_MATH_FUNCTIONS // Don't implement ImFabs/ImSqrt/ImPow/ImFmod/ImCos/ImSin/ImAcos/ImAtan2 wrapper so you can implement them yourself. Declare your prototypes in imconfig.h.
|
||||
//#define IMGUI_DISABLE_WIN32_FUNCTIONS // [Win32] Won't use and link with any Win32 function (clipboard, ime).
|
||||
//#define IMGUI_ENABLE_OSX_DEFAULT_CLIPBOARD_FUNCTIONS // [OSX] Implement default OSX clipboard handler (need to link with '-framework ApplicationServices', this is why this is not the default).
|
||||
//#define IMGUI_DISABLE_DEFAULT_FORMAT_FUNCTIONS // Don't implement ImFormatString/ImFormatStringV so you can implement them yourself (e.g. if you don't want to link with vsnprintf)
|
||||
//#define IMGUI_DISABLE_DEFAULT_MATH_FUNCTIONS // Don't implement ImFabs/ImSqrt/ImPow/ImFmod/ImCos/ImSin/ImAcos/ImAtan2 so you can implement them yourself.
|
||||
//#define IMGUI_DISABLE_DEFAULT_FILE_FUNCTIONS // Don't implement ImFileOpen/ImFileClose/ImFileRead/ImFileWrite so you can implement them yourself if you don't want to link with fopen/fclose/fread/fwrite. This will also disable the LogToTTY() function.
|
||||
//#define IMGUI_DISABLE_DEFAULT_ALLOCATORS // Don't implement default allocators calling malloc()/free() to avoid linking with them. You will need to call ImGui::SetAllocatorFunctions().
|
||||
|
||||
//---- Include imgui_user.h at the end of imgui.h as a convenience
|
||||
@ -48,6 +55,10 @@
|
||||
//#define IMGUI_DISABLE_STB_TRUETYPE_IMPLEMENTATION
|
||||
//#define IMGUI_DISABLE_STB_RECT_PACK_IMPLEMENTATION
|
||||
|
||||
//---- Unless IMGUI_DISABLE_DEFAULT_FORMAT_FUNCTIONS is defined, use the much faster STB sprintf library implementation of vsnprintf instead of the one from the default C library.
|
||||
// Note that stb_sprintf.h is meant to be provided by the user and available in the include path at compile time. Also, the compatibility checks of the arguments and formats done by clang and GCC will be disabled in order to support the extra formats provided by STB sprintf.
|
||||
// #define IMGUI_USE_STB_SPRINTF
|
||||
|
||||
//---- Define constructor and implicit cast operators to convert back<>forth between your math types and ImVec2/ImVec4.
|
||||
// This will be inlined as part of ImVec2 and ImVec4 class declarations.
|
||||
/*
|
||||
@ -60,9 +71,31 @@
|
||||
operator MyVec4() const { return MyVec4(x,y,z,w); }
|
||||
*/
|
||||
|
||||
//---- Use 32-bit vertex indices (default is 16-bit) to allow meshes with more than 64K vertices. Render function needs to support it.
|
||||
//---- Use 32-bit vertex indices (default is 16-bit) is one way to allow large meshes with more than 64K vertices.
|
||||
// Your renderer back-end will need to support it (most example renderer back-ends support both 16/32-bit indices).
|
||||
// Another way to allow large meshes while keeping 16-bit indices is to handle ImDrawCmd::VtxOffset in your renderer.
|
||||
// Read about ImGuiBackendFlags_RendererHasVtxOffset for details.
|
||||
//#define ImDrawIdx unsigned int
|
||||
|
||||
//---- Override ImDrawCallback signature (will need to modify renderer back-ends accordingly)
|
||||
//struct ImDrawList;
|
||||
//struct ImDrawCmd;
|
||||
//typedef void (*MyImDrawCallback)(const ImDrawList* draw_list, const ImDrawCmd* cmd, void* my_renderer_user_data);
|
||||
//#define ImDrawCallback MyImDrawCallback
|
||||
|
||||
//---- Debug Tools: Macro to break in Debugger
|
||||
// (use 'Metrics->Tools->Item Picker' to pick widgets with the mouse and break into them for easy debugging.)
|
||||
//#define IM_DEBUG_BREAK IM_ASSERT(0)
|
||||
//#define IM_DEBUG_BREAK __debugbreak()
|
||||
|
||||
//---- Debug Tools: Have the Item Picker break in the ItemAdd() function instead of ItemHoverable(),
|
||||
// (which comes earlier in the code, will catch a few extra items, allow picking items other than Hovered one.)
|
||||
// This adds a small runtime cost which is why it is not enabled by default.
|
||||
//#define IMGUI_DEBUG_TOOL_ITEM_PICKER_EX
|
||||
|
||||
//---- Debug Tools: Enable slower asserts
|
||||
//#define IMGUI_DEBUG_PARANOID
|
||||
|
||||
//---- Tip: You can add extra functions within the ImGui:: namespace, here or in your own headers files.
|
||||
/*
|
||||
namespace ImGui
|
||||
|
6133
src/imgui/imgui.cpp
1614
src/imgui/imgui.h
@ -1,4 +1,10 @@
|
||||
// stb_rect_pack.h - v0.11 - public domain - rectangle packing
|
||||
// [DEAR IMGUI]
|
||||
// This is a slightly modified version of stb_rect_pack.h 1.00.
|
||||
// Those changes would need to be pushed into nothings/stb:
|
||||
// - Added STBRP__CDECL
|
||||
// Grep for [DEAR IMGUI] to find the changes.
|
||||
|
||||
// stb_rect_pack.h - v1.00 - public domain - rectangle packing
|
||||
// Sean Barrett 2014
|
||||
//
|
||||
// Useful for e.g. packing rectangular textures into an atlas.
|
||||
@ -31,9 +37,12 @@
|
||||
//
|
||||
// Bugfixes / warning fixes
|
||||
// Jeremy Jaussaud
|
||||
// Fabian Giesen
|
||||
//
|
||||
// Version history:
|
||||
//
|
||||
// 1.00 (2019-02-25) avoid small space waste; gracefully fail too-wide rectangles
|
||||
// 0.99 (2019-02-07) warning fixes
|
||||
// 0.11 (2017-03-03) return packing success/fail result
|
||||
// 0.10 (2016-10-25) remove cast-away-const to avoid warnings
|
||||
// 0.09 (2016-08-27) fix compiler warnings
|
||||
@ -204,6 +213,7 @@ struct stbrp_context
|
||||
#define STBRP_ASSERT assert
|
||||
#endif
|
||||
|
||||
// [DEAR IMGUI] Added STBRP__CDECL
|
||||
#ifdef _MSC_VER
|
||||
#define STBRP__NOTUSED(v) (void)(v)
|
||||
#define STBRP__CDECL __cdecl
|
||||
@ -349,6 +359,13 @@ static stbrp__findresult stbrp__skyline_find_best_pos(stbrp_context *c, int widt
|
||||
width -= width % c->align;
|
||||
STBRP_ASSERT(width % c->align == 0);
|
||||
|
||||
// if it can't possibly fit, bail immediately
|
||||
if (width > c->width || height > c->height) {
|
||||
fr.prev_link = NULL;
|
||||
fr.x = fr.y = 0;
|
||||
return fr;
|
||||
}
|
||||
|
||||
node = c->active_head;
|
||||
prev = &c->active_head;
|
||||
while (node->x + width <= c->width) {
|
||||
@ -412,7 +429,7 @@ static stbrp__findresult stbrp__skyline_find_best_pos(stbrp_context *c, int widt
|
||||
}
|
||||
STBRP_ASSERT(node->next->x > xpos && node->x <= xpos);
|
||||
y = stbrp__skyline_find_min_y(c, node, xpos, width, &waste);
|
||||
if (y + height < c->height) {
|
||||
if (y + height <= c->height) {
|
||||
if (y <= best_y) {
|
||||
if (y < best_y || waste < best_waste || (waste==best_waste && xpos < best_x)) {
|
||||
best_x = xpos;
|
||||
@ -512,6 +529,7 @@ static stbrp__findresult stbrp__skyline_pack_rectangle(stbrp_context *context, i
|
||||
return res;
|
||||
}
|
||||
|
||||
// [DEAR IMGUI] Added STBRP__CDECL
|
||||
static int STBRP__CDECL rect_height_compare(const void *a, const void *b)
|
||||
{
|
||||
const stbrp_rect *p = (const stbrp_rect *) a;
|
||||
@ -523,6 +541,7 @@ static int STBRP__CDECL rect_height_compare(const void *a, const void *b)
|
||||
return (p->w > q->w) ? -1 : (p->w < q->w);
|
||||
}
|
||||
|
||||
// [DEAR IMGUI] Added STBRP__CDECL
|
||||
static int STBRP__CDECL rect_original_order(const void *a, const void *b)
|
||||
{
|
||||
const stbrp_rect *p = (const stbrp_rect *) a;
|
||||
@ -543,9 +562,6 @@ STBRP_DEF int stbrp_pack_rects(stbrp_context *context, stbrp_rect *rects, int nu
|
||||
// we use the 'was_packed' field internally to allow sorting/unsorting
|
||||
for (i=0; i < num_rects; ++i) {
|
||||
rects[i].was_packed = i;
|
||||
#ifndef STBRP_LARGE_RECTS
|
||||
STBRP_ASSERT(rects[i].w <= 0xffff && rects[i].h <= 0xffff);
|
||||
#endif
|
||||
}
|
||||
|
||||
// sort according to heuristic
|
||||
|
@ -1,9 +1,10 @@
|
||||
// [ImGui] this is a slightly modified version of stb_textedit.h 1.12. Those changes would need to be pushed into nothings/stb
|
||||
// [ImGui] - 2018-06: fixed undo/redo after pasting large amount of text (over 32 kb). Redo will still fail when undo buffers are exhausted, but text won't be corrupted (see nothings/stb issue #620)
|
||||
// [ImGui] - 2018-06: fix in stb_textedit_discard_redo (see https://github.com/nothings/stb/issues/321)
|
||||
// [ImGui] - fixed some minor warnings
|
||||
// [DEAR IMGUI]
|
||||
// This is a slightly modified version of stb_textedit.h 1.13.
|
||||
// Those changes would need to be pushed into nothings/stb:
|
||||
// - Fix in stb_textedit_discard_redo (see https://github.com/nothings/stb/issues/321)
|
||||
// Grep for [DEAR IMGUI] to find the changes.
|
||||
|
||||
// stb_textedit.h - v1.12 - public domain - Sean Barrett
|
||||
// stb_textedit.h - v1.13 - public domain - Sean Barrett
|
||||
// Development of this library was sponsored by RAD Game Tools
|
||||
//
|
||||
// This C header file implements the guts of a multi-line text-editing
|
||||
@ -34,6 +35,7 @@
|
||||
//
|
||||
// VERSION HISTORY
|
||||
//
|
||||
// 1.13 (2019-02-07) fix bug in undo size management
|
||||
// 1.12 (2018-01-29) user can change STB_TEXTEDIT_KEYTYPE, fix redo to avoid crash
|
||||
// 1.11 (2017-03-03) fix HOME on last line, dragging off single-line textfield
|
||||
// 1.10 (2016-10-25) supress warnings about casting away const with -Wcast-qual
|
||||
@ -563,7 +565,6 @@ static void stb_textedit_find_charpos(StbFindState *find, STB_TEXTEDIT_STRING *s
|
||||
|
||||
// now scan to find xpos
|
||||
find->x = r.x0;
|
||||
i = 0;
|
||||
for (i=0; first+i < n; ++i)
|
||||
find->x += STB_TEXTEDIT_GETWIDTH(str, first, i);
|
||||
}
|
||||
@ -693,7 +694,7 @@ static void stb_textedit_prep_selection_at_cursor(STB_TexteditState *state)
|
||||
static int stb_textedit_cut(STB_TEXTEDIT_STRING *str, STB_TexteditState *state)
|
||||
{
|
||||
if (STB_TEXT_HAS_SELECTION(state)) {
|
||||
stb_textedit_delete_selection(str,state); // implicity clamps
|
||||
stb_textedit_delete_selection(str,state); // implicitly clamps
|
||||
state->has_preferred_x = 0;
|
||||
return 1;
|
||||
}
|
||||
@ -745,7 +746,7 @@ retry:
|
||||
state->has_preferred_x = 0;
|
||||
}
|
||||
} else {
|
||||
stb_textedit_delete_selection(str,state); // implicity clamps
|
||||
stb_textedit_delete_selection(str,state); // implicitly clamps
|
||||
if (STB_TEXTEDIT_INSERTCHARS(str, state->cursor, &ch, 1)) {
|
||||
stb_text_makeundo_insert(state, state->cursor, 1);
|
||||
++state->cursor;
|
||||
@ -1133,7 +1134,14 @@ static void stb_textedit_discard_redo(StbUndoState *state)
|
||||
state->undo_rec[i].char_storage += n;
|
||||
}
|
||||
// now move all the redo records towards the end of the buffer; the first one is at 'redo_point'
|
||||
STB_TEXTEDIT_memmove(state->undo_rec + state->redo_point+1, state->undo_rec + state->redo_point, (size_t) ((STB_TEXTEDIT_UNDOSTATECOUNT - state->redo_point)*sizeof(state->undo_rec[0])));
|
||||
// {DEAR IMGUI]
|
||||
size_t move_size = (size_t)((STB_TEXTEDIT_UNDOSTATECOUNT - state->redo_point - 1) * sizeof(state->undo_rec[0]));
|
||||
const char* buf_begin = (char*)state->undo_rec; (void)buf_begin;
|
||||
const char* buf_end = (char*)state->undo_rec + sizeof(state->undo_rec); (void)buf_end;
|
||||
IM_ASSERT(((char*)(state->undo_rec + state->redo_point)) >= buf_begin);
|
||||
IM_ASSERT(((char*)(state->undo_rec + state->redo_point + 1) + move_size) <= buf_end);
|
||||
STB_TEXTEDIT_memmove(state->undo_rec + state->redo_point+1, state->undo_rec + state->redo_point, move_size);
|
||||
|
||||
// now move redo_point to point to the new one
|
||||
++state->redo_point;
|
||||
}
|
||||
|
@ -1,4 +1,9 @@
|
||||
// stb_truetype.h - v1.19 - public domain
|
||||
// [DEAR IMGUI]
|
||||
// This is a slightly modified version of stb_truetype.h 1.20.
|
||||
// Mostly fixing for compiler and static analyzer warnings.
|
||||
// Grep for [DEAR IMGUI] to find the changes.
|
||||
|
||||
// stb_truetype.h - v1.20 - public domain
|
||||
// authored from 2009-2016 by Sean Barrett / RAD Game Tools
|
||||
//
|
||||
// This library processes TrueType files:
|
||||
@ -49,6 +54,7 @@
|
||||
//
|
||||
// VERSION HISTORY
|
||||
//
|
||||
// 1.20 (2019-02-07) PackFontRange skips missing codepoints; GetScaleFontVMetrics()
|
||||
// 1.19 (2018-02-11) GPOS kerning, STBTT_fmod
|
||||
// 1.18 (2018-01-29) add missing function
|
||||
// 1.17 (2017-07-23) make more arguments const; doc fix
|
||||
@ -75,7 +81,7 @@
|
||||
//
|
||||
// USAGE
|
||||
//
|
||||
// Include this file in whatever places neeed to refer to it. In ONE C/C++
|
||||
// Include this file in whatever places need to refer to it. In ONE C/C++
|
||||
// file, write:
|
||||
// #define STB_TRUETYPE_IMPLEMENTATION
|
||||
// before the #include of this file. This expands out the actual
|
||||
@ -247,8 +253,8 @@
|
||||
// Documentation & header file 520 LOC \___ 660 LOC documentation
|
||||
// Sample code 140 LOC /
|
||||
// Truetype parsing 620 LOC ---- 620 LOC TrueType
|
||||
// Software rasterization 240 LOC \ .
|
||||
// Curve tesselation 120 LOC \__ 550 LOC Bitmap creation
|
||||
// Software rasterization 240 LOC \.
|
||||
// Curve tessellation 120 LOC \__ 550 LOC Bitmap creation
|
||||
// Bitmap management 100 LOC /
|
||||
// Baked bitmap interface 70 LOC /
|
||||
// Font name matching & access 150 LOC ---- 150
|
||||
@ -556,6 +562,8 @@ STBTT_DEF void stbtt_GetBakedQuad(const stbtt_bakedchar *chardata, int pw, int p
|
||||
//
|
||||
// It's inefficient; you might want to c&p it and optimize it.
|
||||
|
||||
STBTT_DEF void stbtt_GetScaledFontVMetrics(const unsigned char *fontdata, int index, float size, float *ascent, float *descent, float *lineGap);
|
||||
// Query the font vertical metrics without having to create a font first.
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
@ -641,6 +649,12 @@ STBTT_DEF void stbtt_PackSetOversampling(stbtt_pack_context *spc, unsigned int h
|
||||
// To use with PackFontRangesGather etc., you must set it before calls
|
||||
// call to PackFontRangesGatherRects.
|
||||
|
||||
STBTT_DEF void stbtt_PackSetSkipMissingCodepoints(stbtt_pack_context *spc, int skip);
|
||||
// If skip != 0, this tells stb_truetype to skip any codepoints for which
|
||||
// there is no corresponding glyph. If skip=0, which is the default, then
|
||||
// codepoints without a glyph recived the font's "missing character" glyph,
|
||||
// typically an empty box by convention.
|
||||
|
||||
STBTT_DEF void stbtt_GetPackedQuad(const stbtt_packedchar *chardata, int pw, int ph, // same data as above
|
||||
int char_index, // character to display
|
||||
float *xpos, float *ypos, // pointers to current position in screen pixel space
|
||||
@ -669,6 +683,7 @@ struct stbtt_pack_context {
|
||||
int height;
|
||||
int stride_in_bytes;
|
||||
int padding;
|
||||
int skip_missing;
|
||||
unsigned int h_oversample, v_oversample;
|
||||
unsigned char *pixels;
|
||||
void *nodes;
|
||||
@ -694,7 +709,7 @@ STBTT_DEF int stbtt_GetFontOffsetForIndex(const unsigned char *data, int index);
|
||||
// file will only define one font and it always be at offset 0, so it will
|
||||
// return '0' for index 0, and -1 for all other indices.
|
||||
|
||||
// The following structure is defined publically so you can declare one on
|
||||
// The following structure is defined publicly so you can declare one on
|
||||
// the stack or as a global or etc, but you should treat it as opaque.
|
||||
struct stbtt_fontinfo
|
||||
{
|
||||
@ -733,6 +748,7 @@ STBTT_DEF int stbtt_FindGlyphIndex(const stbtt_fontinfo *info, int unicode_codep
|
||||
// and you want a speed-up, call this function with the character you're
|
||||
// going to process, then use glyph-based functions instead of the
|
||||
// codepoint-based functions.
|
||||
// Returns 0 if the character codepoint is not defined in the font.
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
@ -820,7 +836,7 @@ STBTT_DEF int stbtt_GetGlyphShape(const stbtt_fontinfo *info, int glyph_index, s
|
||||
// returns # of vertices and fills *vertices with the pointer to them
|
||||
// these are expressed in "unscaled" coordinates
|
||||
//
|
||||
// The shape is a series of countours. Each one starts with
|
||||
// The shape is a series of contours. Each one starts with
|
||||
// a STBTT_moveto, then consists of a series of mixed
|
||||
// STBTT_lineto and STBTT_curveto segments. A lineto
|
||||
// draws a line from previous endpoint to its x,y; a curveto
|
||||
@ -916,7 +932,7 @@ STBTT_DEF unsigned char * stbtt_GetGlyphSDF(const stbtt_fontinfo *info, float sc
|
||||
STBTT_DEF unsigned char * stbtt_GetCodepointSDF(const stbtt_fontinfo *info, float scale, int codepoint, int padding, unsigned char onedge_value, float pixel_dist_scale, int *width, int *height, int *xoff, int *yoff);
|
||||
// These functions compute a discretized SDF field for a single character, suitable for storing
|
||||
// in a single-channel texture, sampling with bilinear filtering, and testing against
|
||||
// larger than some threshhold to produce scalable fonts.
|
||||
// larger than some threshold to produce scalable fonts.
|
||||
// info -- the font
|
||||
// scale -- controls the size of the resulting SDF bitmap, same as it would be creating a regular bitmap
|
||||
// glyph/codepoint -- the character to generate the SDF for
|
||||
@ -1825,7 +1841,7 @@ static int stbtt__GetGlyphShapeTT(const stbtt_fontinfo *info, int glyph_index, s
|
||||
if (comp_verts) STBTT_free(comp_verts, info->userdata);
|
||||
return 0;
|
||||
}
|
||||
if (num_vertices > 0) STBTT_memcpy(tmp, vertices, num_vertices*sizeof(stbtt_vertex));
|
||||
if (num_vertices > 0) STBTT_memcpy(tmp, vertices, num_vertices*sizeof(stbtt_vertex)); //-V595
|
||||
STBTT_memcpy(tmp+num_vertices, comp_verts, comp_num_verts*sizeof(stbtt_vertex));
|
||||
if (vertices) STBTT_free(vertices, info->userdata);
|
||||
vertices = tmp;
|
||||
@ -2196,7 +2212,7 @@ static int stbtt__run_charstring(const stbtt_fontinfo *info, int glyph_index, st
|
||||
} break;
|
||||
|
||||
default:
|
||||
if (b0 != 255 && b0 != 28 && (b0 < 32 || b0 > 254))
|
||||
if (b0 != 255 && b0 != 28 && (b0 < 32 || b0 > 254)) //-V560
|
||||
return STBTT__CSERR("reserved operator");
|
||||
|
||||
// push immediate
|
||||
@ -2368,7 +2384,8 @@ static stbtt_int32 stbtt__GetGlyphClass(stbtt_uint8 *classDefTable, int glyph)
|
||||
if (glyph >= startGlyphID && glyph < startGlyphID + glyphCount)
|
||||
return (stbtt_int32)ttUSHORT(classDef1ValueArray + 2 * (glyph - startGlyphID));
|
||||
|
||||
classDefTable = classDef1ValueArray + 2 * glyphCount;
|
||||
// [DEAR IMGUI] Commented to fix static analyzer warning
|
||||
//classDefTable = classDef1ValueArray + 2 * glyphCount;
|
||||
} break;
|
||||
|
||||
case 2: {
|
||||
@ -2392,7 +2409,8 @@ static stbtt_int32 stbtt__GetGlyphClass(stbtt_uint8 *classDefTable, int glyph)
|
||||
return (stbtt_int32)ttUSHORT(classRangeRecord + 4);
|
||||
}
|
||||
|
||||
classDefTable = classRangeRecords + 6 * classRangeCount;
|
||||
// [DEAR IMGUI] Commented to fix static analyzer warning
|
||||
//classDefTable = classRangeRecords + 6 * classRangeCount;
|
||||
} break;
|
||||
|
||||
default: {
|
||||
@ -3024,6 +3042,8 @@ static void stbtt__fill_active_edges_new(float *scanline, float *scanline_fill,
|
||||
dx = -dx;
|
||||
dy = -dy;
|
||||
t = x0, x0 = xb, xb = t;
|
||||
// [DEAR IMGUI] Fix static analyzer warning
|
||||
(void)dx; // [ImGui: fix static analyzer warning]
|
||||
}
|
||||
|
||||
x1 = (int) x_top;
|
||||
@ -3161,7 +3181,13 @@ static void stbtt__rasterize_sorted_edges(stbtt__bitmap *result, stbtt__edge *e,
|
||||
if (e->y0 != e->y1) {
|
||||
stbtt__active_edge *z = stbtt__new_active(&hh, e, off_x, scan_y_top, userdata);
|
||||
if (z != NULL) {
|
||||
STBTT_assert(z->ey >= scan_y_top);
|
||||
if (j == 0 && off_y != 0) {
|
||||
if (z->ey < scan_y_top) {
|
||||
// this can happen due to subpixel positioning and some kind of fp rounding error i think
|
||||
z->ey = scan_y_top;
|
||||
}
|
||||
}
|
||||
STBTT_assert(z->ey >= scan_y_top); // if we get really unlucky a tiny bit of an edge can be out of bounds
|
||||
// insert at front
|
||||
z->next = active;
|
||||
active = z;
|
||||
@ -3230,7 +3256,7 @@ static void stbtt__sort_edges_ins_sort(stbtt__edge *p, int n)
|
||||
|
||||
static void stbtt__sort_edges_quicksort(stbtt__edge *p, int n)
|
||||
{
|
||||
/* threshhold for transitioning to insertion sort */
|
||||
/* threshold for transitioning to insertion sort */
|
||||
while (n > 12) {
|
||||
stbtt__edge t;
|
||||
int c01,c12,c,m,i,j;
|
||||
@ -3365,7 +3391,7 @@ static void stbtt__add_point(stbtt__point *points, int n, float x, float y)
|
||||
points[n].y = y;
|
||||
}
|
||||
|
||||
// tesselate until threshhold p is happy... @TODO warped to compensate for non-linear stretching
|
||||
// tessellate until threshold p is happy... @TODO warped to compensate for non-linear stretching
|
||||
static int stbtt__tesselate_curve(stbtt__point *points, int *num_points, float x0, float y0, float x1, float y1, float x2, float y2, float objspace_flatness_squared, int n)
|
||||
{
|
||||
// midpoint
|
||||
@ -3790,6 +3816,7 @@ STBTT_DEF int stbtt_PackBegin(stbtt_pack_context *spc, unsigned char *pixels, in
|
||||
spc->stride_in_bytes = stride_in_bytes != 0 ? stride_in_bytes : pw;
|
||||
spc->h_oversample = 1;
|
||||
spc->v_oversample = 1;
|
||||
spc->skip_missing = 0;
|
||||
|
||||
stbrp_init_target(context, pw-padding, ph-padding, nodes, num_nodes);
|
||||
|
||||
@ -3815,6 +3842,11 @@ STBTT_DEF void stbtt_PackSetOversampling(stbtt_pack_context *spc, unsigned int h
|
||||
spc->v_oversample = v_oversample;
|
||||
}
|
||||
|
||||
STBTT_DEF void stbtt_PackSetSkipMissingCodepoints(stbtt_pack_context *spc, int skip)
|
||||
{
|
||||
spc->skip_missing = skip;
|
||||
}
|
||||
|
||||
#define STBTT__OVER_MASK (STBTT_MAX_OVERSAMPLE-1)
|
||||
|
||||
static void stbtt__h_prefilter(unsigned char *pixels, int w, int h, int stride_in_bytes, unsigned int kernel_width)
|
||||
@ -3968,13 +4000,17 @@ STBTT_DEF int stbtt_PackFontRangesGatherRects(stbtt_pack_context *spc, const stb
|
||||
int x0,y0,x1,y1;
|
||||
int codepoint = ranges[i].array_of_unicode_codepoints == NULL ? ranges[i].first_unicode_codepoint_in_range + j : ranges[i].array_of_unicode_codepoints[j];
|
||||
int glyph = stbtt_FindGlyphIndex(info, codepoint);
|
||||
stbtt_GetGlyphBitmapBoxSubpixel(info,glyph,
|
||||
scale * spc->h_oversample,
|
||||
scale * spc->v_oversample,
|
||||
0,0,
|
||||
&x0,&y0,&x1,&y1);
|
||||
rects[k].w = (stbrp_coord) (x1-x0 + spc->padding + spc->h_oversample-1);
|
||||
rects[k].h = (stbrp_coord) (y1-y0 + spc->padding + spc->v_oversample-1);
|
||||
if (glyph == 0 && spc->skip_missing) {
|
||||
rects[k].w = rects[k].h = 0;
|
||||
} else {
|
||||
stbtt_GetGlyphBitmapBoxSubpixel(info,glyph,
|
||||
scale * spc->h_oversample,
|
||||
scale * spc->v_oversample,
|
||||
0,0,
|
||||
&x0,&y0,&x1,&y1);
|
||||
rects[k].w = (stbrp_coord) (x1-x0 + spc->padding + spc->h_oversample-1);
|
||||
rects[k].h = (stbrp_coord) (y1-y0 + spc->padding + spc->v_oversample-1);
|
||||
}
|
||||
++k;
|
||||
}
|
||||
}
|
||||
@ -4027,7 +4063,7 @@ STBTT_DEF int stbtt_PackFontRangesRenderIntoRects(stbtt_pack_context *spc, const
|
||||
sub_y = stbtt__oversample_shift(spc->v_oversample);
|
||||
for (j=0; j < ranges[i].num_chars; ++j) {
|
||||
stbrp_rect *r = &rects[k];
|
||||
if (r->was_packed) {
|
||||
if (r->was_packed && r->w != 0 && r->h != 0) {
|
||||
stbtt_packedchar *bc = &ranges[i].chardata_for_range[j];
|
||||
int advance, lsb, x0,y0,x1,y1;
|
||||
int codepoint = ranges[i].array_of_unicode_codepoints == NULL ? ranges[i].first_unicode_codepoint_in_range + j : ranges[i].array_of_unicode_codepoints[j];
|
||||
@ -4141,6 +4177,19 @@ STBTT_DEF int stbtt_PackFontRange(stbtt_pack_context *spc, const unsigned char *
|
||||
return stbtt_PackFontRanges(spc, fontdata, font_index, &range, 1);
|
||||
}
|
||||
|
||||
STBTT_DEF void stbtt_GetScaledFontVMetrics(const unsigned char *fontdata, int index, float size, float *ascent, float *descent, float *lineGap)
|
||||
{
|
||||
int i_ascent, i_descent, i_lineGap;
|
||||
float scale;
|
||||
stbtt_fontinfo info;
|
||||
stbtt_InitFont(&info, fontdata, stbtt_GetFontOffsetForIndex(fontdata, index));
|
||||
scale = size > 0 ? stbtt_ScaleForPixelHeight(&info, size) : stbtt_ScaleForMappingEmToPixels(&info, -size);
|
||||
stbtt_GetFontVMetrics(&info, &i_ascent, &i_descent, &i_lineGap);
|
||||
*ascent = (float) i_ascent * scale;
|
||||
*descent = (float) i_descent * scale;
|
||||
*lineGap = (float) i_lineGap * scale;
|
||||
}
|
||||
|
||||
STBTT_DEF void stbtt_GetPackedQuad(const stbtt_packedchar *chardata, int pw, int ph, int char_index, float *xpos, float *ypos, stbtt_aligned_quad *q, int align_to_integer)
|
||||
{
|
||||
float ipw = 1.0f / pw, iph = 1.0f / ph;
|
||||
@ -4253,7 +4302,7 @@ static int stbtt__compute_crossings_x(float x, float y, int nverts, stbtt_vertex
|
||||
int winding = 0;
|
||||
|
||||
orig[0] = x;
|
||||
orig[1] = y;
|
||||
//orig[1] = y; // [DEAR IMGUI] commmented double assignment
|
||||
|
||||
// make sure y never passes through a vertex of the shape
|
||||
y_frac = (float) STBTT_fmod(y, 1.0f);
|
||||
|
@ -278,6 +278,8 @@ template<class RawShape> class EdgeCache {
|
||||
|
||||
inline Vertex coords(const ContourCache& cache, double distance) const {
|
||||
assert(distance >= .0 && distance <= 1.0);
|
||||
if (cache.distances.empty() || cache.emap.empty()) return Vertex{};
|
||||
if (distance > 1.0) distance = std::fmod(distance, 1.0);
|
||||
|
||||
// distance is from 0.0 to 1.0, we scale it up to the full length of
|
||||
// the circumference
|
||||
|
@ -43,7 +43,10 @@ protected:
|
||||
|
||||
Placer p{bin};
|
||||
p.configure(pcfg);
|
||||
if (itm.area() <= 0 || !p.pack(cpy)) it = c.erase(it);
|
||||
if (itm.area() <= 0 || !p.pack(cpy)) {
|
||||
static_cast<Item&>(*it).binId(BIN_ID_UNSET);
|
||||
it = c.erase(it);
|
||||
}
|
||||
else it++;
|
||||
}
|
||||
}
|
||||
|
@ -577,7 +577,7 @@ void _arrange(
|
||||
std::function<bool()> stopfn)
|
||||
{
|
||||
// Integer ceiling the min distance from the bed perimeters
|
||||
coord_t md = minobjd - 2 * scaled(0.1 + EPSILON);
|
||||
coord_t md = minobjd;
|
||||
md = (md % 2) ? md / 2 + 1 : md / 2;
|
||||
|
||||
auto corrected_bin = bin;
|
||||
|
@ -855,7 +855,12 @@ Polygons top_level_islands(const Slic3r::Polygons &polygons)
|
||||
}
|
||||
|
||||
// Outer offset shall not split the input contour into multiples. It is expected, that the solution will be non empty and it will contain just a single polygon.
|
||||
ClipperLib::Paths fix_after_outer_offset(const ClipperLib::Path &input, ClipperLib::PolyFillType filltype, bool reverse_result)
|
||||
ClipperLib::Paths fix_after_outer_offset(
|
||||
const ClipperLib::Path &input,
|
||||
// combination of default prameters to correspond to void ClipperOffset::Execute(Paths& solution, double delta)
|
||||
// to produce a CCW output contour from CCW input contour for a positive offset.
|
||||
ClipperLib::PolyFillType filltype, // = ClipperLib::pftPositive
|
||||
bool reverse_result) // = false
|
||||
{
|
||||
ClipperLib::Paths solution;
|
||||
if (! input.empty()) {
|
||||
@ -867,8 +872,13 @@ ClipperLib::Paths fix_after_outer_offset(const ClipperLib::Path &input, ClipperL
|
||||
return solution;
|
||||
}
|
||||
|
||||
// Inner offset may split the source contour into multiple contours, but one shall not be inside the other.
|
||||
ClipperLib::Paths fix_after_inner_offset(const ClipperLib::Path &input, ClipperLib::PolyFillType filltype, bool reverse_result)
|
||||
// Inner offset may split the source contour into multiple contours, but one resulting contour shall not lie inside the other.
|
||||
ClipperLib::Paths fix_after_inner_offset(
|
||||
const ClipperLib::Path &input,
|
||||
// combination of default prameters to correspond to void ClipperOffset::Execute(Paths& solution, double delta)
|
||||
// to produce a CCW output contour from CCW input contour for a negative offset.
|
||||
ClipperLib::PolyFillType filltype, // = ClipperLib::pftNegative
|
||||
bool reverse_result) // = true
|
||||
{
|
||||
ClipperLib::Paths solution;
|
||||
if (! input.empty()) {
|
||||
@ -1041,12 +1051,20 @@ Polygons variable_offset_inner(const ExPolygon &expoly, const std::vector<std::v
|
||||
|
||||
// 1) Offset the outer contour.
|
||||
ClipperLib::Paths contours = fix_after_inner_offset(mittered_offset_path_scaled(expoly.contour.points, deltas.front(), miter_limit), ClipperLib::pftNegative, true);
|
||||
#ifndef NDEBUG
|
||||
for (auto &c : contours)
|
||||
assert(ClipperLib::Area(c) > 0.);
|
||||
#endif /* NDEBUG */
|
||||
|
||||
// 2) Offset the holes one by one, collect the results.
|
||||
ClipperLib::Paths holes;
|
||||
holes.reserve(expoly.holes.size());
|
||||
for (const Polygon& hole : expoly.holes)
|
||||
append(holes, fix_after_outer_offset(mittered_offset_path_scaled(hole, deltas[1 + &hole - expoly.holes.data()], miter_limit), ClipperLib::pftPositive, false));
|
||||
append(holes, fix_after_outer_offset(mittered_offset_path_scaled(hole, deltas[1 + &hole - expoly.holes.data()], miter_limit), ClipperLib::pftNegative, false));
|
||||
#ifndef NDEBUG
|
||||
for (auto &c : holes)
|
||||
assert(ClipperLib::Area(c) > 0.);
|
||||
#endif /* NDEBUG */
|
||||
|
||||
// 3) Subtract holes from the contours.
|
||||
ClipperLib::Paths output;
|
||||
@ -1077,12 +1095,20 @@ for (const std::vector<float>& ds : deltas)
|
||||
|
||||
// 1) Offset the outer contour.
|
||||
ClipperLib::Paths contours = fix_after_outer_offset(mittered_offset_path_scaled(expoly.contour.points, deltas.front(), miter_limit), ClipperLib::pftPositive, false);
|
||||
#ifndef NDEBUG
|
||||
for (auto &c : contours)
|
||||
assert(ClipperLib::Area(c) > 0.);
|
||||
#endif /* NDEBUG */
|
||||
|
||||
// 2) Offset the holes one by one, collect the results.
|
||||
ClipperLib::Paths holes;
|
||||
holes.reserve(expoly.holes.size());
|
||||
for (const Polygon& hole : expoly.holes)
|
||||
append(holes, fix_after_inner_offset(mittered_offset_path_scaled(hole, deltas[1 + &hole - expoly.holes.data()], miter_limit), ClipperLib::pftPositive, true));
|
||||
#ifndef NDEBUG
|
||||
for (auto &c : holes)
|
||||
assert(ClipperLib::Area(c) > 0.);
|
||||
#endif /* NDEBUG */
|
||||
|
||||
// 3) Subtract holes from the contours.
|
||||
ClipperLib::Paths output;
|
||||
@ -1113,12 +1139,20 @@ for (const std::vector<float>& ds : deltas)
|
||||
|
||||
// 1) Offset the outer contour.
|
||||
ClipperLib::Paths contours = fix_after_outer_offset(mittered_offset_path_scaled(expoly.contour.points, deltas.front(), miter_limit), ClipperLib::pftPositive, false);
|
||||
#ifndef NDEBUG
|
||||
for (auto &c : contours)
|
||||
assert(ClipperLib::Area(c) > 0.);
|
||||
#endif /* NDEBUG */
|
||||
|
||||
// 2) Offset the holes one by one, collect the results.
|
||||
ClipperLib::Paths holes;
|
||||
holes.reserve(expoly.holes.size());
|
||||
for (const Polygon& hole : expoly.holes)
|
||||
append(holes, fix_after_inner_offset(mittered_offset_path_scaled(hole, deltas[1 + &hole - expoly.holes.data()], miter_limit), ClipperLib::pftPositive, true));
|
||||
#ifndef NDEBUG
|
||||
for (auto &c : holes)
|
||||
assert(ClipperLib::Area(c) > 0.);
|
||||
#endif /* NDEBUG */
|
||||
|
||||
// 3) Subtract holes from the contours.
|
||||
unscaleClipperPolygons(contours);
|
||||
@ -1152,13 +1186,21 @@ ExPolygons variable_offset_inner_ex(const ExPolygon &expoly, const std::vector<s
|
||||
#endif /* NDEBUG */
|
||||
|
||||
// 1) Offset the outer contour.
|
||||
ClipperLib::Paths contours = fix_after_inner_offset(mittered_offset_path_scaled(expoly.contour.points, deltas.front(), miter_limit), ClipperLib::pftNegative, false);
|
||||
ClipperLib::Paths contours = fix_after_inner_offset(mittered_offset_path_scaled(expoly.contour.points, deltas.front(), miter_limit), ClipperLib::pftNegative, true);
|
||||
#ifndef NDEBUG
|
||||
for (auto &c : contours)
|
||||
assert(ClipperLib::Area(c) > 0.);
|
||||
#endif /* NDEBUG */
|
||||
|
||||
// 2) Offset the holes one by one, collect the results.
|
||||
ClipperLib::Paths holes;
|
||||
holes.reserve(expoly.holes.size());
|
||||
for (const Polygon& hole : expoly.holes)
|
||||
append(holes, fix_after_outer_offset(mittered_offset_path_scaled(hole, deltas[1 + &hole - expoly.holes.data()], miter_limit), ClipperLib::pftNegative, true));
|
||||
append(holes, fix_after_outer_offset(mittered_offset_path_scaled(hole, deltas[1 + &hole - expoly.holes.data()], miter_limit), ClipperLib::pftNegative, false));
|
||||
#ifndef NDEBUG
|
||||
for (auto &c : holes)
|
||||
assert(ClipperLib::Area(c) > 0.);
|
||||
#endif /* NDEBUG */
|
||||
|
||||
// 3) Subtract holes from the contours.
|
||||
unscaleClipperPolygons(contours);
|
||||
|
@ -16,8 +16,8 @@
|
||||
#include "Point.hpp"
|
||||
|
||||
#include <boost/algorithm/string/trim.hpp>
|
||||
#include <boost/format.hpp>
|
||||
#include <boost/property_tree/ptree.hpp>
|
||||
#include <boost/format/format_fwd.hpp>
|
||||
#include <boost/property_tree/ptree_fwd.hpp>
|
||||
|
||||
#include <cereal/access.hpp>
|
||||
#include <cereal/types/base_class.hpp>
|
||||
@ -686,6 +686,7 @@ public:
|
||||
ConfigOption* clone() const override { return new ConfigOptionString(*this); }
|
||||
ConfigOptionString& operator=(const ConfigOption *opt) { this->set(opt); return *this; }
|
||||
bool operator==(const ConfigOptionString &rhs) const { return this->value == rhs.value; }
|
||||
bool empty() const { return this->value.empty(); }
|
||||
|
||||
std::string serialize() const override
|
||||
{
|
||||
|
@ -62,7 +62,8 @@ std::vector<std::pair<double, unsigned int>> custom_tool_changes(const Info& cus
|
||||
for (const Item& custom_gcode : custom_gcode_per_print_z.gcodes)
|
||||
if (custom_gcode.gcode == ToolChangeCode) {
|
||||
// If extruder count in PrinterSettings was changed, use default (0) extruder for extruders, more than num_extruders
|
||||
custom_tool_changes.emplace_back(custom_gcode.print_z, static_cast<unsigned int>(custom_gcode.extruder > num_extruders ? 1 : custom_gcode.extruder));
|
||||
assert(custom_gcode.extruder >= 0);
|
||||
custom_tool_changes.emplace_back(custom_gcode.print_z, static_cast<unsigned int>(size_t(custom_gcode.extruder) > num_extruders ? 1 : custom_gcode.extruder));
|
||||
}
|
||||
return custom_tool_changes;
|
||||
}
|
||||
|
@ -13,6 +13,12 @@ static constexpr char ColorChangeCode[] = "M600";
|
||||
static constexpr char PausePrintCode[] = "M601";
|
||||
static constexpr char ToolChangeCode[] = "tool_change";
|
||||
|
||||
enum CustomGcodeType
|
||||
{
|
||||
cgtColorChange,
|
||||
cgtPausePrint,
|
||||
};
|
||||
|
||||
namespace CustomGCode {
|
||||
|
||||
struct Item
|
||||
|
@ -1147,7 +1147,7 @@ EdgeGrid::Grid::ClosestPointResult EdgeGrid::Grid::closest_point(const Point &pt
|
||||
}
|
||||
}
|
||||
}
|
||||
if (result.contour_idx != -1 && d_min <= double(search_radius)) {
|
||||
if (result.contour_idx != size_t(-1) && d_min <= double(search_radius)) {
|
||||
result.distance = d_min * sign_min;
|
||||
result.t /= l2_seg_min;
|
||||
assert(result.t >= 0. && result.t < 1.);
|
||||
|
@ -524,11 +524,22 @@ static inline void smooth_compensation_banded(const Points &contour, float band,
|
||||
}
|
||||
}
|
||||
|
||||
ExPolygon elephant_foot_compensation(const ExPolygon &input_expoly, const Flow &external_perimeter_flow, const double compensation)
|
||||
#ifndef NDEBUG
|
||||
static bool validate_expoly_orientation(const ExPolygon &expoly)
|
||||
{
|
||||
bool valid = expoly.contour.is_counter_clockwise();
|
||||
for (auto &h : expoly.holes)
|
||||
valid &= h.is_clockwise();
|
||||
return valid;
|
||||
}
|
||||
#endif /* NDEBUG */
|
||||
|
||||
ExPolygon elephant_foot_compensation(const ExPolygon &input_expoly, double min_contour_width, const double compensation)
|
||||
{
|
||||
// The contour shall be wide enough to apply the external perimeter plus compensation on both sides.
|
||||
double min_contour_width = double(external_perimeter_flow.scaled_width() + external_perimeter_flow.scaled_spacing());
|
||||
assert(validate_expoly_orientation(input_expoly));
|
||||
|
||||
double scaled_compensation = scale_(compensation);
|
||||
min_contour_width = scale_(min_contour_width);
|
||||
double min_contour_width_compensated = min_contour_width + 2. * scaled_compensation;
|
||||
// Make the search radius a bit larger for the averaging in contour_distance over a fan of rays to work.
|
||||
double search_radius = min_contour_width_compensated + min_contour_width * 0.5;
|
||||
@ -547,6 +558,7 @@ ExPolygon elephant_foot_compensation(const ExPolygon &input_expoly, const Flow &
|
||||
{
|
||||
EdgeGrid::Grid grid;
|
||||
ExPolygon simplified = input_expoly.simplify(SCALED_EPSILON).front();
|
||||
assert(validate_expoly_orientation(simplified));
|
||||
BoundingBox bbox = get_extents(simplified.contour);
|
||||
bbox.offset(SCALED_EPSILON);
|
||||
grid.set_bbox(bbox);
|
||||
@ -559,6 +571,7 @@ ExPolygon elephant_foot_compensation(const ExPolygon &input_expoly, const Flow &
|
||||
Polygon &poly = (idx_contour == 0) ? resampled.contour : resampled.holes[idx_contour - 1];
|
||||
std::vector<ResampledPoint> resampled_point_parameters;
|
||||
poly.points = resample_polygon(poly.points, resample_interval, resampled_point_parameters);
|
||||
assert(poly.is_counter_clockwise() == (idx_contour == 0));
|
||||
std::vector<float> dists = contour_distance2(grid, idx_contour, poly.points, resampled_point_parameters, scaled_compensation, search_radius);
|
||||
for (float &d : dists) {
|
||||
// printf("Point %d, Distance: %lf\n", int(&d - dists.data()), unscale<double>(d));
|
||||
@ -593,10 +606,18 @@ ExPolygon elephant_foot_compensation(const ExPolygon &input_expoly, const Flow &
|
||||
assert(out_vec.size() == 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
assert(validate_expoly_orientation(out));
|
||||
return out;
|
||||
}
|
||||
|
||||
ExPolygon elephant_foot_compensation(const ExPolygon &input, const Flow &external_perimeter_flow, const double compensation)
|
||||
{
|
||||
// The contour shall be wide enough to apply the external perimeter plus compensation on both sides.
|
||||
double min_contour_width = double(external_perimeter_flow.width + external_perimeter_flow.spacing());
|
||||
return elephant_foot_compensation(input, min_contour_width, compensation);
|
||||
}
|
||||
|
||||
ExPolygons elephant_foot_compensation(const ExPolygons &input, const Flow &external_perimeter_flow, const double compensation)
|
||||
{
|
||||
ExPolygons out;
|
||||
@ -606,4 +627,13 @@ ExPolygons elephant_foot_compensation(const ExPolygons &input, const Flow &exter
|
||||
return out;
|
||||
}
|
||||
|
||||
ExPolygons elephant_foot_compensation(const ExPolygons &input, double min_contour_width, const double compensation)
|
||||
{
|
||||
ExPolygons out;
|
||||
out.reserve(input.size());
|
||||
for (const ExPolygon &expoly : input)
|
||||
out.emplace_back(elephant_foot_compensation(expoly, min_contour_width, compensation));
|
||||
return out;
|
||||
}
|
||||
|
||||
} // namespace Slic3r
|
||||
|
@ -8,6 +8,8 @@ namespace Slic3r {
|
||||
|
||||
class Flow;
|
||||
|
||||
ExPolygon elephant_foot_compensation(const ExPolygon &input, double min_countour_width, const double compensation);
|
||||
ExPolygons elephant_foot_compensation(const ExPolygons &input, double min_countour_width, const double compensation);
|
||||
ExPolygon elephant_foot_compensation(const ExPolygon &input, const Flow &external_perimeter_flow, const double compensation);
|
||||
ExPolygons elephant_foot_compensation(const ExPolygons &input, const Flow &external_perimeter_flow, const double compensation);
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include "Extruder.hpp"
|
||||
#include "PrintConfig.hpp"
|
||||
|
||||
namespace Slic3r {
|
||||
|
||||
|
@ -3,10 +3,11 @@
|
||||
|
||||
#include "libslic3r.h"
|
||||
#include "Point.hpp"
|
||||
#include "PrintConfig.hpp"
|
||||
|
||||
namespace Slic3r {
|
||||
|
||||
class GCodeConfig;
|
||||
|
||||
class Extruder
|
||||
{
|
||||
public:
|
||||
|
@ -11,18 +11,10 @@ void filter_by_extrusion_role_in_place(ExtrusionEntitiesPtr &extrusion_entities,
|
||||
if (role != erMixed) {
|
||||
auto first = extrusion_entities.begin();
|
||||
auto last = extrusion_entities.end();
|
||||
auto result = first;
|
||||
while (first != last) {
|
||||
// The caller wants only paths with a specific extrusion role.
|
||||
auto role2 = (*first)->role();
|
||||
if (role != role2) {
|
||||
// This extrusion entity does not match the role asked.
|
||||
assert(role2 != erMixed);
|
||||
*result = *first;
|
||||
++ result;
|
||||
}
|
||||
++ first;
|
||||
}
|
||||
extrusion_entities.erase(
|
||||
std::remove_if(first, last, [&role](const ExtrusionEntity* ee) {
|
||||
return ee->role() != role; }),
|
||||
last);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,7 @@ public:
|
||||
~ExtrusionEntityCollection() { clear(); }
|
||||
explicit operator ExtrusionPaths() const;
|
||||
|
||||
bool is_collection() const { return true; }
|
||||
bool is_collection() const override { return true; }
|
||||
ExtrusionRole role() const override {
|
||||
ExtrusionRole out = erNone;
|
||||
for (const ExtrusionEntity *ee : entities) {
|
||||
@ -49,7 +49,7 @@ public:
|
||||
}
|
||||
return out;
|
||||
}
|
||||
bool can_reverse() const { return !this->no_sort; }
|
||||
bool can_reverse() const override { return !this->no_sort; }
|
||||
bool empty() const { return this->entities.empty(); }
|
||||
void clear();
|
||||
void swap (ExtrusionEntityCollection &c);
|
||||
@ -83,9 +83,9 @@ public:
|
||||
static ExtrusionEntityCollection chained_path_from(const ExtrusionEntitiesPtr &extrusion_entities, const Point &start_near, ExtrusionRole role = erMixed);
|
||||
ExtrusionEntityCollection chained_path_from(const Point &start_near, ExtrusionRole role = erMixed) const
|
||||
{ return this->no_sort ? *this : chained_path_from(this->entities, start_near, role); }
|
||||
void reverse();
|
||||
const Point& first_point() const { return this->entities.front()->first_point(); }
|
||||
const Point& last_point() const { return this->entities.back()->last_point(); }
|
||||
void reverse() override;
|
||||
const Point& first_point() const override { return this->entities.front()->first_point(); }
|
||||
const Point& last_point() const override { return this->entities.back()->last_point(); }
|
||||
// Produce a list of 2D polygons covered by the extruded paths, offsetted by the extrusion width.
|
||||
// Increase the offset by scaled_epsilon to achieve an overlap, so a union will produce no gaps.
|
||||
void polygons_covered_by_width(Polygons &out, const float scaled_epsilon) const override;
|
||||
@ -102,11 +102,11 @@ public:
|
||||
/// You should be iterating over flatten().entities if you are interested in the underlying ExtrusionEntities (and don't care about hierarchy).
|
||||
/// \param preserve_ordering Flag to method that will flatten if and only if the underlying collection is sortable when True (default: False).
|
||||
ExtrusionEntityCollection flatten(bool preserve_ordering = false) const;
|
||||
double min_mm3_per_mm() const;
|
||||
double min_mm3_per_mm() const override;
|
||||
double total_volume() const override { double volume=0.; for (const auto& ent : entities) volume+=ent->total_volume(); return volume; }
|
||||
|
||||
// Following methods shall never be called on an ExtrusionEntityCollection.
|
||||
Polyline as_polyline() const {
|
||||
Polyline as_polyline() const override {
|
||||
throw std::runtime_error("Calling as_polyline() on a ExtrusionEntityCollection");
|
||||
return Polyline();
|
||||
};
|
||||
|
@ -114,7 +114,7 @@ std::vector<SurfaceFill> group_fills(const Layer &layer)
|
||||
if (surface.surface_type == stInternalVoid)
|
||||
has_internal_voids = true;
|
||||
else {
|
||||
FlowRole extrusion_role = (surface.surface_type == stTop) ? frTopSolidInfill : (surface.is_solid() ? frSolidInfill : frInfill);
|
||||
FlowRole extrusion_role = surface.is_top() ? frTopSolidInfill : (surface.is_solid() ? frSolidInfill : frInfill);
|
||||
bool is_bridge = layer.id() > 0 && surface.is_bridge();
|
||||
params.extruder = layerm.region()->extruder(extrusion_role);
|
||||
params.pattern = layerm.region()->config().fill_pattern.value;
|
||||
@ -132,7 +132,7 @@ std::vector<SurfaceFill> group_fills(const Layer &layer)
|
||||
is_bridge ?
|
||||
erBridgeInfill :
|
||||
(surface.is_solid() ?
|
||||
((surface.surface_type == stTop) ? erTopSolidInfill : erSolidInfill) :
|
||||
(surface.is_top() ? erTopSolidInfill : erSolidInfill) :
|
||||
erInternalInfill);
|
||||
params.bridge_angle = float(surface.bridge_angle);
|
||||
params.angle = float(Geometry::deg2rad(layerm.region()->config().fill_angle.value));
|
||||
|
@ -611,7 +611,7 @@ static inline SegmentPoint clip_start_segment_and_point(const Points &polyline,
|
||||
SegmentPoint out;
|
||||
if (polyline.size() >= 2) {
|
||||
Vec2d pt_prev = polyline.front().cast<double>();
|
||||
for (int i = 1; i < polyline.size(); ++ i) {
|
||||
for (size_t i = 1; i < polyline.size(); ++ i) {
|
||||
Vec2d pt = polyline[i].cast<double>();
|
||||
Vec2d v = pt - pt_prev;
|
||||
double l2 = v.squaredNorm();
|
||||
@ -674,7 +674,7 @@ static inline double segment_point_distance_squared(const Vec2d &p1a, const Vec2
|
||||
if (l2 < EPSILON)
|
||||
// p1a == p1b
|
||||
return (p2 - p1a).squaredNorm();
|
||||
return segment_point_distance_squared(p1a, p1b, v, v.squaredNorm(), p2);
|
||||
return segment_point_distance_squared(p1a, p1b, v, v.squaredNorm(), p2);
|
||||
}
|
||||
|
||||
// Distance to the closest point of line.
|
||||
@ -692,7 +692,7 @@ static inline double min_distance_of_segments(const Vec2d &p1a, const Vec2d &p1b
|
||||
// p2a == p2b: Return distance of p2a from the (p1a, p1b) segment.
|
||||
return segment_point_distance_squared(p1a, p1b, v1, l1_2, p2a);
|
||||
|
||||
return std::min(
|
||||
return std::min(
|
||||
std::min(segment_point_distance_squared(p1a, p1b, v1, l1_2, p2a), segment_point_distance_squared(p1a, p1b, v1, l1_2, p2b)),
|
||||
std::min(segment_point_distance_squared(p2a, p2b, v2, l2_2, p1a), segment_point_distance_squared(p2a, p2b, v2, l2_2, p1b)));
|
||||
}
|
||||
|
@ -156,7 +156,7 @@ void FillGyroid::_fill_surface_single(
|
||||
Polylines &polylines_out)
|
||||
{
|
||||
float infill_angle = this->angle + (CorrectionAngle * 2*M_PI) / 360.;
|
||||
if(abs(infill_angle) >= EPSILON)
|
||||
if(std::abs(infill_angle) >= EPSILON)
|
||||
expolygon.rotate(-infill_angle);
|
||||
|
||||
BoundingBox bb = expolygon.contour.bounding_box();
|
||||
@ -197,8 +197,9 @@ void FillGyroid::_fill_surface_single(
|
||||
append(polylines_out, std::move(polylines));
|
||||
else
|
||||
this->connect_infill(std::move(polylines), expolygon, polylines_out, this->spacing, params);
|
||||
|
||||
// new paths must be rotated back
|
||||
if (abs(infill_angle) >= EPSILON) {
|
||||
if (std::abs(infill_angle) >= EPSILON) {
|
||||
for (auto it = polylines_out.begin() + polylines_out_first_idx; it != polylines_out.end(); ++ it)
|
||||
it->rotate(infill_angle);
|
||||
}
|
||||
|
@ -11,6 +11,12 @@
|
||||
|
||||
namespace Slic3r {
|
||||
|
||||
FlowErrorNegativeSpacing::FlowErrorNegativeSpacing() :
|
||||
FlowError("Flow::spacing() produced negative spacing. Did you set some extrusion width too small?") {}
|
||||
|
||||
FlowErrorNegativeFlow::FlowErrorNegativeFlow() :
|
||||
FlowError("Flow::mm3_per_mm() produced negative flow. Did you set some extrusion width too small?") {}
|
||||
|
||||
// This static method returns a sane extrusion width default.
|
||||
float Flow::auto_extrusion_width(FlowRole role, float nozzle_diameter)
|
||||
{
|
||||
@ -52,7 +58,7 @@ static inline FlowRole opt_key_to_flow_role(const std::string &opt_key)
|
||||
|
||||
static inline void throw_on_missing_variable(const std::string &opt_key, const char *dependent_opt_key)
|
||||
{
|
||||
throw std::runtime_error((boost::format(L("Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible.")) % opt_key % dependent_opt_key).str());
|
||||
throw FlowErrorMissingVariable((boost::format(L("Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible.")) % opt_key % dependent_opt_key).str());
|
||||
}
|
||||
|
||||
// Used to provide hints to the user on default extrusion width values, and to provide reasonable values to the PlaceholderParser.
|
||||
@ -174,7 +180,7 @@ float Flow::spacing() const
|
||||
#endif
|
||||
// assert(res > 0.f);
|
||||
if (res <= 0.f)
|
||||
throw std::runtime_error("Flow::spacing() produced negative spacing. Did you set some extrusion width too small?");
|
||||
throw FlowErrorNegativeSpacing();
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -190,7 +196,7 @@ float Flow::spacing(const Flow &other) const
|
||||
0.5 * this->spacing() + 0.5 * other.spacing());
|
||||
// assert(res > 0.f);
|
||||
if (res <= 0.f)
|
||||
throw std::runtime_error("Flow::spacing() produced negative spacing. Did you set some extrusion width too small?");
|
||||
throw FlowErrorNegativeSpacing();
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -204,7 +210,7 @@ double Flow::mm3_per_mm() const
|
||||
float(this->height * (this->width - this->height * (1. - 0.25 * PI)));
|
||||
//assert(res > 0.);
|
||||
if (res <= 0.)
|
||||
throw std::runtime_error("Flow::mm3_per_mm() produced negative flow. Did you set some extrusion width too small?");
|
||||
throw FlowErrorNegativeFlow();
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@ -27,6 +27,31 @@ enum FlowRole {
|
||||
frSupportMaterialInterface,
|
||||
};
|
||||
|
||||
class FlowError : public std::invalid_argument
|
||||
{
|
||||
public:
|
||||
FlowError(const std::string& what_arg) : invalid_argument(what_arg) {}
|
||||
FlowError(const char* what_arg) : invalid_argument(what_arg) {}
|
||||
};
|
||||
|
||||
class FlowErrorNegativeSpacing : public FlowError
|
||||
{
|
||||
public:
|
||||
FlowErrorNegativeSpacing();
|
||||
};
|
||||
|
||||
class FlowErrorNegativeFlow : public FlowError
|
||||
{
|
||||
public:
|
||||
FlowErrorNegativeFlow();
|
||||
};
|
||||
|
||||
class FlowErrorMissingVariable : public FlowError
|
||||
{
|
||||
public:
|
||||
FlowErrorMissingVariable(const std::string& what_arg) : FlowError(what_arg) {}
|
||||
};
|
||||
|
||||
class Flow
|
||||
{
|
||||
public:
|
||||
|