Merge pull request #2 from prusa3d/master

Update to upstream master.
This commit is contained in:
ardenpm 2020-11-21 14:41:26 +11:00 committed by GitHub
commit e4fc220f90
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
269 changed files with 55717 additions and 33784 deletions

View File

@ -393,6 +393,7 @@ endif ()
find_package(PNG REQUIRED) find_package(PNG REQUIRED)
set(OpenGL_GL_PREFERENCE "LEGACY")
find_package(OpenGL REQUIRED) find_package(OpenGL REQUIRED)
# Find glew or use bundled version # Find glew or use bundled version
@ -509,11 +510,14 @@ endif()
if (WIN32) if (WIN32)
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources") install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
elseif (SLIC3R_FHS) elseif (SLIC3R_FHS)
# CMAKE_INSTALL_FULL_DATAROOTDIR: read-only architecture-independent data root (share)
set(SLIC3R_FHS_RESOURCES "${CMAKE_INSTALL_FULL_DATAROOTDIR}/PrusaSlicer") set(SLIC3R_FHS_RESOURCES "${CMAKE_INSTALL_FULL_DATAROOTDIR}/PrusaSlicer")
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${SLIC3R_FHS_RESOURCES}") install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${SLIC3R_FHS_RESOURCES}")
install(FILES src/platform/unix/PrusaSlicer.desktop DESTINATION ${SLIC3R_FHS_RESOURCES}/applications) install(FILES src/platform/unix/PrusaSlicer.desktop DESTINATION ${SLIC3R_FHS_RESOURCES}/applications)
install(FILES src/platform/unix/PrusaGcodeviewer.desktop DESTINATION ${SLIC3R_FHS_RESOURCES}/applications)
else () else ()
install(FILES src/platform/unix/PrusaSlicer.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/resources/applications) install(FILES src/platform/unix/PrusaSlicer.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/resources/applications)
install(FILES src/platform/unix/PrusaGcodeviewer.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/resources/applications)
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources") install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
endif () endif ()

11
deps/CGAL/CGAL.cmake vendored
View File

@ -15,6 +15,17 @@ include(GNUInstallDirs)
# If this file is not present, it will not consider the stored absolute path # If this file is not present, it will not consider the stored absolute path
ExternalProject_Add_Step(dep_CGAL dep_CGAL_relocation_fix ExternalProject_Add_Step(dep_CGAL dep_CGAL_relocation_fix
DEPENDEES install DEPENDEES install
COMMAND ${CMAKE_COMMAND} -E remove CGALConfig-installation-dirs.cmake COMMAND ${CMAKE_COMMAND} -E remove CGALConfig-installation-dirs.cmake
WORKING_DIRECTORY "${DESTDIR}/usr/local/${CMAKE_INSTALL_LIBDIR}/cmake/CGAL" WORKING_DIRECTORY "${DESTDIR}/usr/local/${CMAKE_INSTALL_LIBDIR}/cmake/CGAL"
) )
# Again, for whatever reason, CGAL thinks that its version is not relevant if
# configured as a header only library. Fixing it by placing a cmake version file
# besides the installed config file.
ExternalProject_Add_Step(dep_CGAL dep_CGAL_version_fix
DEPENDEES install
COMMAND ${CMAKE_COMMAND} -E copy cgal/CGALConfigVersion.cmake "${DESTDIR}/usr/local/${CMAKE_INSTALL_LIBDIR}/cmake/CGAL/CGALConfigVersion.cmake"
WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}"
)

37
deps/CGAL/cgal/CGALConfigVersion.cmake vendored Normal file
View File

@ -0,0 +1,37 @@
# This is a basic version file for the Config-mode of find_package().
# It is used by write_basic_package_version_file() as input file for configure_file()
# to create a version-file which can be installed along a config.cmake file.
#
# The created file sets PACKAGE_VERSION_EXACT if the current version string and
# the requested version string are exactly the same and it sets
# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version.
# The variable CVF_VERSION must be set before calling configure_file().
set(PACKAGE_VERSION "5.0.0")
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
set(PACKAGE_VERSION_COMPATIBLE FALSE)
else()
set(PACKAGE_VERSION_COMPATIBLE TRUE)
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
set(PACKAGE_VERSION_EXACT TRUE)
endif()
endif()
# if the installed project requested no architecture check, don't perform the check
if("FALSE")
return()
endif()
# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
return()
endif()
# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
math(EXPR installedBits "8 * 8")
set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
set(PACKAGE_VERSION_UNSUITABLE TRUE)
endif()

6
deps/PNG/PNG.cmake vendored
View File

@ -1,7 +1,3 @@
set(_prefix_line "")
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(_prefix_line "-DPNG_PREFIX=prusaslicer_")
endif()
prusaslicer_add_cmake_project(PNG prusaslicer_add_cmake_project(PNG
GIT_REPOSITORY https://github.com/glennrp/libpng.git GIT_REPOSITORY https://github.com/glennrp/libpng.git
@ -10,7 +6,7 @@ prusaslicer_add_cmake_project(PNG
CMAKE_ARGS CMAKE_ARGS
-DPNG_SHARED=OFF -DPNG_SHARED=OFF
-DPNG_STATIC=ON -DPNG_STATIC=ON
${_prefix_line} -DPNG_PREFIX=prusaslicer_
-DPNG_TESTS=OFF -DPNG_TESTS=OFF
) )

View File

@ -0,0 +1,12 @@
[Desktop Entry]
Name=PrusaSlicer
GenericName=3D Printing Software
Icon=com.prusa3d.PrusaSlicer
Exec=prusa-slicer %F
Terminal=false
Type=Application
MimeType=model/stl;model/x-wavefront-obj;model/3mf;model/x-geomview-off;application/x-amf;
Categories=Graphics;3DGraphics;Engineering;
Keywords=3D;Printing;Slicer;slice;3D;printer;convert;gcode;stl;obj;amf;SLA
StartupNotify=false
StartupWMClass=prusa-slicer

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>com.prusa3d.PrusaSlicer</id>
<launchable type="desktop-id">com.prusa3d.PrusaSlicer.desktop</launchable>
<provides>
<id>prusa-slicer.desktop</id>
</provides>
<name>PrusaSlicer</name>
<summary>Powerful 3D printing slicer optimized for Prusa printers</summary>
<metadata_license>0BSD</metadata_license>
<project_license>AGPL-3.0-only</project_license>
<description>
<p>
PrusaSlicer takes 3D models (STL, OBJ, AMF) and converts them into G-code
instructions for FFF printers or PNG layers for mSLA 3D printers. It's
compatible with any modern printer based on the RepRap toolchain, including all
those based on the Marlin, Prusa, Sprinter and Repetier firmware. It also works
with Mach3, LinuxCNC and Machinekit controllers.
</p>
<p>
PrusaSlicer is based on Slic3r by Alessandro Ranelucci and the RepRap community.
</p>
<p>
What are some of PrusaSlicer's main features?
</p>
<ul>
<li>multi-platform (Linux/Mac/Win) and packaged as standalone-app with no dependencies required</li>
<li>complete command-line interface to use it with no GUI</li>
<li>multi-material (multiple extruders) object printing</li>
<li>multiple G-code flavors supported (RepRap, Makerbot, Mach3, Machinekit etc.)</li>
<li>ability to plate multiple objects having distinct print settings</li>
<li>multithread processing</li>
<li>STL auto-repair (tolerance for broken models)</li>
<li>wide automated unit testing</li>
</ul>
</description>
<url type="homepage">https://www.prusa3d.com/prusaslicer/</url>
<url type="help">https://help.prusa3d.com</url>
<url type="bugtracker">https://github.com/prusa3d/PrusaSlicer/issues</url>
<screenshots>
<screenshot type="default">
<image>https://user-images.githubusercontent.com/590307/78981854-24d07580-7b21-11ea-9441-77923534a659.png</image>
</screenshot>
<screenshot>
<image>https://user-images.githubusercontent.com/590307/78981860-2863fc80-7b21-11ea-8c2d-8ff79ced2578.png</image>
</screenshot>
<screenshot>
<image>https://user-images.githubusercontent.com/590307/78981862-28fc9300-7b21-11ea-9b0d-d03e16b709d3.png</image>
</screenshot>
</screenshots>
<content_rating type="oars-1.1" />
<releases>
<release version="2.2.0" date="2020-03-21">
<description>
<p>This is final release of PrusaSlicer 2.2.0 introducing SLA hollowing and hole drilling, support for 3rd party printer vendors, 3Dconnexion support,
automatic variable layer height, macOS dark mode support, greatly improved ColorPrint feature and much, much more.
Several bugs found in the previous release candidate are fixed in this final release. See the respective change logs of the previous releases for all the
new features, improvements and bugfixes in the 2.2.0 series.</p>
</description>
</release>
</releases>
</component>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.0.0, 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 128 128" enable-background="new 0 0 128 128" xml:space="preserve">
<g id="paint_x5F_supports">
<path fill="#ED6B21" d="M88,38.93c-0.83,0-1.5,0.67-1.5,1.5V70.5h-5V45.14c0-0.83-0.67-1.5-1.5-1.5s-1.5,0.67-1.5,1.5V70.5h-5V49.8
c0-0.83-0.67-1.5-1.5-1.5s-1.5,0.67-1.5,1.5v20.7h-5V53.84c0-0.83-0.67-1.5-1.5-1.5s-1.5,0.67-1.5,1.5V70.5h-5V49.8
c0-0.83-0.67-1.5-1.5-1.5s-1.5,0.67-1.5,1.5v20.7h-5V45.14c0-0.83-0.67-1.5-1.5-1.5s-1.5,0.67-1.5,1.5V70.5h-5V40.43
c0-0.83-0.67-1.5-1.5-1.5s-1.5,0.67-1.5,1.5V72v10.99c0,3.59,2.92,6.51,6.51,6.51h2.98c0.67,0.01,6.51,0.24,6.51,6.5v16
c0,3.29,1.99,9.5,9.5,9.5s9.5-6.21,9.5-9.5V96c0-6.26,5.84-6.49,6.5-6.5h3c3.59,0,6.5-2.92,6.5-6.5V72V40.43
C89.5,39.6,88.83,38.93,88,38.93z M86.5,83c0,1.93-1.57,3.5-3.5,3.5h-3c-3.29,0-9.5,1.99-9.5,9.5v15.99
c-0.01,0.67-0.24,6.51-6.5,6.51s-6.49-5.84-6.5-6.5V96c0-7.51-6.21-9.5-9.5-9.5h-2.99c-1.94,0-3.51-1.57-3.51-3.51V73.5h45V83z"/>
<g>
<path fill="#FFFFFF" d="M64,48.03c-0.26,0-0.52-0.07-0.75-0.2l-48-27.69c-0.46-0.27-0.75-0.76-0.75-1.3V8c0-0.83,0.67-1.5,1.5-1.5
s1.5,0.67,1.5,1.5v9.98L64,44.8l46.5-26.83V8c0-0.83,0.67-1.5,1.5-1.5s1.5,0.67,1.5,1.5v10.84c0,0.54-0.29,1.03-0.75,1.3
l-48,27.69C64.52,47.97,64.26,48.03,64,48.03z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,75 @@
<?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"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 800 800"
style="enable-background:new 0 0 800 800;"
xml:space="preserve"
sodipodi:docname="notification_eject_sd_hover.svg"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"><metadata
id="metadata15"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs13" /><sodipodi:namedview
inkscape:document-rotation="0"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="3840"
inkscape:window-height="2066"
id="namedview11"
showgrid="false"
inkscape:zoom="1.26"
inkscape:cx="400"
inkscape:cy="396.42857"
inkscape:window-x="-11"
inkscape:window-y="-11"
inkscape:window-maximized="1"
inkscape:current-layer="Layer_1" />
<style
type="text/css"
id="style2">
.st0{fill:#ED6B21;}
</style>
<path
style="stroke-width:0.85"
class="st0"
d="m 565.50264,534.98775 v 60.775 h -330.565 v -60.775 h 330.565 m 27.88,-48.195 h -386.24 c -11.22,0 -20.315,9.095 -20.315,20.315 v 116.535 c 0,11.22 9.095,20.315 20.315,20.315 h 386.24 c 11.22,0 20.315,-9.095 20.315,-20.315 v -116.45 c 0,-11.22 -9.095,-20.4 -20.315,-20.4 z"
id="path4" />
<path
style="stroke-width:0.85"
class="st0"
d="m 400.09264,235.70275 116.96,155.295 h -233.75 l 116.79,-155.295 m 0,-66.64 c -6.12,0 -12.155,2.72 -16.235,8.16 l -172.635,229.5 c -10.115,13.43 -0.51,32.555 16.235,32.555 h 345.355 c 16.745,0 26.35,-19.125 16.235,-32.555 l -172.805,-229.5 c -3.995,-5.44 -10.03,-8.16 -16.15,-8.16 z"
id="path6" />
<g
id="g4"
transform="matrix(0.9775,0,0,0.9775,53.547,53.54775)">
<path
id="path2"
class="st0"
d="M 597.2,701.3 H 110.6 C 53.2,701.3 6.5,654.6 6.5,597.2 V 110.6 C 6.5,53.2 53.2,6.5 110.6,6.5 h 486.6 c 57.4,0 104.1,46.7 104.1,104.1 v 486.6 c 0,57.4 -46.7,104.1 -104.1,104.1 z M 110.6,52.4 c -32,0 -58.2,26 -58.2,58.2 v 486.6 c 0,32 26,58.2 58.2,58.2 h 486.6 c 32,0 58.2,-26 58.2,-58.2 V 110.6 c 0,-32 -26,-58.2 -58.2,-58.2 z" />
</g>
<path
style="fill:#ed6b21;fill-opacity:1;stroke-width:0.674603"
d="m 150.65676,738.12999 c -12.4717,-1.39663 -26.66772,-5.94192 -37.84321,-12.11671 -17.754551,-9.80992 -33.768844,-26.68981 -42.418124,-44.71089 -5.985061,-12.4701 -8.760227,-23.35456 -9.821918,-38.52249 -0.48061,-6.8663 -0.640464,-87.42616 -0.497289,-250.61508 0.195544,-222.88027 0.294923,-240.94223 1.356742,-246.58759 4.2349,-22.51562 13.68014,-40.62012 29.200931,-55.97194 14.237938,-14.082924 31.958648,-23.427941 52.602238,-27.739791 5.87892,-1.227937 14.00696,-1.268146 256.3492,-1.268146 h 250.27778 l 7.08334,1.561512 c 21.30688,4.697075 36.90336,13.216072 51.96052,28.381502 14.67865,14.784203 23.1932,30.350373 27.76125,50.752683 l 1.56791,7.00271 v 250.95239 c 0,242.72256 -0.0418,251.15149 -1.26428,257.0238 -9.30592,44.69034 -45.18963,77.43352 -89.75566,81.90028 -9.17898,0.92002 -488.33076,0.87927 -496.55943,-0.0425 z M 652.87275,692.49 c 19.93824,-6.17834 34.6922,-21.42493 40.00111,-41.33675 l 1.51306,-5.67494 V 399.58544 153.69259 l -1.52571,-5.73412 c -5.66288,-21.28292 -21.4158,-36.89778 -42.2051,-41.83523 -5.63965,-1.33941 -7.66026,-1.3488 -253.17948,-1.17613 l -247.49447,0.17405 -4.72222,1.5953 c -18.05932,6.10093 -31.7315,19.23923 -37.4918,36.0278 -1.04762,3.05333 -2.22128,7.52472 -2.60813,9.93642 -0.47859,2.9836 -0.705,81.91876 -0.70847,246.99889 -0.005,218.14117 0.10226,243.1829 1.05916,248.25397 4.27172,22.63802 22.24346,40.86392 44.80877,45.4425 3.58848,0.72811 49.16893,0.87009 250.95237,0.78171 l 246.56747,-0.10801 z"
id="path17" /><path
style="fill:#ed6b21;fill-opacity:1;stroke-width:0.674603"
d="m 218.59688,436.65333 c -4.13129,-2.06443 -6.86895,-4.83026 -9.31331,-9.40915 -1.8345,-3.43648 -1.79343,-12.82008 0.0723,-16.52778 1.6224,-3.22405 174.17376,-232.72362 177.28101,-235.79015 3.40221,-3.35765 7.0012,-4.88322 12.34326,-5.23218 4.15899,-0.27168 5.32913,-0.0718 8.86231,1.51379 2.23886,1.00474 4.97342,2.78734 6.07682,3.96132 4.02813,4.28582 175.25817,232.2757 176.9048,235.54571 2.34584,4.65861 2.38759,12.10251 0.0927,16.52929 -2.00877,3.87485 -5.74351,7.80536 -9.18863,9.67026 l -2.69841,1.4607 -178.1462,0.17362 -178.14619,0.17362 z m 298.67589,-45.66907 c -0.0611,-1.0035 -116.48775,-154.99008 -117.18534,-154.99008 -0.71184,0 -116.84805,154.02591 -116.8632,154.99008 -0.004,0.27827 52.6617,0.50595 117.03571,0.50595 64.374,0 117.02978,-0.22768 117.01283,-0.50595 z"
id="path19" /><path
style="fill:#ed6b21;fill-opacity:1;stroke-width:0.674603"
d="m 202.23056,642.87591 c -4.08272,-1.10499 -7.53117,-3.30912 -10.37477,-6.63124 -4.63948,-5.42019 -4.43387,-2.10678 -4.42657,-71.33297 l 0.007,-62.44927 1.60268,-3.44194 c 1.88877,-4.05635 5.3977,-7.75734 9.36436,-9.8769 l 2.84915,-1.52243 h 199.00794 199.00793 l 2.84915,1.52243 c 3.96665,2.11956 7.47559,5.82055 9.36436,9.8769 l 1.60267,3.44194 0.007,62.44927 c 0.008,69.78764 0.26152,65.98231 -4.79028,71.72146 -1.4904,1.69319 -4.37627,3.87229 -6.52672,4.9283 l -3.85513,1.89304 -196.30953,0.12602 c -153.67069,0.0987 -196.97613,-0.0544 -199.37859,-0.70461 z M 565.87502,565.20052 V 534.50608 H 400.25994 234.64486 v 30.69444 30.69446 h 165.61508 165.61508 z"
id="path21" /></svg>

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -0,0 +1,76 @@
<?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"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 800 800"
style="enable-background:new 0 0 800 800;"
xml:space="preserve"
sodipodi:docname="notification_eject_sd.svg"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"><metadata
id="metadata15"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs13" /><sodipodi:namedview
inkscape:document-rotation="0"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1918"
inkscape:window-height="2054"
id="namedview11"
showgrid="false"
inkscape:zoom="1.26"
inkscape:cx="400"
inkscape:cy="401.5873"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="Layer_1" />
<style
type="text/css"
id="style2">
.st0{fill:#ED6B21;}
</style>
<path
class="st0"
d="M594.8,558.9v71.5H205.9v-71.5H594.8 M627.6,502.2H173.2c-13.2,0-23.9,10.7-23.9,23.9v137.1 c0,13.2,10.7,23.9,23.9,23.9h454.4c13.2,0,23.9-10.7,23.9-23.9V526.2C651.5,513,640.8,502.2,627.6,502.2L627.6,502.2z"
id="path4" />
<path
class="st0"
d="M400.2,206.8l137.6,182.7h-275L400.2,206.8 M400.2,128.4c-7.2,0-14.3,3.2-19.1,9.6l-203.1,270 c-11.9,15.8-0.6,38.3,19.1,38.3h406.3c19.7,0,31-22.5,19.1-38.3l-203.3-270C414.5,131.6,407.4,128.4,400.2,128.4L400.2,128.4z"
id="path6" />
<g
id="g4"
transform="matrix(1.15,0,0,1.15,-7.50075,-7.5)">
<path
id="path2"
class="st0"
d="M597.2,701.3H110.6c-57.4,0-104.1-46.7-104.1-104.1V110.6C6.5,53.2,53.2,6.5,110.6,6.5h486.6 c57.4,0,104.1,46.7,104.1,104.1v486.6C701.3,654.6,654.6,701.3,597.2,701.3z M110.6,52.4c-32,0-58.2,26-58.2,58.2v486.6 c0,32,26,58.2,58.2,58.2h486.6c32,0,58.2-26,58.2-58.2V110.6c0-32-26-58.2-58.2-58.2L110.6,52.4z" />
</g>
<path
style="fill:#ed6b21;fill-opacity:1;stroke-width:0.793651"
d="M 107.81901,798.00119 C 77.966509,794.83135 49.146122,779.90354 30.060545,757.72544 16.219297,741.64143 7.2605087,723.64471 2.5844311,702.53048 L 0.79365079,694.44444 V 399.60317 104.7619 L 2.5707889,96.74281 C 8.1200484,71.702533 18.222321,53.056007 35.651802,35.682695 53.220959,18.170156 71.802034,8.0954675 96.708127,2.5778576 L 104.7619,0.79365079 h 294.44445 c 281.74132,0 294.75136,0.0623952 301.55851,1.44626191 16.67428,3.3898194 30.80854,9.2277743 44.45639,18.3620833 30.56319,20.455498 49.17772,51.734599 52.83931,88.789134 0.52246,5.28681 0.71992,107.13501 0.57277,295.37077 -0.21452,274.44189 -0.28952,287.63907 -1.67476,294.84127 -9.63677,50.10325 -47.25156,87.71807 -97.3554,97.35548 -7.21079,1.38698 -20.15876,1.45445 -296.82539,1.54754 -159.10715,0.0532 -291.83859,-0.17373 -294.95877,-0.505 z m 582.70983,-52.40653 c 14.11333,-2.49918 25.86756,-8.65506 36.13916,-18.92666 10.4238,-10.4238 16.61917,-22.37735 18.96341,-36.58863 0.59763,-3.62296 0.78014,-91.16224 0.61306,-294.04762 -0.2267,-275.2812 -0.30507,-289.11319 -1.66353,-293.6508 -2.29132,-7.653498 -8.052,-18.790275 -12.80623,-24.757484 -7.93878,-9.964272 -18.57499,-17.346949 -31.48512,-21.854079 l -7.43245,-2.594784 -291.12328,-0.20372 C 142.50327,52.78948 110.02937,52.90047 105.30529,53.98405 79.968659,59.795581 61.031339,78.238321 54.164726,103.78898 l -1.754497,6.52848 -0.240323,282.14286 c -0.151001,177.27655 0.04527,285.53516 0.528069,291.26984 2.318854,27.5434 19.073236,49.76542 44.524247,59.05433 10.087718,3.68173 -4.026285,3.51395 301.243128,3.58099 197.57151,0.0434 288.82563,-0.19746 292.06349,-0.77082 z"
id="path19" /><path
id="path12"
d="M 107.81901,798.00119 C 71.793616,794.17587 39.726024,774.51428 19.725029,743.98814 11.604149,731.59381 6.0410683,718.13847 2.5844311,702.53048 L 0.79365079,694.44444 V 399.20635 103.96825 L 3.035741,94.554887 C 8.7824143,70.427608 18.557382,52.794942 35.676163,35.676161 52.78713,18.565194 70.514246,8.724096 94.444444,3.0513179 l 9.523806,-2.25766869 h 294.84127 c 282.12524,0 295.14809,0.0623746 301.95534,1.44626189 16.66109,3.3871391 30.79289,9.2216269 44.45639,18.3543829 30.53954,20.412782 49.17677,51.732756 52.83931,88.796836 0.52246,5.28681 0.71992,107.13501 0.57277,295.37077 -0.21452,274.44188 -0.28952,287.63907 -1.67476,294.84127 -8.48938,44.13777 -38.62564,78.86883 -80.59962,92.88841 -19.37815,6.47239 11.16453,5.88739 -313.58117,6.0062 -159.10715,0.0579 -291.83859,-0.16532 -294.95877,-0.49659 z m 583.84766,-52.6969 c 13.48971,-2.42242 24.94716,-8.60413 35.32488,-19.05909 10.25229,-10.3286 16.66154,-22.92711 18.61985,-36.60068 0.66689,-4.65647 0.83196,-81.74243 0.62956,-294.0096 C 745.9846,126.77174 745.87745,107.60752 744.6044,102.9114 738.42079,80.100871 721.07257,62.283764 697.9879,55.03493 l -5.92441,-1.860328 H 399.20635 106.34921 L 98.809524,55.78721 C 75.623265,63.821579 59.178748,82.101475 53.902861,105.70593 52.59901,111.53938 52.514615,128.88593 52.47105,400 l -0.04629,288.09524 2.080286,7.60155 c 6.270993,22.91476 22.15377,39.95711 44.384633,47.62505 3.584011,1.23621 7.998091,1.91356 14.999211,2.30168 5.45635,0.30249 136.34921,0.59491 290.87301,0.64982 232.38849,0.0826 281.98128,-0.0849 286.90477,-0.96905 z"
style="fill:#ed6b21;fill-opacity:1;stroke-width:0.793651" /><path
id="path14"
d="m 188.74939,444.33528 c -4.767,-1.68913 -10.12828,-6.7592 -12.71276,-12.02223 -2.90908,-5.92405 -3.07868,-13.78271 -0.41474,-19.21781 1.59087,-3.24578 204.04455,-273.05533 208.24079,-277.52202 0.98764,-1.05129 4.03672,-3.01468 6.77574,-4.3631 4.52929,-2.22976 5.50158,-2.41761 10.74224,-2.07541 6.86047,0.44798 10.76603,2.25377 15.37601,7.10932 3.73681,3.93587 203.30677,268.8636 207.0044,274.79691 2.05716,3.30097 2.4722,4.84315 2.70946,10.06767 0.23771,5.23447 -0.0137,6.8089 -1.6588,10.38763 -2.76417,6.01319 -5.53229,8.93875 -11.0814,11.71167 l -4.85687,2.42701 -208.40498,-0.0627 c -181.84257,-0.0547 -208.82739,-0.21233 -211.71909,-1.23698 z m 348.94902,-54.98925 c 0,-0.9027 -136.36908,-182.10669 -137.30528,-182.44799 -0.54415,-0.19837 -135.36926,178.28524 -137.53574,182.07198 -0.54249,0.9482 19.37332,1.10934 137.10317,1.10934 83.74346,0 137.73785,-0.28747 137.73785,-0.73333 z"
style="fill:#ed6b21;fill-opacity:1;stroke-width:0.793651" /><path
id="path16"
d="m 168.25397,686.16973 c -7.05465,-1.71645 -13.06577,-6.58064 -16.33102,-13.21504 L 150,669.04762 v -74.20635 -74.20635 l 1.8935,-4.19003 c 1.12593,-2.49152 3.46026,-5.59868 5.75857,-7.66505 7.33695,-6.59655 -16.73947,-6.00214 243.08455,-6.00144 l 231.80306,6.3e-4 4.76912,2.2562 c 5.31341,2.5137 9.30333,6.56248 11.81369,11.98794 1.66145,3.59075 1.67116,4.0432 1.67116,77.8181 v 74.20635 l -1.92294,3.90707 c -2.44721,4.97227 -6.5951,9.12016 -11.60261,11.6026 l -3.93477,1.95064 -231.3492,0.12055 c -127.24207,0.0663 -232.42064,-0.14013 -233.73016,-0.45875 z m 426.5873,-91.72529 V 558.33333 H 400 205.15873 v 36.11111 36.11111 H 400 594.84127 Z"
style="fill:#ed6b21;fill-opacity:1;stroke-width:0.793651" /></svg>

After

Width:  |  Height:  |  Size: 7.3 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -78,7 +78,6 @@ src/libslic3r/ExtrusionEntity.cpp
src/libslic3r/Flow.cpp src/libslic3r/Flow.cpp
src/libslic3r/Format/3mf.cpp src/libslic3r/Format/3mf.cpp
src/libslic3r/Format/AMF.cpp src/libslic3r/Format/AMF.cpp
src/libslic3r/GCode/PreviewData.cpp
src/libslic3r/miniz_extension.cpp src/libslic3r/miniz_extension.cpp
src/libslic3r/Preset.cpp src/libslic3r/Preset.cpp
src/libslic3r/Print.cpp src/libslic3r/Print.cpp

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,6 @@
min_slic3r_version = 2.3.0-alpha2
0.0.4 Fixed predator output filaname format, infill overlap.
0.0.3 Fixed infill_overlap, start_gcode, end_gcode for Anycubic Predator
0.0.2 Added Anycubic Predator
min_slic3r_version = 2.3.0-alpha0 min_slic3r_version = 2.3.0-alpha0
0.0.1 Initial Version 0.0.1 Initial Version

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -1,3 +1,7 @@
min_slic3r_version = 2.3.0-alpha2
0.0.6 Added filament profiles, adjusted temperatures, updated start g-code for some models.
0.0.5 Added 0.08mm SUPERDETAIL and 0.28mm SUPERDRAFT print profiles. Updated OPTIMAL print profile.
0.0.4 Added initial CR-10 profile, end g-code improvements.
min_slic3r_version = 2.3.0-alpha0 min_slic3r_version = 2.3.0-alpha0
0.0.3 Added Ender-2, Ender-3 BLTouch, updated Ender-3 bed texture. 0.0.3 Added Ender-2, Ender-3 BLTouch, updated Ender-3 bed texture.
min_slic3r_version = 2.2.0-alpha3 min_slic3r_version = 2.2.0-alpha3

View File

@ -5,7 +5,7 @@
name = Creality name = Creality
# Configuration version of this file. Config file will only be installed, if the config_version differs. # 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. # This means, the server may force the PrusaSlicer configuration to be downgraded.
config_version = 0.0.3 config_version = 0.0.6
# Where to get the updates from? # Where to get the updates from?
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Creality/ config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Creality/
# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1% # changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
@ -21,7 +21,7 @@ technology = FFF
family = ENDER family = ENDER
bed_model = ender3_bed.stl bed_model = ender3_bed.stl
bed_texture = ender3.svg bed_texture = ender3.svg
default_materials = Creality PLA @ENDER3; Generic PLA @ENDER3; Generic PETG @ENDER3; Generic ABS @ENDER3; Prusament PLA @ENDER3; Prusament PETG @ENDER3 default_materials = Creality PLA @CREALITY; Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY
[printer_model:ENDER3BLTOUCH] [printer_model:ENDER3BLTOUCH]
name = Creality Ender-3 BLTouch name = Creality Ender-3 BLTouch
@ -30,7 +30,25 @@ technology = FFF
family = ENDER family = ENDER
bed_model = ender3_bed.stl bed_model = ender3_bed.stl
bed_texture = ender3.svg bed_texture = ender3.svg
default_materials = Creality PLA @ENDER3; Generic PLA @ENDER3; Generic PETG @ENDER3; Generic ABS @ENDER3; Prusament PLA @ENDER3; Prusament PETG @ENDER3 default_materials = Creality PLA @CREALITY; Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY
[printer_model:ENDER5]
name = Creality Ender-5
variants = 0.4
technology = FFF
family = ENDER
bed_model = ender3_bed.stl
bed_texture = ender3.svg
default_materials = Creality PLA @CREALITY; Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY
[printer_model:ENDER5PLUS]
name = Creality Ender-5 Plus
variants = 0.4
technology = FFF
family = ENDER
bed_model = ender5plus_bed.stl
bed_texture = ender5plus.svg
default_materials = Creality PLA @CREALITY; Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY
[printer_model:ENDER2] [printer_model:ENDER2]
name = Creality Ender-2 name = Creality Ender-2
@ -39,7 +57,106 @@ technology = FFF
family = ENDER family = ENDER
bed_model = ender2_bed.stl bed_model = ender2_bed.stl
bed_texture = ender2.svg bed_texture = ender2.svg
default_materials = Creality PLA @ENDER3; Generic PLA @ENDER3; Generic PETG @ENDER3; Generic ABS @ENDER3; Prusament PLA @ENDER3; Prusament PETG @ENDER3 default_materials = Creality PLA @CREALITY; Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY
[printer_model:CR10MINI]
name = Creality CR-10 Mini
variants = 0.4
technology = FFF
family = CR
bed_model = cr10mini_bed.stl
bed_texture = cr10mini.svg
default_materials = Creality PLA @CREALITY; Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY
[printer_model:CR10]
name = Creality CR-10
variants = 0.4
technology = FFF
family = CR
bed_model = cr10_bed.stl
bed_texture = cr10.svg
default_materials = Creality PLA @CREALITY; Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY
[printer_model:CR10V2]
name = Creality CR-10 V2
variants = 0.4
technology = FFF
family = CR
bed_model = cr10v2_bed.stl
bed_texture = cr10.svg
default_materials = Creality PLA @CREALITY; Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY
[printer_model:CR10V3]
name = Creality CR-10 V3
variants = 0.4
technology = FFF
family = CR
bed_model = cr10v2_bed.stl
bed_texture = cr10.svg
default_materials = Creality PLA @CREALITY; Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY
[printer_model:CR10S]
name = Creality CR-10 S
variants = 0.4
technology = FFF
family = CR
bed_model = cr10_bed.stl
bed_texture = cr10.svg
default_materials = Creality PLA @CREALITY; Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY
[printer_model:CR10SPRO]
name = Creality CR-10 S Pro
variants = 0.4
technology = FFF
family = CR
bed_model = cr10v2_bed.stl
bed_texture = cr10.svg
default_materials = Creality PLA @CREALITY; Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY
[printer_model:CR10SPROV2]
name = Creality CR-10 S Pro V2
variants = 0.4
technology = FFF
family = CR
bed_model = cr10v2_bed.stl
bed_texture = cr10.svg
default_materials = Creality PLA @CREALITY; Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY
[printer_model:CR10S4]
name = Creality CR-10 S4
variants = 0.4
technology = FFF
family = CR
bed_model = cr10s4_bed.stl
bed_texture = cr10s4.svg
default_materials = Creality PLA @CREALITY; Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY
[printer_model:CR10S5]
name = Creality CR-10 S5
variants = 0.4
technology = FFF
family = CR
bed_model = cr10s5_bed.stl
bed_texture = cr10s5.svg
default_materials = Creality PLA @CREALITY; Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY
[printer_model:CR20]
name = Creality CR-20
variants = 0.4
technology = FFF
family = CR
bed_model = ender3_bed.stl
bed_texture = cr20.svg
default_materials = Creality PLA @CREALITY; Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY
[printer_model:CR20PRO]
name = Creality CR-20 Pro
variants = 0.4
technology = FFF
family = CR
bed_model = ender3_bed.stl
bed_texture = cr20.svg
default_materials = Creality PLA @CREALITY; Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY
# All presets starting with asterisk, for example *common*, are intermediate and they will # All presets starting with asterisk, for example *common*, are intermediate and they will
# not make it into the user interface. # not make it into the user interface.
@ -143,6 +260,13 @@ wipe_tower_x = 170
wipe_tower_y = 140 wipe_tower_y = 140
xy_size_compensation = 0 xy_size_compensation = 0
[print:*0.08mm*]
inherits = *common*
layer_height = 0.08
perimeters = 3
bottom_solid_layers = 9
top_solid_layers = 11
[print:*0.10mm*] [print:*0.10mm*]
inherits = *common* inherits = *common*
layer_height = 0.1 layer_height = 0.1
@ -157,9 +281,9 @@ perimeters = 3
bottom_solid_layers = 6 bottom_solid_layers = 6
top_solid_layers = 7 top_solid_layers = 7
[print:*0.15mm*] [print:*0.16mm*]
inherits = *common* inherits = *common*
layer_height = 0.15 layer_height = 0.16
bottom_solid_layers = 5 bottom_solid_layers = 5
top_solid_layers = 7 top_solid_layers = 7
@ -176,30 +300,45 @@ top_infill_extrusion_width = 0.45
bottom_solid_layers = 3 bottom_solid_layers = 3
top_solid_layers = 4 top_solid_layers = 4
[print:0.10mm HIGHDETAIL @ENDER3] [print:*0.28mm*]
inherits = *common*
layer_height = 0.28
top_infill_extrusion_width = 0.45
bottom_solid_layers = 3
top_solid_layers = 4
[print:0.08mm SUPERDETAIL @CREALITY]
inherits = *0.08mm*
compatible_printers_condition = printer_model=~/(ENDER|CR).*/ and nozzle_diameter[0]==0.4
[print:0.10mm HIGHDETAIL @CREALITY]
inherits = *0.10mm* inherits = *0.10mm*
# alias = 0.10mm HIGHDETAIL renamed_from = "0.10mm HIGHDETAIL @ENDER3"
compatible_printers_condition = printer_model=~/ENDER.*/ and nozzle_diameter[0]==0.4 compatible_printers_condition = printer_model=~/(ENDER|CR).*/ and nozzle_diameter[0]==0.4
[print:0.12mm DETAIL @ENDER3] [print:0.12mm DETAIL @CREALITY]
inherits = *0.12mm* inherits = *0.12mm*
# alias = 0.12mm DETAIL renamed_from = "0.12mm DETAIL @ENDER3"
compatible_printers_condition = printer_model=~/ENDER.*/ and nozzle_diameter[0]==0.4 compatible_printers_condition = printer_model=~/(ENDER|CR).*/ and nozzle_diameter[0]==0.4
[print:0.15mm OPTIMAL @ENDER3] [print:0.16mm OPTIMAL @CREALITY]
inherits = *0.15mm* inherits = *0.16mm*
# alias = 0.15mm OPTIMAL renamed_from = "0.15mm OPTIMAL @ENDER3"; "0.15mm OPTIMAL @CREALITY"
compatible_printers_condition = printer_model=~/ENDER.*/ and nozzle_diameter[0]==0.4 compatible_printers_condition = printer_model=~/(ENDER|CR).*/ and nozzle_diameter[0]==0.4
[print:0.20mm NORMAL @ENDER3] [print:0.20mm NORMAL @CREALITY]
inherits = *0.20mm* inherits = *0.20mm*
# alias = 0.20mm NORMAL renamed_from = "0.20mm NORMAL @ENDER3"
compatible_printers_condition = printer_model=~/ENDER.*/ and nozzle_diameter[0]==0.4 compatible_printers_condition = printer_model=~/(ENDER|CR).*/ and nozzle_diameter[0]==0.4
[print:0.24mm DRAFT @ENDER3] [print:0.24mm DRAFT @CREALITY]
inherits = *0.24mm* inherits = *0.24mm*
# alias = 0.24mm DRAFT renamed_from = "0.24mm DRAFT @ENDER3"
compatible_printers_condition = printer_model=~/ENDER.*/ and nozzle_diameter[0]==0.4 compatible_printers_condition = printer_model=~/(ENDER|CR).*/ and nozzle_diameter[0]==0.4
[print:0.28mm SUPERDRAFT @CREALITY]
inherits = *0.28mm*
compatible_printers_condition = printer_model=~/(ENDER|CR).*/ and nozzle_diameter[0]==0.4
# Common filament preset # Common filament preset
[filament:*common*] [filament:*common*]
@ -218,22 +357,22 @@ compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_CREALITY.*/
[filament:*PLA*] [filament:*PLA*]
inherits = *common* inherits = *common*
bed_temperature = 40 bed_temperature = 60
fan_below_layer_time = 100 fan_below_layer_time = 100
filament_colour = #FF3232 filament_colour = #DDDDDD
filament_max_volumetric_speed = 15 filament_max_volumetric_speed = 15
filament_type = PLA filament_type = PLA
filament_density = 1.24 filament_density = 1.24
filament_cost = 20 filament_cost = 20
first_layer_bed_temperature = 40 first_layer_bed_temperature = 60
first_layer_temperature = 215 first_layer_temperature = 210
fan_always_on = 1 fan_always_on = 1
cooling = 1 cooling = 1
max_fan_speed = 100 max_fan_speed = 100
min_fan_speed = 100 min_fan_speed = 100
bridge_fan_speed = 100 bridge_fan_speed = 100
disable_fan_first_layers = 1 disable_fan_first_layers = 1
temperature = 210 temperature = 205
[filament:*PET*] [filament:*PET*]
inherits = *common* inherits = *common*
@ -241,12 +380,12 @@ bed_temperature = 70
cooling = 1 cooling = 1
disable_fan_first_layers = 3 disable_fan_first_layers = 3
fan_below_layer_time = 20 fan_below_layer_time = 20
filament_colour = #FF8000 filament_colour = #DDDDDD
filament_max_volumetric_speed = 8 filament_max_volumetric_speed = 8
filament_type = PETG filament_type = PETG
filament_density = 1.27 filament_density = 1.27
filament_cost = 30 filament_cost = 30
first_layer_bed_temperature =70 first_layer_bed_temperature = 70
first_layer_temperature = 240 first_layer_temperature = 240
fan_always_on = 1 fan_always_on = 1
max_fan_speed = 50 max_fan_speed = 50
@ -260,7 +399,7 @@ bed_temperature = 100
cooling = 0 cooling = 0
disable_fan_first_layers = 3 disable_fan_first_layers = 3
fan_below_layer_time = 20 fan_below_layer_time = 20
filament_colour = #3A80CA filament_colour = #DDDDDD
filament_max_volumetric_speed = 11 filament_max_volumetric_speed = 11
filament_type = ABS filament_type = ABS
filament_density = 1.04 filament_density = 1.04
@ -274,78 +413,173 @@ bridge_fan_speed = 30
top_fan_speed = 0 top_fan_speed = 0
temperature = 245 temperature = 245
[filament:Generic PLA @ENDER3] [filament:Generic PLA @CREALITY]
inherits = *PLA* inherits = *PLA*
# alias = Generic PLA renamed_from = "Generic PLA @ENDER3"
filament_vendor = Generic filament_vendor = Generic
[filament:Generic PETG @ENDER3] [filament:Generic PETG @CREALITY]
inherits = *PET* inherits = *PET*
renamed_from = "Generic PETG @ENDER3"
filament_vendor = Generic filament_vendor = Generic
[filament:Generic ABS @ENDER3] [filament:Generic ABS @CREALITY]
inherits = *ABS* inherits = *ABS*
# alias = Generic ABS renamed_from = "Generic ABS @ENDER3"
first_layer_bed_temperature = 90 first_layer_bed_temperature = 90
bed_temperature = 90 bed_temperature = 90
filament_vendor = Generic filament_vendor = Generic
[filament:Creality PLA @ENDER3] [filament:Creality PLA @CREALITY]
inherits = *PLA* inherits = *PLA*
# alias = Creality PLA renamed_from = "Creality PLA @ENDER3"
filament_vendor = Creality filament_vendor = Creality
temperature = 205 temperature = 200
bed_temperature = 40 bed_temperature = 60
first_layer_temperature = 210 first_layer_temperature = 205
first_layer_bed_temperature =40 first_layer_bed_temperature = 60
filament_colour = #42BDD8
[filament:Creality PETG @ENDER3] [filament:Creality PETG @CREALITY]
inherits = *PET* inherits = *PET*
# alias = Creality PETG renamed_from = "Creality PETG @ENDER3"
filament_vendor = Creality filament_vendor = Creality
temperature = 240 temperature = 240
bed_temperature = 70 bed_temperature = 70
first_layer_temperature = 240 first_layer_temperature = 240
first_layer_bed_temperature =70 first_layer_bed_temperature = 70
max_fan_speed = 40 max_fan_speed = 40
min_fan_speed = 20 min_fan_speed = 20
filament_colour = #42BDD8
[filament:Creality ABS @ENDER3] [filament:Creality ABS @CREALITY]
inherits = *ABS* inherits = *ABS*
# alias = Creality ABS renamed_from = "Creality ABS @ENDER3"
filament_vendor = Creality filament_vendor = Creality
temperature = 240 temperature = 240
bed_temperature = 90 bed_temperature = 90
first_layer_temperature = 240 first_layer_temperature = 240
first_layer_bed_temperature =90 first_layer_bed_temperature = 90
filament_colour = #42BDD8
[filament:Prusament PLA @ENDER3] [filament:Prusament PLA @CREALITY]
inherits = *PLA* inherits = *PLA*
# alias = Prusament PLA renamed_from = "Prusament PLA @ENDER3"
filament_vendor = Prusa Polymers filament_vendor = Prusa Polymers
temperature = 215 temperature = 210
bed_temperature = 40 bed_temperature = 60
first_layer_temperature = 215 first_layer_temperature = 215
first_layer_bed_temperature =40 first_layer_bed_temperature = 60
filament_cost = 24.99 filament_cost = 24.99
filament_density = 1.24 filament_density = 1.24
filament_colour = #F94D0C
[filament:Prusament PETG @ENDER3] [filament:Prusament PETG @CREALITY]
inherits = *PET* inherits = *PET*
# alias = Prusament PETG renamed_from = "Prusament PETG @ENDER3"
filament_vendor = Prusa Polymers filament_vendor = Prusa Polymers
temperature = 245 temperature = 245
bed_temperature = 70 bed_temperature = 70
first_layer_temperature = 245 first_layer_temperature = 245
first_layer_bed_temperature =70 first_layer_bed_temperature = 70
filament_cost = 24.99 filament_cost = 24.99
filament_density = 1.27 filament_density = 1.27
filament_colour = #F94D0C
[filament:AzureFilm PLA @CREALITY]
inherits = *PLA*
filament_vendor = AzureFilm
temperature = 210
bed_temperature = 60
first_layer_temperature = 215
first_layer_bed_temperature = 60
filament_cost = 19.97
filament_density = 1.24
filament_colour = #006AA6
[filament:Devil Design PLA @CREALITY]
inherits = *PLA*
filament_vendor = Devil Design
temperature = 215
bed_temperature = 60
first_layer_temperature = 215
first_layer_bed_temperature = 60
filament_cost = 19.00
filament_density = 1.24
filament_colour = #FF0000
[filament:Devil Design PLA (Galaxy) @CREALITY]
inherits = *PLA*
filament_vendor = Devil Design
temperature = 225
bed_temperature = 65
first_layer_temperature = 225
first_layer_bed_temperature = 65
filament_cost = 19.00
filament_density = 1.24
filament_colour = #FF0000
[filament:Extrudr PLA NX2 @CREALITY]
inherits = *PLA*
filament_vendor = Extrudr
temperature = 200
bed_temperature = 60
first_layer_temperature = 205
first_layer_bed_temperature = 60
filament_cost = 23.63
filament_density = 1.3
filament_colour = #3C4547
[filament:Real Filament PLA @CREALITY]
inherits = *PLA*
filament_vendor = Real Filament
temperature = 195
bed_temperature = 60
first_layer_temperature = 200
first_layer_bed_temperature = 60
filament_cost = 24.99
filament_density = 1.24
filament_colour = #007ABF
[filament:Velleman PLA @CREALITY]
inherits = *PLA*
filament_vendor = Velleman
temperature = 200
bed_temperature = 60
first_layer_temperature = 205
first_layer_bed_temperature = 60
filament_cost = 27.99
filament_density = 1.24
filament_colour = #7EA60D
[filament:3DJAKE ecoPLA @CREALITY]
inherits = *PLA*
filament_vendor = 3DJAKE
temperature = 200
bed_temperature = 60
first_layer_temperature = 205
first_layer_bed_temperature = 60
filament_cost = 21.99
filament_density = 1.24
filament_colour = #125467
[filament:123-3D Jupiter PLA @CREALITY]
inherits = *PLA*
filament_vendor = 123-3D
temperature = 200
bed_temperature = 60
first_layer_temperature = 205
first_layer_bed_temperature = 60
filament_cost = 19.50
filament_density = 1.24
filament_colour = #FFE200
# Common printer preset # Common printer preset
[printer:*common*] [printer:*common*]
printer_technology = FFF printer_technology = FFF
before_layer_gcode = ;BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n before_layer_gcode = ;BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n
between_objects_gcode = between_objects_gcode =
pause_print_gcode =
deretract_speed = 0 deretract_speed = 0
extruder_colour = #FFFF00 extruder_colour = #FFFF00
extruder_offset = 0x0 extruder_offset = 0x0
@ -373,8 +607,6 @@ max_layer_height = 0.3
min_layer_height = 0.07 min_layer_height = 0.07
max_print_height = 200 max_print_height = 200
nozzle_diameter = 0.4 nozzle_diameter = 0.4
octoprint_apikey =
octoprint_host =
printer_notes = printer_notes =
printer_settings_id = printer_settings_id =
retract_before_travel = 1 retract_before_travel = 1
@ -388,8 +620,6 @@ retract_lift_below = 0
retract_restart_extra = 0 retract_restart_extra = 0
retract_restart_extra_toolchange = 0 retract_restart_extra_toolchange = 0
retract_speed = 35 retract_speed = 35
serial_port =
serial_speed = 250000
single_extruder_multi_material = 0 single_extruder_multi_material = 0
toolchange_gcode = toolchange_gcode =
use_firmware_retraction = 0 use_firmware_retraction = 0
@ -404,12 +634,13 @@ default_filament_profile =
[printer:Creality Ender-3] [printer:Creality Ender-3]
inherits = *common* inherits = *common*
renamed_from = "Creality ENDER-3"
printer_model = ENDER3 printer_model = ENDER3
printer_variant = 0.4 printer_variant = 0.4
max_layer_height = 0.25 max_layer_height = 0.28
min_layer_height = 0.1 min_layer_height = 0.08
printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_ENDER3\nPRINTER_HAS_BOWDEN printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_ENDER3\nPRINTER_HAS_BOWDEN
bed_shape = 0x0,220x0,220x220,0x220 bed_shape = 3x3,228x3,228x228,3x228
max_print_height = 250 max_print_height = 250
machine_max_acceleration_e = 5000 machine_max_acceleration_e = 5000
machine_max_acceleration_extruding = 500 machine_max_acceleration_extruding = 500
@ -426,30 +657,137 @@ machine_max_jerk_x = 8
machine_max_jerk_y = 8 machine_max_jerk_y = 8
machine_max_jerk_z = 0.4 machine_max_jerk_z = 0.4
machine_min_extruding_rate = 0 machine_min_extruding_rate = 0
machine_min_travel_rate = 0 machine_min_travel_rate = 0
nozzle_diameter = 0.4 nozzle_diameter = 0.4
retract_before_travel = 2 retract_before_travel = 2
retract_length = 5 retract_length = 5
retract_speed = 60 retract_speed = 60
deretract_speed = 40 deretract_speed = 40
retract_before_wipe = 70% retract_before_wipe = 70%
default_print_profile = 0.15mm OPTIMAL @ENDER3 default_print_profile = 0.16mm OPTIMAL @CREALITY
default_filament_profile = Creality PLA @ENDER3 default_filament_profile = Creality PLA @CREALITY
start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all\nG1 Z2 F240\nG1 X2 Y10 F3000\nG1 Z0.28 F240\nG92 E0.0\nG1 Y190 E15.0 F1500.0 ; intro line\nG1 X2.3 F5000\nG1 Y10 E15.0 F1200.0 ; intro line\nG92 E0.0 start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all\nG1 Z2 F240\nG1 X2 Y10 F3000\nG1 Z0.28 F240\nG92 E0\nG1 Y190 E15 F1500 ; intro line\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E15 F1200 ; intro line\nG92 E0
end_gcode = M104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+10, max_print_height)} F600{endif} ; Move print head up\nG1 X0 Y200 F3000 ; present print\nM84 X Y E ; disable motors end_gcode = M104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+5, max_print_height)} F600{endif} ; Move print head up\nG1 X5 Y170 F3000 ; present print\n{if layer_z < max_print_height-10}G1 Z{z_offset+min(layer_z+70, max_print_height-10)} F600{endif} ; Move print head up\nM84 X Y E ; disable motors
[printer:*abl*] [printer:*fastabl*]
start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S150 ; set extruder temp for auto bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nG28 ; home all\nG29 ; auto bed levelling\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[first_layer_temperature] ; set extruder temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG1 Z0.28 F240\nG92 E0.0\nG1 Y190 E15.0 F1500.0 ; intro line\nG1 X2.3 F5000\nG1 Y10 E15.0 F1200.0 ; intro line\nG92 E0.0 start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S150 ; set extruder temp for auto bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nG28 ; home all\nG29 ; auto bed levelling\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[first_layer_temperature] ; set extruder temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG1 Z0.28 F240\nG92 E0\nG1 Y190 E15 F1500 ; intro line\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E15 F1200 ; intro line\nG92 E0
[printer:*slowabl*]
start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S150 ; set extruder temp for auto bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nG28 ; home all\nG29 ; auto bed levelling\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[first_layer_temperature] ; set extruder temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG1 Z0.28 F240\nG92 E0\nG1 Y190 E15 F1500 ; intro line\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E15 F1200 ; intro line\nG92 E0
[printer:*invertedz*]
end_gcode = M104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+5, max_print_height)} F600{endif} ; Move print bed down\nG1 X50 Y50 F3000 ; present print\n{if layer_z < max_print_height-10}G1 Z{z_offset+max_print_height-10} F600{endif} ; Move print bed down\nM84 X Y E ; disable motors
[printer:Creality Ender-3 BLTouch] [printer:Creality Ender-3 BLTouch]
inherits = Creality Ender-3; *abl* inherits = Creality Ender-3; *fastabl*
renamed_from = "Creality ENDER-3 BLTouch"
printer_model = ENDER3BLTOUCH printer_model = ENDER3BLTOUCH
[printer:Creality Ender-5]
inherits = Creality Ender-3; *invertedz*
retract_length = 6
bed_shape = 5x2.5,225x2.5,225x222.5,5x222.5
printer_model = ENDER5
printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_ENDER5\nPRINTER_HAS_BOWDEN
max_print_height = 300
[printer:Creality Ender-5 Plus]
inherits = Creality Ender-3; *slowabl*; *invertedz*
retract_length = 6
bed_shape = 5x5,355x5,355x355,5x355
printer_model = ENDER5PLUS
printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_ENDER5PLUS\nPRINTER_HAS_BOWDEN
max_print_height = 400
[printer:Creality Ender-2] [printer:Creality Ender-2]
inherits = Creality Ender-3 inherits = Creality Ender-3
renamed_from = "Creality ENDER-2"
bed_shape = 0x0,150x0,150x150,0x150 bed_shape = 0x0,150x0,150x150,0x150
printer_model = ENDER2 printer_model = ENDER2
printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_ENDER2\nPRINTER_HAS_BOWDEN printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_ENDER2\nPRINTER_HAS_BOWDEN
max_print_height = 200 max_print_height = 200
start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all\nG1 Z2 F240\nG1 X2 Y10 F3000\nG1 Z0.28 F240\nG92 E0.0\nG1 X15 Y135 E15.0 F1500.0 ; intro line\nG1 X2.3 F5000\nG1 Y10 E15.0 F1200.0 ; intro line\nG92 E0.0 start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all\nG1 Z2 F240\nG1 X2 Y10 F3000\nG1 Z0.28 F240\nG92 E0\nG1 X15 Y135 E15 F1500 ; intro line\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E15 F1200 ; intro line\nG92 E0
end_gcode = M104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+10, max_print_height)} F600{endif} ; Move print head up\nG1 X0 Y140 F3000 ; present print\nM84 X Y E ; disable motors end_gcode = M104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+5, max_print_height)} F600{endif} ; Move print head up\nG1 X5 Y140 F3000 ; present print\n{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+30, max_print_height)} F600{endif} ; Move print head up\nM84 X Y E ; disable motors
[printer:Creality CR-10 Mini]
inherits = Creality Ender-3
retract_length = 6
bed_shape = 2.5x5,2.5x225,302.5x225,302.5x5
printer_model = CR10MINI
printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_CR10MINI\nPRINTER_HAS_BOWDEN
max_print_height = 300
[printer:Creality CR-10]
inherits = Creality Ender-3
retract_length = 6
bed_shape = 5x5,305x5,305x305,5x305
printer_model = CR10
printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_CR10\nPRINTER_HAS_BOWDEN
max_print_height = 400
[printer:Creality CR-10 V2]
inherits = Creality Ender-3
retract_length = 6
bed_shape = 5x5,305x5,305x305,5x305
printer_model = CR10V2
printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_CR10V2\nPRINTER_HAS_BOWDEN
max_print_height = 400
[printer:Creality CR-10 V3]
inherits = Creality Ender-3
retract_length = 1
bed_shape = 5x5,305x5,305x305,5x305
printer_model = CR10V3
printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_CR10V3
max_print_height = 400
[printer:Creality CR-10 S]
inherits = Creality Ender-3
retract_length = 6
bed_shape = 5x5,305x5,305x305,5x305
printer_model = CR10S
printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_CR10S\nPRINTER_HAS_BOWDEN
max_print_height = 400
[printer:Creality CR-10 S Pro]
inherits = Creality Ender-3; *slowabl*
retract_length = 6
bed_shape = 0x0,300x0,300x300,0x300
printer_model = CR10SPRO
printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_CR10SPRO\nPRINTER_HAS_BOWDEN
max_print_height = 400
[printer:Creality CR-10 S Pro V2]
inherits = Creality Ender-3; *slowabl*
retract_length = 6
bed_shape = 5x5,305x5,305x305,5x305
printer_model = CR10SPROV2
printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_CR10SPROV2\nPRINTER_HAS_BOWDEN
max_print_height = 400
[printer:Creality CR-10 S4]
inherits = Creality Ender-3
retract_length = 6
bed_shape = 5x5,405x5,405x405,5x405
printer_model = CR10S4
printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_CR10S4\nPRINTER_HAS_BOWDEN
max_print_height = 400
[printer:Creality CR-10 S5]
inherits = Creality Ender-3
retract_length = 6
bed_shape = 5x5,505x5,505x505,5x505
printer_model = CR10S5
printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_CR10S5\nPRINTER_HAS_BOWDEN
max_print_height = 500
[printer:Creality CR-20]
inherits = Creality Ender-3
printer_model = CR20
printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_CR20\nPRINTER_HAS_BOWDEN
[printer:Creality CR-20 Pro]
inherits = Creality Ender-3; *fastabl*
retract_length = 4
printer_model = CR20PRO
printer_notes = Don't 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_CREALITY\nPRINTER_MODEL_CR20PRO\nPRINTER_HAS_BOWDEN

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="300mm" height="300mm" version="1.1" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<rect x=".25" y=".25" width="299.5" height="299.5" fill="none" stroke="#fff" stroke-width=".5"/>
</svg>

After

Width:  |  Height:  |  Size: 251 B

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="300mm" height="220mm" version="1.1" viewBox="0 0 300 220" xmlns="http://www.w3.org/2000/svg">
<rect x=".25" y=".25" width="299.5" height="219.5" fill="none" stroke="#fff" stroke-width=".5"/>
</svg>

After

Width:  |  Height:  |  Size: 251 B

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="400mm" height="400mm" version="1.1" viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg">
<rect x=".25" y=".25" width="399.5" height="399.5" fill="none" stroke="#fff" stroke-width=".5"/>
</svg>

After

Width:  |  Height:  |  Size: 251 B

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="500mm" height="500mm" version="1.1" viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg">
<rect x=".25" y=".25" width="499.5" height="499.5" fill="none" stroke="#fff" stroke-width=".5"/>
</svg>

After

Width:  |  Height:  |  Size: 251 B

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="225mm" height="225mm" version="1.1" viewBox="0 0 225 225" xmlns="http://www.w3.org/2000/svg">
<rect x=".25" y=".25" width="224.5" height="224.5" fill="none" stroke="#fff" stroke-width=".5"/>
</svg>

After

Width:  |  Height:  |  Size: 251 B

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="350mm" height="350mm" version="1.1" viewBox="0 0 350 350" xmlns="http://www.w3.org/2000/svg">
<rect x=".25" y=".25" width="349.5" height="349.5" fill="none" stroke="#fff" stroke-width=".5"/>
</svg>

After

Width:  |  Height:  |  Size: 251 B

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

@ -1,4 +1,12 @@
min_slic3r_version = 2.2.0-alpha3 min_slic3r_version = 2.2.0-alpha3
1.1.10 Updated firmware version.
1.1.9 Updated K values in filament profiles (linear advance). Added new filament profiles and SLA materials.
1.1.8 Updated start/end g-code scripts for MK3 family printer profiles (reduced extruder motor current for some print profiles). Added new filament and SLA material profiles.
1.1.7 Updated end g-code for MMU2 Single printer profiles. Added/updated filament and SLA material profiles.
1.1.6 Updated firmware version for MK2.5/S and MK3/S.
1.1.5 Updated MMU1 specific retraction settings for Prusament PC Blend
1.1.4 Added Prusament PC Blend filament profile.
1.1.3 Added SLA material and filament profile
1.1.2 Added renamed_from fields for PETG filaments to indicate that they were renamed from PET. 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 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-beta Updated for PrusaSlicer 2.2.0-beta
@ -11,6 +19,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.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 1.1.0 Filament aliases, Creality profiles and other goodies for PrusaSlicer 2.2.0-alpha0
min_slic3r_version = 2.1.1-beta0 min_slic3r_version = 2.1.1-beta0
1.0.10 Updated firmware version for MK2.5/S and MK3/S.
1.0.9 Updated firmware version for MK2.5/S and MK3/S.
1.0.8 Various changes in FFF profiles, new filaments/materials added. See changelog. 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.7 Updated layer height limits for MINI
1.0.6 Added Prusa MINI profiles 1.0.6 Added Prusa MINI profiles
@ -27,6 +37,8 @@ min_slic3r_version = 2.1.0-alpha0
1.0.0-alpha1 Added Prusament ASA profile 1.0.0-alpha1 Added Prusament ASA profile
1.0.0-alpha0 Filament specific retract for PET and similar copolymers, and for FLEX 1.0.0-alpha0 Filament specific retract for PET and similar copolymers, and for FLEX
min_slic3r_version = 1.42.0-alpha6 min_slic3r_version = 1.42.0-alpha6
0.8.9 Updated firmware version for MK2.5/S and MK3/S.
0.8.8 Updated firmware version for MK2.5/S and MK3/S.
0.8.7 Updated firmware version 0.8.7 Updated firmware version
0.8.6 Updated firmware version for MK2.5/S and MK3/S 0.8.6 Updated firmware version for MK2.5/S and MK3/S
0.8.5 Updated SL1 printer and material settings 0.8.5 Updated SL1 printer and material settings
@ -53,6 +65,8 @@ min_slic3r_version = 1.42.0-alpha
0.4.0-alpha3 Update of SLA profiles 0.4.0-alpha3 Update of SLA profiles
0.4.0-alpha2 First SLA profiles 0.4.0-alpha2 First SLA profiles
min_slic3r_version = 1.41.3-alpha min_slic3r_version = 1.41.3-alpha
0.4.12 Updated firmware version for MK2.5/S and MK3/S.
0.4.11 Updated firmware version for MK2.5/S and MK3/S.
0.4.10 Updated firmware version 0.4.10 Updated firmware version
0.4.9 Updated firmware version for MK2.5/S and MK3/S 0.4.9 Updated firmware version for MK2.5/S and MK3/S
0.4.8 MK2.5/3/S FW update 0.4.8 MK2.5/3/S FW update
@ -65,6 +79,7 @@ min_slic3r_version = 1.41.3-alpha
0.4.1 New MK2.5S and MK3S FW versions 0.4.1 New MK2.5S and MK3S FW versions
0.4.0 Changelog: https://github.com/prusa3d/Slic3r-settings/blob/master/live/PrusaResearch/changelog.txt 0.4.0 Changelog: https://github.com/prusa3d/Slic3r-settings/blob/master/live/PrusaResearch/changelog.txt
min_slic3r_version = 1.41.1 min_slic3r_version = 1.41.1
0.3.11 Updated firmware version for MK2.5/S and MK3/S.
0.3.10 Updated firmware version 0.3.10 Updated firmware version
0.3.9 Updated firmware version for MK2.5/S and MK3/S 0.3.9 Updated firmware version for MK2.5/S and MK3/S
0.3.8 MK2.5/3/S FW update 0.3.8 MK2.5/3/S FW update
@ -123,4 +138,4 @@ min_slic3r_version = 1.40.0-alpha
0.1.3 Fixed an incorrect position of the max_print_height parameter 0.1.3 Fixed an incorrect position of the max_print_height parameter
0.1.2 Wipe tower changes 0.1.2 Wipe tower changes
0.1.1 Minor print speed adjustments 0.1.1 Minor print speed adjustments
0.1.0 Initial 0.1.0 Initial

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,5 @@
min_slic3r_version = 2.3.0-alpha0 min_slic3r_version = 2.3.0-alpha3
0.0.1 Initial TriLAB bundle 0.0.3 Added DeltiQ 2, DeltiQ 2 Plus printers, 0.10mm, 0.20mm FLEX print profiles, updated print materials, flexprint extension support
min_slic3r_version = 2.3.0-alpha0
0.0.2 Added 0.15mm print profile
0.0.1 Initial TriLAB bundle

View File

@ -1,225 +1,378 @@
# DeltiQ presets for PrusaSlicer # Print profiles for the TriLAB printers
# https://github.com/prusa3d/PrusaSlicer-settings/pull/100 # based on https://github.com/trilab3d/PrusaSlicer-settings/tree/master/live/TriLAB
# based on https://github.com/trilab3d/Slicer-profiles/tree/deltiq/Slic3r_PE_1_41_3
[vendor] [vendor]
# Vendor name will be shown by the Config Wizard. # Vendor name will be shown by the Config Wizard.
name = TRILAB name = TriLAB
# Configuration version of this file. Config file will only be installed, if the config_version differs. # 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. # This means, the server may force the PrusaSlicer configuration to be downgraded.
config_version = 0.0.1 config_version = 0.0.3
# Where to get the updates from? # Where to get the updates from?
config_update_url = http://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/TriLAB/ config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/TriLAB/
# changelog_url = http://files.prusa3d.com/?latest=slicer-profiles&lng=%1% # changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
# The printer models will be shown by the Configuration Wizard in this order, # 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. # 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 name will be shown by the installation wizard.
[printer_model:DQM] [printer_model:DQ2]
name = TRILAB DeltiQ M name = DeltiQ 2
variants = 0.4 variants = 0.4
technology = FFF technology = FFF
bed_model = family = DeltiQ 2
bed_texture = bed_model = dq2_bed.stl
bed_texture = dq2_bed_texture.svg
default_materials = DeltiQ PLA; DeltiQ ASA; DeltiQ PET; DeltiQ ABS; DeltiQ CPE
[printer_model:DQ2P]
name = DeltiQ 2 Plus
variants = 0.4
technology = FFF
family = DeltiQ 2
bed_model = dq2_bed.stl
bed_texture = dq2_bed_texture.svg
default_materials = DeltiQ PLA; DeltiQ ASA; DeltiQ PET; DeltiQ ABS; DeltiQ CPE
[printer_model:DQ2+FP2]
name = DeltiQ 2 + FlexPrint 2
variants = 0.4
technology = FFF
family = DeltiQ 2
bed_model = dq2_bed.stl
bed_texture = dq2_bed_texture.svg
default_materials = DeltiQ FlexPrint 2 FLEX; DeltiQ FlexPrint 2 FLEX Smartfil; DeltiQ FlexPrint 2 PLA; DeltiQ FlexPrint 2 ASA; DeltiQ FlexPrint 2 PET; DeltiQ FlexPrint 2 ABS; DeltiQ FlexPrint 2 CPE
[printer_model:DQ2P+FP2]
name = DeltiQ 2 Plus + FlexPrint 2
variants = 0.4
technology = FFF
family = DeltiQ 2
bed_model = dq2_bed.stl
bed_texture = dq2_bed_texture.svg
default_materials = DeltiQ FlexPrint 2 FLEX; DeltiQ FlexPrint 2 FLEX Smartfil; DeltiQ FlexPrint 2 PLA; DeltiQ FlexPrint 2 ASA; DeltiQ FlexPrint 2 PET; DeltiQ FlexPrint 2 ABS; DeltiQ FlexPrint 2 CPE
[printer_model:DQ2+FP]
name = DeltiQ 2 + FlexPrint
variants = 0.4
technology = FFF
family = DeltiQ 2
bed_model = dq2_bed.stl
bed_texture = dq2_bed_texture.svg
default_materials = DeltiQ FlexPrint FLEX; DeltiQ FlexPrint PLA; DeltiQ FlexPrint ASA; DeltiQ FlexPrint PET; DeltiQ FlexPrint ABS; DeltiQ FlexPrint CPE
[printer_model:DQ2P+FP]
name = DeltiQ 2 Plus + FlexPrint
variants = 0.4
technology = FFF
family = DeltiQ 2
bed_model = dq2_bed.stl
bed_texture = dq2_bed_texture.svg
default_materials = DeltiQ FlexPrint FLEX; DeltiQ FlexPrint PLA; DeltiQ FlexPrint ASA; DeltiQ FlexPrint PET; DeltiQ FlexPrint ABS; DeltiQ FlexPrint CPE
[printer_model:DQM]
name = DeltiQ M
variants = 0.4
technology = FFF
family = DeltiQ
default_materials = DeltiQ PLA; DeltiQ ASA; DeltiQ PET; DeltiQ ABS; DeltiQ CPE default_materials = DeltiQ PLA; DeltiQ ASA; DeltiQ PET; DeltiQ ABS; DeltiQ CPE
[printer_model:DQL] [printer_model:DQL]
name = TRILAB DeltiQ L name = DeltiQ L
variants = 0.4 variants = 0.4
technology = FFF technology = FFF
bed_model = family = DeltiQ
bed_texture =
default_materials = DeltiQ PLA; DeltiQ ASA; DeltiQ PET; DeltiQ ABS; DeltiQ CPE default_materials = DeltiQ PLA; DeltiQ ASA; DeltiQ PET; DeltiQ ABS; DeltiQ CPE
[printer_model:DQXL] [printer_model:DQXL]
name = TRILAB DeltiQ XL name = DeltiQ XL
variants = 0.4 variants = 0.4
technology = FFF technology = FFF
bed_model = family = DeltiQ
bed_texture =
default_materials = DeltiQ PLA; DeltiQ ASA; DeltiQ PET; DeltiQ ABS; DeltiQ CPE default_materials = DeltiQ PLA; DeltiQ ASA; DeltiQ PET; DeltiQ ABS; DeltiQ CPE
# All presets starting with asterisk, for example *common*, are intermediate and they will # All presets starting with asterisk, for example *common*, are intermediate and they will
# not make it into the user interface. # not make it into the user interface.
[print:DeltiQ 0.2mm] [print:DeltiQ 0.20mm Normal]
avoid_crossing_perimeters = 0 avoid_crossing_perimeters = 0
bottom_solid_layers = 3 bottom_fill_pattern = rectilinear
bottom_solid_layers = 4
bottom_solid_min_thickness = 0.7
bridge_acceleration = 1000 bridge_acceleration = 1000
bridge_angle = 0 bridge_angle = 0
bridge_flow_ratio = 0.95 bridge_flow_ratio = 0.95
bridge_speed = 20 bridge_speed = 30
brim_width = 0 brim_width = 0
clip_multipart_objects = 0 clip_multipart_objects = 1
compatible_printers_condition = printer_notes=~/.*TRILAB.*/ compatible_printers =
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/
complete_objects = 0 complete_objects = 0
default_acceleration = 2000 default_acceleration = 2000
dont_support_bridges = 1 dont_support_bridges = 0
elefant_foot_compensation = 0 draft_shield = 0
ensure_vertical_shell_thickness = 1 elefant_foot_compensation = 0.2
external_fill_pattern = rectilinear ensure_vertical_shell_thickness = 0
external_perimeter_extrusion_width = 0.4 external_perimeter_extrusion_width = 0.45
external_perimeter_speed = 30 external_perimeter_speed = 30
external_perimeters_first = 0 external_perimeters_first = 0
extra_perimeters = 0 extra_perimeters = 0
extruder_clearance_height = 20 extruder_clearance_height = 60
extruder_clearance_radius = 20 extruder_clearance_radius = 45
extrusion_width = 0.4 extrusion_width = 0.45
fill_angle = 45 fill_angle = 45
fill_density = 15% fill_density = 20%
fill_pattern = gyroid fill_pattern = grid
first_layer_acceleration = 1000 first_layer_acceleration = 1000
first_layer_extrusion_width = 0.4 first_layer_extrusion_width = 0.42
first_layer_height = 0.3 first_layer_height = 0.2
first_layer_speed = 20 first_layer_speed = 20
gap_fill_speed = 50 gap_fill_speed = 40
gcode_comments = 0 gcode_comments = 0
gcode_label_objects = 0
infill_acceleration = 2000 infill_acceleration = 2000
infill_every_layers = 1 infill_every_layers = 1
infill_extruder = 1 infill_extruder = 1
infill_extrusion_width = 0.55 infill_extrusion_width = 0.45
infill_first = 0 infill_first = 0
infill_only_where_needed = 0 infill_only_where_needed = 0
infill_overlap = 25% infill_overlap = 25%
infill_speed = 50 infill_speed = 60
inherits =
interface_shells = 0 interface_shells = 0
ironing = 0
ironing_flowrate = 15%
ironing_spacing = 0.1
ironing_speed = 15
ironing_type = top
layer_height = 0.2 layer_height = 0.2
max_print_speed = 100 max_print_speed = 60
max_volumetric_extrusion_rate_slope_negative = 0 max_volumetric_speed = 0
max_volumetric_extrusion_rate_slope_positive = 0
max_volumetric_speed = 10
min_skirt_length = 4 min_skirt_length = 4
notes = notes =
only_retract_when_crossing_perimeters = 1 only_retract_when_crossing_perimeters = 1
ooze_prevention = 0 ooze_prevention = 0
output_filename_format = {input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}.gcode output_filename_format = {input_filename_base}_{printer_model}_{filament_type[0]}_{layer_height}mm_{print_time}.gcode
overhangs = 0 overhangs = 1
perimeter_acceleration = 1500 perimeter_acceleration = 1500
perimeter_extruder = 1 perimeter_extruder = 1
perimeter_extrusion_width = 0.4 perimeter_extrusion_width = 0.45
perimeter_speed = 40 perimeter_speed = 45
perimeters = 2 perimeters = 2
post_process = post_process =
print_settings_id = print_settings_id =
raft_layers = 0 raft_layers = 0
resolution = 0 resolution = 0
seam_position = nearest seam_position = nearest
single_extruder_multi_material_priming = 1 single_extruder_multi_material_priming = 0
skirt_distance = 2 skirt_distance = 3
skirt_height = 1 skirt_height = 2
skirts = 1 skirts = 1
slice_closing_radius = 0.049
small_perimeter_speed = 20 small_perimeter_speed = 20
solid_infill_below_area = 15 solid_infill_below_area = 70
solid_infill_every_layers = 0 solid_infill_every_layers = 0
solid_infill_extruder = 1 solid_infill_extruder = 1
solid_infill_extrusion_width = 0.4 solid_infill_extrusion_width = 0.45
solid_infill_speed = 50 solid_infill_speed = 60
spiral_vase = 0 spiral_vase = 0
standby_temperature_delta = -5 standby_temperature_delta = -5
support_material = 0 support_material = 0
support_material_angle = 0 support_material_angle = 40
support_material_auto = 1 support_material_auto = 1
support_material_buildplate_only = 0 support_material_buildplate_only = 0
support_material_contact_distance = 0.15 support_material_contact_distance = 0.1
support_material_enforce_layers = 0 support_material_enforce_layers = 0
support_material_extruder = 1 support_material_extruder = 0
support_material_extrusion_width = 0 support_material_extrusion_width = 0.35
support_material_interface_contact_loops = 0 support_material_interface_contact_loops = 0
support_material_interface_extruder = 1 support_material_interface_extruder = 0
support_material_interface_layers = 3 support_material_interface_layers = 4
support_material_interface_spacing = 0 support_material_interface_spacing = 0.4
support_material_interface_speed = 100% support_material_interface_speed = 100%
support_material_pattern = rectilinear support_material_pattern = rectilinear
support_material_spacing = 2.5 support_material_spacing = 2
support_material_speed = 50 support_material_speed = 50
support_material_synchronize_layers = 0 support_material_synchronize_layers = 0
support_material_threshold = 55 support_material_threshold = 55
support_material_with_sheath = 1 support_material_with_sheath = 0
support_material_xy_spacing = 100% support_material_xy_spacing = 0.6
thin_walls = 0 thin_walls = 0
threads = 4 threads = 12
top_fill_pattern = monotonic
top_infill_extrusion_width = 0.4 top_infill_extrusion_width = 0.4
top_solid_infill_speed = 30 top_solid_infill_speed = 40
top_solid_layers = 4 top_solid_layers = 5
top_solid_min_thickness = 0.7
travel_speed = 150 travel_speed = 150
wipe_tower = 0 wipe_tower = 0
wipe_tower_bridging = 10 wipe_tower_bridging = 10
wipe_tower_no_sparse_layers = 0
wipe_tower_rotation_angle = 0 wipe_tower_rotation_angle = 0
wipe_tower_width = 60 wipe_tower_width = 60
wipe_tower_x = 180 wipe_tower_x = 180
wipe_tower_y = 140 wipe_tower_y = 140
xy_size_compensation = 0 xy_size_compensation = 0
[print:DeltiQ 0.10mm Normal]
inherits = DeltiQ 0.20mm Normal
bottom_solid_layers = 7
bottom_solid_min_thickness = 0.7
bridge_flow_ratio = 0.7
bridge_speed = 30
ensure_vertical_shell_thickness = 1
layer_height = 0.1
first_layer_height = 0.2
top_solid_layers = 9
top_solid_min_thickness = 0.7
top_infill_extrusion_width = 0.4
fill_pattern = grid
fill_density = 20%
[print:DeltiQ 0.15mm Normal]
inherits = DeltiQ 0.20mm Normal
bottom_solid_layers = 5
bottom_solid_min_thickness = 0.7
bridge_flow_ratio = 0.7
bridge_speed = 30
ensure_vertical_shell_thickness = 1
layer_height = 0.15
first_layer_height = 0.2
top_solid_layers = 7
top_solid_min_thickness = 0.7
fill_pattern = grid
fill_density = 20%
[print:DeltiQ 0.20mm Vase]
inherits = DeltiQ 0.20mm Normal
perimeters = 1
top_solid_layers = 0
fill_density = 0
support_material = 0
spiral_vase = 1
ensure_vertical_shell_thickness = 1
thin_walls = 0
[print:DeltiQ 0.20mm FLEX]
inherits = DeltiQ 0.20mm Normal
avoid_crossing_perimeters = 0
bridge_flow_ratio = 0.90
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*FLEXPRINT.*/
only_retract_when_crossing_perimeters = 1
overhangs = 0
seam_position = nearest
thin_walls = 0
bridge_speed = 20
external_perimeter_speed = 20
first_layer_speed = 20
gap_fill_speed = 25
infill_speed = 30
perimeter_speed = 25
small_perimeter_speed = 20
solid_infill_speed = 30
support_material_contact_distance = 0.3
top_solid_infill_speed = 20
top_fill_pattern = rectilinear
fill_pattern = grid
fill_density = 25%
travel_speed = 200
max_print_speed = 30
complete_objects = 1
[filament:*DeltiQ common*] [filament:*DeltiQ common*]
bed_temperature = 90 compatible_printers =
bridge_fan_speed = 50 compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and !(printer_notes=~/.*FLEXPRINT.*/)
compatible_printers_condition = printer_notes=~/.*TRILAB.*/
cooling = 1
filament_vendor = Generic
disable_fan_first_layers = 3 disable_fan_first_layers = 3
end_filament_gcode = ""
extrusion_multiplier = 1 extrusion_multiplier = 1
fan_always_on = 1 filament_colour = #FF0000
fan_below_layer_time = 60
filament_colour = #FF3232
filament_cooling_final_speed = 3.4
filament_cooling_initial_speed = 2.2
filament_cooling_moves = 4
filament_cost = 0
filament_density = 1.25
filament_diameter = 1.75 filament_diameter = 1.75
filament_load_time = 0
filament_loading_speed = 28
filament_loading_speed_start = 3
filament_max_volumetric_speed = 10
filament_minimal_purge_on_wipe_tower = 15 filament_minimal_purge_on_wipe_tower = 15
filament_notes = "" 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_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_settings_id = "" filament_settings_id = ""
filament_soluble = 0 filament_soluble = 0
filament_toolchange_delay = 0 filament_toolchange_delay = 0
start_filament_gcode = "; FILAMENT_START_GCODE"
end_filament_gcode = "; FILAMENT_END_GCODE"
[filament:DeltiQ PET]
inherits = *DeltiQ common*
bed_temperature = 90
bridge_fan_speed = 50
cooling = 1
fan_always_on = 1
fan_below_layer_time = 20
filament_vendor = DevilDesign
filament_cost = 480
filament_density = 1.27
filament_deretract_speed = 25
filament_max_volumetric_speed = 8
filament_retract_before_travel = 2
filament_retract_before_wipe = 70%
filament_retract_layer_change = 1
filament_retract_length = 4.1
filament_retract_lift = 0.2
filament_retract_speed = 45
filament_type = PET filament_type = PET
filament_unload_time = 0 filament_wipe = 1
filament_unloading_speed = 90
filament_unloading_speed_start = 100
first_layer_bed_temperature = 90 first_layer_bed_temperature = 90
first_layer_temperature = 240 first_layer_temperature = 240
max_fan_speed = 50 max_fan_speed = 50
min_fan_speed = 30 min_fan_speed = 30
min_print_speed = 10 min_print_speed = 10
slowdown_below_layer_time = 5 slowdown_below_layer_time = 5
start_filament_gcode = ""
temperature = 245 temperature = 245
[filament:DeltiQ PET]
inherits = *DeltiQ common*
[filament:DeltiQ PLA] [filament:DeltiQ PLA]
inherits = *DeltiQ common* inherits = *DeltiQ common*
bed_temperature = 55 bed_temperature = 55
bridge_fan_speed = 100 bridge_fan_speed = 100
disable_fan_first_layers = 1 cooling = 1
fan_always_on = 1
fan_below_layer_time = 100
filament_vendor = Fillamentum
filament_cost = 767
filament_density = 1.24
filament_max_volumetric_speed = 8
filament_retract_before_travel = 2
filament_retract_before_wipe = 90%
filament_retract_layer_change = 1
filament_retract_length = 4.0
filament_retract_lift = 0.2
filament_retract_speed = 30
filament_type = PLA filament_type = PLA
filament_wipe = 1
first_layer_bed_temperature = 55 first_layer_bed_temperature = 55
first_layer_temperature = 215 first_layer_temperature = 220
max_fan_speed = 100 max_fan_speed = 100
min_fan_speed = 85 min_fan_speed = 100
min_print_speed = 10
slowdown_below_layer_time = 4 slowdown_below_layer_time = 4
temperature = 210 temperature = 215
[filament:DeltiQ ABS] [filament:DeltiQ ABS]
inherits = *DeltiQ common* inherits = *DeltiQ common*
bed_temperature = 100 bed_temperature = 100
bridge_fan_speed = 20 bridge_fan_speed = 25
filament_density = 1.04 cooling = 1
fan_always_on = 1
fan_below_layer_time = 20
filament_vendor = Fillamentum
filament_cost = 774
filament_density = 1.08
filament_max_volumetric_speed = 4
filament_retract_before_travel = 3
filament_retract_before_wipe = 70%
filament_retract_layer_change = 1
filament_retract_length = 4.1
filament_retract_lift = 0.2
filament_retract_speed = 25
filament_type = ABS filament_type = ABS
filament_wipe = 1
first_layer_bed_temperature = 100 first_layer_bed_temperature = 100
first_layer_temperature = 255 first_layer_temperature = 255
max_fan_speed = 20 max_fan_speed = 15
min_fan_speed = 5 min_fan_speed = 5
min_print_speed = 10
slowdown_below_layer_time = 15 slowdown_below_layer_time = 15
temperature = 255 temperature = 255
@ -232,11 +385,160 @@ temperature = 265
[filament:DeltiQ CPE] [filament:DeltiQ CPE]
inherits = *DeltiQ common* inherits = *DeltiQ common*
bed_temperature = 85 bed_temperature = 90
bridge_fan_speed = 50
cooling = 1
fan_always_on = 1
fan_below_layer_time = 20
filament_vendor = Fillamentum
filament_cost = 1214
filament_density = 1.25
filament_deretract_speed = 25
filament_max_volumetric_speed = 8
filament_retract_before_travel = 2
filament_retract_before_wipe = 70%
filament_retract_layer_change = 0
filament_retract_length = 4.3
filament_retract_lift = 0.2
filament_retract_speed = 45
filament_type = CPE filament_type = CPE
first_layer_bed_temperature = 85 filament_wipe = 1
first_layer_temperature = 260 first_layer_bed_temperature = 90
temperature = 265 first_layer_temperature = 265
max_fan_speed = 50
min_fan_speed = 30
min_print_speed = 10
slowdown_below_layer_time = 5
temperature = 260
[filament:DeltiQ FlexPrint 2 PET]
inherits = DeltiQ PET
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/
filament_retract_length = 1.4
filament_retract_speed = 35
filament_retract_before_wipe = 0%
[filament:DeltiQ FlexPrint 2 PLA]
inherits = DeltiQ PLA
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/
filament_retract_length = 1.2
filament_retract_speed = 28
[filament:DeltiQ FlexPrint 2 ABS]
inherits = DeltiQ ABS
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/
filament_retract_length = 0.8
filament_retract_speed = 25
[filament:DeltiQ FlexPrint 2 ASA]
inherits = DeltiQ ASA
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/
[filament:DeltiQ FlexPrint 2 CPE]
inherits = DeltiQ CPE
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/
filament_retract_length = 0.8
filament_retract_speed = 35
filament_deretract_speed = 0
filament_retract_before_wipe = 0%
[filament:DeltiQ FlexPrint 2 FLEX]
inherits = *DeltiQ common*
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/
bed_temperature = 50
bridge_fan_speed = 80
cooling = 1
disable_fan_first_layers = 1
extrusion_multiplier = 1.07
fan_always_on = 1
fan_below_layer_time = 20
filament_vendor = Fillamentum
filament_cost = 1870
filament_density = 1.22
filament_deretract_speed = 0
filament_max_volumetric_speed = 2.9
filament_retract_before_travel = 1
filament_retract_before_wipe = 70%
filament_retract_layer_change = 0
filament_retract_length = 1.6
filament_retract_lift = 0.2
filament_retract_restart_extra = nil
filament_retract_speed = 20
filament_type = FLEX
filament_wipe = 1
first_layer_bed_temperature = 50
first_layer_temperature = 225
max_fan_speed = 50
min_fan_speed = 30
min_print_speed = 5
slowdown_below_layer_time = 4
temperature = 225
[filament:DeltiQ FlexPrint 2 FLEX Smartfil]
inherits = *DeltiQ common*
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/
bed_temperature = 50
bridge_fan_speed = 80
cooling = 0
disable_fan_first_layers = 3
extrusion_multiplier = 1.07
fan_always_on = 1
fan_below_layer_time = 20
filament_vendor = Smart Materials 3D
filament_cost = 1209
filament_density = 1.21
filament_deretract_speed = 0
filament_max_volumetric_speed = 2.5
filament_retract_before_travel = 1
filament_retract_before_wipe = nil
filament_retract_layer_change = 0
filament_retract_length = 1.2
filament_retract_lift = 0.2
filament_retract_restart_extra = nil
filament_retract_speed = 20
filament_type = FLEX
filament_wipe = 0
first_layer_bed_temperature = 50
first_layer_temperature = 240
max_fan_speed = 50
min_fan_speed = 50
min_print_speed = 10
slowdown_below_layer_time = 4
temperature = 240
[filament:DeltiQ FlexPrint PET]
inherits = DeltiQ PET
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT1.*/
filament_retract_length = 0.7
filament_retract_speed = 25
[filament:DeltiQ FlexPrint PLA]
inherits = DeltiQ PLA
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT1.*/
filament_retract_length = 0.7
filament_retract_speed = 28
[filament:DeltiQ FlexPrint ABS]
inherits = DeltiQ ABS
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT1.*/
filament_retract_length = 0.7
filament_retract_speed = 25
[filament:DeltiQ FlexPrint ASA]
inherits = DeltiQ ASA
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT1.*/
filament_retract_length = 0.7
filament_retract_speed = 25
[filament:DeltiQ FlexPrint CPE]
inherits = DeltiQ CPE
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT1.*/
filament_retract_length = 0.7
filament_retract_speed = 25
filament_deretract_speed = 0
filament_retract_before_wipe = 0%
[printer:*DeltiQ*] [printer:*DeltiQ*]
@ -246,32 +548,16 @@ before_layer_gcode = ;BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]
between_objects_gcode = between_objects_gcode =
cooling_tube_length = 5 cooling_tube_length = 5
cooling_tube_retraction = 91.5 cooling_tube_retraction = 91.5
default_filament_profile = "" default_filament_profile = "DeltiQ PLA"
default_print_profile = default_print_profile = DeltiQ 0.20mm Normal
deretract_speed = 25 deretract_speed = 0
end_gcode = ;END\nM104 S0 ; Turn extruder heater off\nM140 S0 ; Turn bed heater off\nG28 ; Home all axes\nM84 S5 ; Stop all axes and hold inidle for 5 seconds\nG90 ; Absolute positioning end_gcode = ;END\nM104 S0 ; Turn extruder heater off\nM140 S0 ; Turn bed heater off\nG28 ; Home all axes\nM84 S5 ; Stop all axes and hold inidle for 5 seconds\nG90 ; Absolute positioning
extra_loading_move = -2 extra_loading_move = -2
extruder_colour = "" extruder_colour = #FF0000
extruder_offset = 0x0 extruder_offset = 0x0
gcode_flavor = repetier gcode_flavor = repetier
host_type = octoprint host_type = octoprint
layer_gcode = ;AFTER_LAYER_CHANGE\nM117 layer [layer_num] at [layer_z]mm\n;[layer_z]\n layer_gcode = ;AFTER_LAYER_CHANGE\nM117 layer [layer_num] at [layer_z]mm\n;[layer_z]\n
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 = 500,200
machine_max_feedrate_e = 120,120
machine_max_feedrate_x = 500,200
machine_max_feedrate_y = 500,200
machine_max_feedrate_z = 12,12
machine_max_jerk_e = 2.5,2.5
machine_max_jerk_x = 10,10
machine_max_jerk_y = 10,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.25 max_layer_height = 0.25
max_print_height = 320 max_print_height = 320
min_layer_height = 0.15 min_layer_height = 0.15
@ -279,36 +565,99 @@ nozzle_diameter = 0.4
parking_pos_retraction = 92 parking_pos_retraction = 92
print_host = print_host =
printer_model = printer_model =
printer_notes = TRILAB printer_notes = Don't 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_TRILAB\nPRINTER_FAMILY_DQ\nPRINTER_MODEL_DQL
printer_settings_id = printer_settings_id =
printer_variant = printer_variant =
printer_vendor = printer_vendor = TriLAB Group s.r.o.
printhost_apikey = printhost_apikey =
printhost_cafile = printhost_cafile =
remaining_times = 0 remaining_times = 0
retract_before_travel = 2 retract_before_travel = 3
retract_before_wipe = 100% retract_before_wipe = 100%
retract_layer_change = 1 retract_layer_change = 1
retract_length = 4.1 retract_length = 4.0
retract_length_toolchange = 10 retract_length_toolchange = 10
retract_lift = 0.3 retract_lift = 0.2
retract_lift_above = 0 retract_lift_above = 0
retract_lift_below = 0 retract_lift_below = 319
retract_restart_extra = 0 retract_restart_extra = 0
retract_restart_extra_toolchange = 0 retract_restart_extra_toolchange = 0
retract_speed = 33 retract_speed = 30
serial_port = serial_port =
serial_speed = 250000 serial_speed = 250000
silent_mode = 1 silent_mode = 0
single_extruder_multi_material = 0 single_extruder_multi_material = 0
start_gcode = ;START\nM220 S100 ; Set feedmultiply back to 100percent\nG90 ; Absolute positioning\nM83 ; Relative extruder\nM107 ; Layer fan OFF\nM190 S[first_layer_bed_temperature] ; Set bed temperature and wait\nM104 S[first_layer_temperature] ; Set extruder temperature\nG28 ; Home all axes\nG33 ; auto leveling rutine\nG1 X-62 Y-108 Z0.3 F6000 ; Go to purge position start\nG92 E0 ; Zero extruder\nM109 S[first_layer_temperature] ; Set and wait - hotend temperature\nG3 X62 Y-108 I62 J108 E10 F200 ; Go ARC to purge end\nG92 E0 ; Zero extruder start_gcode = ;START\nM220 S100 ; Set feedmultiply back to 100percent\nG90 ; Absolute positioning\nM83 ; Relative extruder\nM107 ; Layer fan OFF\nM190 S[first_layer_bed_temperature] ; Set bed temperature and wait\nM104 S[first_layer_temperature] ; Set extruder temperature\nG28 ; Home all axes\nG33 ; auto leveling rutine\nG1 X-62 Y-108 Z0.3 F6000 ; Go to purge position start\nG92 E0 ; Zero extruder\nM109 S[first_layer_temperature] ; Set and wait - hotend temperature\nG3 X62 Y-108 I62 J108 E10 F200 ; Go ARC to purge end\nG92 E0 ; Zero extruder
thumbnails =
toolchange_gcode = toolchange_gcode =
use_firmware_retraction = 0 use_firmware_retraction = 0
use_relative_e_distances = 1 use_relative_e_distances = 1
use_volumetric_e = 0 use_volumetric_e = 0
variable_layer_height = 0 variable_layer_height = 0
wipe = 0 wipe = 1
z_offset = 0 z_offset = 0
[printer:*DeltiQ 2*]
inherits = *DeltiQ*
before_layer_gcode = ; BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n
end_gcode = ; END_GCODE\n\nM140 S0 ; Turn off bed\n\nG28 ; Home\n\nM104 S0 ; Turn off extruder\nM107 ; Turn off fan\n\nG90 ; Absolute positioning\nM220 S100 ; Feedmultiply back to 100percent\n\nM84 S5; Disable motors
gcode_flavor = reprap
layer_gcode = ; AFTER_LAYER_CHANGE\n;[layer_z]
pause_print_gcode = M0
start_gcode = ; START_GCODE\n\nM220 S100 ; Set feedmultiply back to 100percent\n\nT0 ; Select Titan extruder\n\nG90 ; Absolute positioning\nM83; Relative Extruder\n\nM190 S[first_layer_bed_temperature] ; Set and wait - bed temperature\nM104 S[first_layer_temperature]\n\nG28 ; Home all axes\nG32 ; Probe Z and calculate Z plane\n\nG29 ; Mesh bed probe\n\nG1009 ; Go ARC to purge end\n\nG92 E0 ; Zero extruder
printer_notes = Don't 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_TRILAB\nPRINTER_FAMILY_DQ\nPRINTER_MODEL_DQ2
[printer:*DeltiQ 2 FlexPrint*]
inherits = *DeltiQ 2*
start_gcode = ; START_GCODE\n\nM220 S100 ; Set feedmultiply back to 100percent\n\nT1 ; Select FlexPrint extruder\n\nG90 ; Absolute positioning\nM83; Relative Extruder\n\nM190 S[first_layer_bed_temperature] ; Set and wait - bed temperature\nM104 S[first_layer_temperature]\n\nG28 ; Home all axes\nG32 ; Probe Z and calculate Z plane\n\nG29 ; Mesh bed probe\n\nG1009 ; Go ARC to purge end\n\nG92 E0 ; Zero extruder
default_print_profile = DeltiQ 0.20mm FLEX
default_filament_profile = "DeltiQ FlexPrint 2 FLEX"
retract_length = 0.7
retract_speed = 25
printer_notes = Don't 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_TRILAB\nPRINTER_FAMILY_DQ\nPRINTER_MODEL_DQ2+FP\nFLEXPRINT1
[printer:*DeltiQ 2 FlexPrint 2*]
inherits = *DeltiQ 2 FlexPrint*
default_filament_profile = "DeltiQ FlexPrint 2 FLEX"
retract_length = 0.8
retract_speed = 25
printer_notes = Don't 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_TRILAB\nPRINTER_FAMILY_DQ\nPRINTER_MODEL_DQ2+FP\nFLEXPRINT2
[printer:DeltiQ 2]
inherits = *DeltiQ 2*
printer_model = DQ2
printer_variant = 0.4
max_print_height = 320
[printer:DeltiQ 2 Plus]
inherits = *DeltiQ 2*
printer_model = DQ2P
printer_variant = 0.4
max_print_height = 500
[printer:DeltiQ 2 + FlexPrint 2]
inherits = *DeltiQ 2 FlexPrint 2*
printer_model = DQ2+FP2
printer_variant = 0.4
max_print_height = 320
[printer:DeltiQ 2 Plus + FlexPrint 2]
inherits = *DeltiQ 2 FlexPrint 2*
printer_model = DQ2P+FP2
printer_variant = 0.4
max_print_height = 500
[printer:DeltiQ 2 + FlexPrint]
inherits = *DeltiQ 2 FlexPrint*
printer_model = DQ2+FP
printer_variant = 0.4
max_print_height = 320
[printer:DeltiQ 2 Plus + FlexPrint]
inherits = *DeltiQ 2 FlexPrint*
printer_model = DQ2P+FP
printer_variant = 0.4
max_print_height = 500
[printer:DeltiQ L] [printer:DeltiQ L]
inherits = *DeltiQ* inherits = *DeltiQ*
@ -338,6 +687,6 @@ retract_length = 4.5
retract_speed = 35 retract_speed = 35
[presets] [presets]
print = DeltiQ 0.2mm print = DeltiQ 0.20mm Normal
printer = DeltiQ L printer = DeltiQ 2
filament = DeltiQ PLA filament = DeltiQ PLA

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

View File

@ -1,11 +1,22 @@
#version 110 #version 110
uniform bool use_fixed_screen_size;
uniform float zoom; uniform float zoom;
uniform float point_size; uniform float point_size;
uniform float near_plane_height; uniform float near_plane_height;
float fixed_screen_size()
{
return point_size;
}
float fixed_world_size()
{
return (gl_Position.w == 1.0) ? zoom * near_plane_height * point_size : near_plane_height * point_size / gl_Position.w;
}
void main() void main()
{ {
gl_Position = ftransform(); gl_Position = ftransform();
gl_PointSize = (gl_Position.w == 1.0) ? zoom * near_plane_height * point_size : near_plane_height * point_size / gl_Position.w; gl_PointSize = use_fixed_screen_size ? fixed_screen_size() : fixed_world_size();
} }

View File

@ -1,11 +1,22 @@
#version 120 #version 120
uniform bool use_fixed_screen_size;
uniform float zoom; uniform float zoom;
uniform float point_size; uniform float point_size;
uniform float near_plane_height; uniform float near_plane_height;
float fixed_screen_size()
{
return point_size;
}
float fixed_world_size()
{
return (gl_Position.w == 1.0) ? zoom * near_plane_height * point_size : near_plane_height * point_size / gl_Position.w;
}
void main() void main()
{ {
gl_Position = ftransform(); gl_Position = ftransform();
gl_PointSize = (gl_Position.w == 1.0) ? zoom * near_plane_height * point_size : near_plane_height * point_size / gl_Position.w; gl_PointSize = use_fixed_screen_size ? fixed_screen_size() : fixed_world_size();
} }

View File

@ -138,7 +138,6 @@ int CLI::run(int argc, char **argv)
m_print_config.apply(config); m_print_config.apply(config);
} }
#if ENABLE_GCODE_VIEWER
// are we starting as gcodeviewer ? // are we starting as gcodeviewer ?
for (auto it = m_actions.begin(); it != m_actions.end(); ++it) { for (auto it = m_actions.begin(); it != m_actions.end(); ++it) {
if (*it == "gcodeviewer") { if (*it == "gcodeviewer") {
@ -148,10 +147,8 @@ int CLI::run(int argc, char **argv)
break; break;
} }
} }
#endif // ENABLE_GCODE_VIEWER
// Read input file(s) if any. // Read input file(s) if any.
#if ENABLE_GCODE_VIEWER
for (const std::string& file : m_input_files) { for (const std::string& file : m_input_files) {
std::string ext = boost::filesystem::path(file).extension().string(); std::string ext = boost::filesystem::path(file).extension().string();
if (ext == ".gcode" || ext == ".g") { if (ext == ".gcode" || ext == ".g") {
@ -162,7 +159,6 @@ int CLI::run(int argc, char **argv)
} }
} }
if (!start_as_gcodeviewer) { if (!start_as_gcodeviewer) {
#endif // ENABLE_GCODE_VIEWER
for (const std::string& file : m_input_files) { for (const std::string& file : m_input_files) {
if (!boost::filesystem::exists(file)) { if (!boost::filesystem::exists(file)) {
boost::nowide::cerr << "No such file: " << file << std::endl; boost::nowide::cerr << "No such file: " << file << std::endl;
@ -195,9 +191,7 @@ int CLI::run(int argc, char **argv)
} }
m_models.push_back(model); m_models.push_back(model);
} }
#if ENABLE_GCODE_VIEWER
} }
#endif // ENABLE_GCODE_VIEWER
// Apply command line options to a more specific DynamicPrintConfig which provides normalize() // Apply command line options to a more specific DynamicPrintConfig which provides normalize()
// (command line options override --load files) // (command line options override --load files)
@ -504,11 +498,7 @@ int CLI::run(int argc, char **argv)
print->process(); print->process();
if (printer_technology == ptFFF) { if (printer_technology == ptFFF) {
// The outfile is processed by a PlaceholderParser. // The outfile is processed by a PlaceholderParser.
#if ENABLE_GCODE_VIEWER
outfile = fff_print.export_gcode(outfile, nullptr, nullptr); outfile = fff_print.export_gcode(outfile, nullptr, nullptr);
#else
outfile = fff_print.export_gcode(outfile, nullptr);
#endif // ENABLE_GCODE_VIEWER
outfile_final = fff_print.print_statistics().finalize_output_path(outfile); outfile_final = fff_print.print_statistics().finalize_output_path(outfile);
} else { } else {
outfile = sla_print.output_filepath(outfile); outfile = sla_print.output_filepath(outfile);
@ -559,11 +549,6 @@ int CLI::run(int argc, char **argv)
<< " (" << print.total_extruded_volume()/1000 << "cm3)" << std::endl; << " (" << print.total_extruded_volume()/1000 << "cm3)" << std::endl;
*/ */
} }
#if !ENABLE_GCODE_VIEWER
} else if (opt_key == "gcodeviewer") {
start_gui = true;
start_as_gcodeviewer = true;
#endif // !ENABLE_GCODE_VIEWER
} else { } else {
boost::nowide::cerr << "error: option not supported yet: " << opt_key << std::endl; boost::nowide::cerr << "error: option not supported yet: " << opt_key << std::endl;
return 1; return 1;

View File

@ -42,10 +42,16 @@
#include <linux/hidraw.h> #include <linux/hidraw.h>
#include <linux/version.h> #include <linux/version.h>
#include <linux/input.h> #include <linux/input.h>
#include <libudev.h>
#include "hidapi.h" #include "hidapi.h"
// Declare udev structures needed in this module. They are passed by pointers
// to udev functions and not used directly.
struct udev_device;
struct udev_list_entry;
struct udev_enumerate;
struct udev;
typedef const char* (*hid_wrapper_udev_device_get_devnode_type)(struct udev_device *udev_device); typedef const char* (*hid_wrapper_udev_device_get_devnode_type)(struct udev_device *udev_device);
typedef struct udev_device* (*hid_wrapper_udev_device_get_parent_with_subsystem_devtype_type)(struct udev_device *udev_device, const char *subsystem, const char *devtype); typedef struct udev_device* (*hid_wrapper_udev_device_get_parent_with_subsystem_devtype_type)(struct udev_device *udev_device, const char *subsystem, const char *devtype);
typedef const char* (*hid_wrapper_udev_device_get_sysattr_value_type)(struct udev_device *udev_device, const char *sysattr); typedef const char* (*hid_wrapper_udev_device_get_sysattr_value_type)(struct udev_device *udev_device, const char *sysattr);

View File

@ -7,4 +7,6 @@ THIS DIRECTORY CONTAINS THE imgui-1.75 58b3e02 SOURCE DISTRIBUTION.
Customized with the following commits: Customized with the following commits:
042880ba2df913916b2cc77f7bb677e07bfd2c58 042880ba2df913916b2cc77f7bb677e07bfd2c58
67c55c74901f1d337ef08f2090a87cfb4263bb0f 67c55c74901f1d337ef08f2090a87cfb4263bb0f
a94c952b40d36b1505fb77b87c0dd739e1034659 a94c952b40d36b1505fb77b87c0dd739e1034659
3ca3a544a87cc569b69351a77996c287763388a5
6586a46ea23e86d54d228c55c63ca55680d25d56

View File

@ -113,14 +113,16 @@ namespace ImGui
const char PrinterSlaIconMarker = 0x6; const char PrinterSlaIconMarker = 0x6;
const char FilamentIconMarker = 0x7; const char FilamentIconMarker = 0x7;
const char MaterialIconMarker = 0x8; const char MaterialIconMarker = 0x8;
const char CloseIconMarker = 0xB; const char CloseNotifButton = 0xB;
const char CloseIconHoverMarker = 0xC; const char CloseNotifHoverButton = 0xC;
// const char TimerDotMarker = 0xE; // const char TimerDotMarker = 0xE;
// const char TimerDotEmptyMarker = 0xF; // const char TimerDotEmptyMarker = 0xF;
const char MinimalizeMarker = 0xE; const char MinimalizeButton = 0xE;
const char MinimalizeHoverMarker = 0xF; const char MinimalizeHoverButton = 0xF;
const char WarningMarker = 0x10; const char WarningMarker = 0x10;
const char ErrorMarker = 0x11; const char ErrorMarker = 0x11;
const char EjectButton = 0x12;
const char EjectHoverButton = 0x13;
// void MyFunction(const char* name, const MyMatrix44& v); // void MyFunction(const char* name, const MyMatrix44& v);
} }

View File

@ -38,9 +38,7 @@ void AppConfig::reset()
// Override missing or keys with their defaults. // Override missing or keys with their defaults.
void AppConfig::set_defaults() void AppConfig::set_defaults()
{ {
#if ENABLE_GCODE_VIEWER
if (m_mode == EAppMode::Editor) { if (m_mode == EAppMode::Editor) {
#endif // ENABLE_GCODE_VIEWER
// Reset the empty fields to defaults. // Reset the empty fields to defaults.
if (get("autocenter").empty()) if (get("autocenter").empty())
set("autocenter", "0"); set("autocenter", "0");
@ -57,6 +55,11 @@ void AppConfig::set_defaults()
if (get("show_incompatible_presets").empty()) if (get("show_incompatible_presets").empty())
set("show_incompatible_presets", "0"); set("show_incompatible_presets", "0");
if (get("show_drop_project_dialog").empty())
set("show_drop_project_dialog", "1");
if (get("drop_project_action").empty())
set("drop_project_action", "1");
if (get("version_check").empty()) if (get("version_check").empty())
set("version_check", "1"); set("version_check", "1");
if (get("preset_update").empty()) if (get("preset_update").empty())
@ -98,14 +101,6 @@ void AppConfig::set_defaults()
if (get("auto_toolbar_size").empty()) if (get("auto_toolbar_size").empty())
set("auto_toolbar_size", "100"); set("auto_toolbar_size", "100");
#if !ENABLE_GCODE_VIEWER
if (get("use_perspective_camera").empty())
set("use_perspective_camera", "1");
if (get("use_free_camera").empty())
set("use_free_camera", "0");
#endif // !ENABLE_GCODE_VIEWER
#if ENABLE_ENVIRONMENT_MAP #if ENABLE_ENVIRONMENT_MAP
if (get("use_environment_map").empty()) if (get("use_environment_map").empty())
set("use_environment_map", "0"); set("use_environment_map", "0");
@ -113,7 +108,6 @@ void AppConfig::set_defaults()
if (get("use_inches").empty()) if (get("use_inches").empty())
set("use_inches", "0"); set("use_inches", "0");
#if ENABLE_GCODE_VIEWER
} }
if (get("seq_top_layer_only").empty()) if (get("seq_top_layer_only").empty())
@ -124,7 +118,9 @@ void AppConfig::set_defaults()
if (get("use_free_camera").empty()) if (get("use_free_camera").empty())
set("use_free_camera", "0"); set("use_free_camera", "0");
#endif // ENABLE_GCODE_VIEWER
if (get("reverse_mouse_wheel_zoom").empty())
set("reverse_mouse_wheel_zoom", "0");
if (get("show_splash_screen").empty()) if (get("show_splash_screen").empty())
set("show_splash_screen", "1"); set("show_splash_screen", "1");
@ -205,6 +201,20 @@ std::string AppConfig::load()
m_legacy_datadir = ini_ver < Semver(1, 40, 0); m_legacy_datadir = ini_ver < Semver(1, 40, 0);
} }
// Legacy conversion
if (m_mode == EAppMode::Editor) {
// Convert [extras] "physical_printer" to [presets] "physical_printer",
// remove the [extras] section if it becomes empty.
if (auto it_section = m_storage.find("extras"); it_section != m_storage.end()) {
if (auto it_physical_printer = it_section->second.find("physical_printer"); it_physical_printer != it_section->second.end()) {
m_storage["presets"]["physical_printer"] = it_physical_printer->second;
it_section->second.erase(it_physical_printer);
}
if (it_section->second.empty())
m_storage.erase(it_section);
}
}
// Override missing or keys with their defaults. // Override missing or keys with their defaults.
this->set_defaults(); this->set_defaults();
m_dirty = false; m_dirty = false;
@ -213,11 +223,12 @@ std::string AppConfig::load()
void AppConfig::save() void AppConfig::save()
{ {
#ifndef __APPLE__ {
// Apple does not implement thread_getname_np() correctly. // Returns "undefined" if the thread naming functionality is not supported by the operating system.
if (get_current_thread_name() != "slic3r_main") std::optional<std::string> current_thread_name = get_current_thread_name();
throw CriticalException("Calling AppConfig::save() from a worker thread!"); if (current_thread_name && *current_thread_name != "slic3r_main")
#endif throw CriticalException("Calling AppConfig::save() from a worker thread!");
}
// The config is first written to a file with a PID suffix and then moved // The config is first written to a file with a PID suffix and then moved
// to avoid race conditions with multiple instances of Slic3r // to avoid race conditions with multiple instances of Slic3r
@ -226,14 +237,10 @@ void AppConfig::save()
boost::nowide::ofstream c; boost::nowide::ofstream c;
c.open(path_pid, std::ios::out | std::ios::trunc); c.open(path_pid, std::ios::out | std::ios::trunc);
#if ENABLE_GCODE_VIEWER
if (m_mode == EAppMode::Editor) if (m_mode == EAppMode::Editor)
c << "# " << Slic3r::header_slic3r_generated() << std::endl; c << "# " << Slic3r::header_slic3r_generated() << std::endl;
else else
c << "# " << Slic3r::header_gcodeviewer_generated() << std::endl; c << "# " << Slic3r::header_gcodeviewer_generated() << std::endl;
#else
c << "# " << Slic3r::header_slic3r_generated() << std::endl;
#endif // ENABLE_GCODE_VIEWER
// Make sure the "no" category is written first. // Make sure the "no" category is written first.
for (const std::pair<std::string, std::string> &kvp : m_storage[""]) for (const std::pair<std::string, std::string> &kvp : m_storage[""])
c << kvp.first << " = " << kvp.second << std::endl; c << kvp.first << " = " << kvp.second << std::endl;
@ -427,21 +434,18 @@ void AppConfig::reset_selections()
it->second.erase("sla_print"); it->second.erase("sla_print");
it->second.erase("sla_material"); it->second.erase("sla_material");
it->second.erase("printer"); it->second.erase("printer");
it->second.erase("physical_printer");
m_dirty = true; m_dirty = true;
} }
} }
std::string AppConfig::config_path() std::string AppConfig::config_path()
{ {
#if ENABLE_GCODE_VIEWER
std::string path = (m_mode == EAppMode::Editor) ? std::string path = (m_mode == EAppMode::Editor) ?
(boost::filesystem::path(Slic3r::data_dir()) / (SLIC3R_APP_KEY ".ini")).make_preferred().string() : (boost::filesystem::path(Slic3r::data_dir()) / (SLIC3R_APP_KEY ".ini")).make_preferred().string() :
(boost::filesystem::path(Slic3r::data_dir()) / (GCODEVIEWER_APP_KEY ".ini")).make_preferred().string(); (boost::filesystem::path(Slic3r::data_dir()) / (GCODEVIEWER_APP_KEY ".ini")).make_preferred().string();
return path; return path;
#else
return (boost::filesystem::path(Slic3r::data_dir()) / (SLIC3R_APP_KEY ".ini")).make_preferred().string();
#endif // ENABLE_GCODE_VIEWER
} }
std::string AppConfig::version_check_url() const std::string AppConfig::version_check_url() const
@ -452,11 +456,7 @@ std::string AppConfig::version_check_url() const
bool AppConfig::exists() bool AppConfig::exists()
{ {
#if ENABLE_GCODE_VIEWER
return boost::filesystem::exists(config_path()); return boost::filesystem::exists(config_path());
#else
return boost::filesystem::exists(AppConfig::config_path());
#endif // ENABLE_GCODE_VIEWER
} }
}; // namespace Slic3r }; // namespace Slic3r

View File

@ -15,7 +15,6 @@ namespace Slic3r {
class AppConfig class AppConfig
{ {
public: public:
#if ENABLE_GCODE_VIEWER
enum class EAppMode : unsigned char enum class EAppMode : unsigned char
{ {
Editor, Editor,
@ -23,14 +22,9 @@ public:
}; };
explicit AppConfig(EAppMode mode) : explicit AppConfig(EAppMode mode) :
#else
AppConfig() :
#endif // ENABLE_GCODE_VIEWER
m_dirty(false), m_dirty(false),
m_orig_version(Semver::invalid()), m_orig_version(Semver::invalid()),
#if ENABLE_GCODE_VIEWER
m_mode(mode), m_mode(mode),
#endif // ENABLE_GCODE_VIEWER
m_legacy_datadir(false) m_legacy_datadir(false)
{ {
this->reset(); this->reset();
@ -135,30 +129,22 @@ public:
void reset_selections(); void reset_selections();
// Get the default config path from Slic3r::data_dir(). // Get the default config path from Slic3r::data_dir().
#if ENABLE_GCODE_VIEWER
std::string config_path(); std::string config_path();
#else
static std::string config_path();
#endif // ENABLE_GCODE_VIEWER
// Returns true if the user's data directory comes from before Slic3r 1.40.0 (no updating) // Returns true if the user's data directory comes from before Slic3r 1.40.0 (no updating)
bool legacy_datadir() const { return m_legacy_datadir; } bool legacy_datadir() const { return m_legacy_datadir; }
void set_legacy_datadir(bool value) { m_legacy_datadir = value; } void set_legacy_datadir(bool value) { m_legacy_datadir = value; }
// Get the Slic3r version check url. // Get the Slic3r version check url.
// This returns a hardcoded string unless it is overriden by "version_check_url" in the ini file. // This returns a hardcoded string unless it is overriden by "version_check_url" in the ini file.
std::string version_check_url() const; std::string version_check_url() const;
// Returns the original Slic3r version found in the ini file before it was overwritten // Returns the original Slic3r version found in the ini file before it was overwritten
// by the current version // by the current version
Semver orig_version() const { return m_orig_version; } Semver orig_version() const { return m_orig_version; }
// Does the config file exist? // Does the config file exist?
#if ENABLE_GCODE_VIEWER bool exists();
bool exists();
#else
static bool exists();
#endif // ENABLE_GCODE_VIEWER
std::vector<std::string> get_recent_projects() const; std::vector<std::string> get_recent_projects() const;
void set_recent_projects(const std::vector<std::string>& recent_projects); void set_recent_projects(const std::vector<std::string>& recent_projects);
@ -196,10 +182,8 @@ private:
return true; return true;
} }
#if ENABLE_GCODE_VIEWER // Type of application: Editor or GCodeViewer
EAppMode m_mode { EAppMode::Editor }; EAppMode m_mode { EAppMode::Editor };
#endif // ENABLE_GCODE_VIEWER
// Map of section, name -> value // Map of section, name -> value
std::map<std::string, std::map<std::string, std::string>> m_storage; std::map<std::string, std::map<std::string, std::string>> m_storage;
// Map of enabled vendors / models / variants // Map of enabled vendors / models / variants

View File

@ -7,6 +7,7 @@
#include <libnest2d/optimizers/nlopt/subplex.hpp> #include <libnest2d/optimizers/nlopt/subplex.hpp>
#include <libnest2d/placers/nfpplacer.hpp> #include <libnest2d/placers/nfpplacer.hpp>
#include <libnest2d/selections/firstfit.hpp> #include <libnest2d/selections/firstfit.hpp>
#include <libnest2d/utils/rotcalipers.hpp>
#include <numeric> #include <numeric>
#include <ClipperUtils.hpp> #include <ClipperUtils.hpp>
@ -83,7 +84,7 @@ const double BIG_ITEM_TRESHOLD = 0.02;
// Fill in the placer algorithm configuration with values carefully chosen for // Fill in the placer algorithm configuration with values carefully chosen for
// Slic3r. // Slic3r.
template<class PConf> template<class PConf>
void fill_config(PConf& pcfg) { void fill_config(PConf& pcfg, const ArrangeParams &params) {
// Align the arranged pile into the center of the bin // Align the arranged pile into the center of the bin
pcfg.alignment = PConf::Alignment::CENTER; pcfg.alignment = PConf::Alignment::CENTER;
@ -93,14 +94,17 @@ void fill_config(PConf& pcfg) {
// TODO cannot use rotations until multiple objects of same geometry can // TODO cannot use rotations until multiple objects of same geometry can
// handle different rotations. // handle different rotations.
pcfg.rotations = { 0.0 }; if (params.allow_rotations)
pcfg.rotations = {0., PI / 2., PI, 3. * PI / 2. };
else
pcfg.rotations = {0.};
// The accuracy of optimization. // The accuracy of optimization.
// Goes from 0.0 to 1.0 and scales performance as well // Goes from 0.0 to 1.0 and scales performance as well
pcfg.accuracy = 0.65f; pcfg.accuracy = params.accuracy;
// Allow parallel execution. // Allow parallel execution.
pcfg.parallel = true; pcfg.parallel = params.parallel;
} }
// Apply penalty to object function result. This is used only when alignment // Apply penalty to object function result. This is used only when alignment
@ -277,10 +281,10 @@ protected:
if (result.empty()) if (result.empty())
score = 0.50 * dist + 0.50 * density; score = 0.50 * dist + 0.50 * density;
else else
score = R * 0.60 * dist + // Let the density matter more when fewer objects remain
(1.0 - R) * 0.20 * density + score = 0.50 * dist + (1.0 - R) * 0.20 * density +
0.20 * alignment_score; 0.30 * alignment_score;
break; break;
} }
case LAST_BIG_ITEM: { case LAST_BIG_ITEM: {
@ -304,15 +308,15 @@ protected:
public: public:
AutoArranger(const TBin & bin, AutoArranger(const TBin & bin,
Distance dist, const ArrangeParams &params,
std::function<void(unsigned)> progressind, std::function<void(unsigned)> progressind,
std::function<bool(void)> stopcond) std::function<bool(void)> stopcond)
: m_pck(bin, dist) : m_pck(bin, params.min_obj_distance)
, m_bin(bin) , m_bin(bin)
, m_bin_area(sl::area(bin)) , m_bin_area(sl::area(bin))
, m_norm(std::sqrt(m_bin_area)) , m_norm(std::sqrt(m_bin_area))
{ {
fill_config(m_pconf); fill_config(m_pconf, params);
// Set up a callback that is called just before arranging starts // Set up a callback that is called just before arranging starts
// This functionality is provided by the Nester class (m_pack). // This functionality is provided by the Nester class (m_pack).
@ -349,12 +353,6 @@ public:
m_pck.configure(m_pconf); m_pck.configure(m_pconf);
} }
AutoArranger(const TBin & bin,
std::function<void(unsigned)> progressind,
std::function<bool(void)> stopcond)
: AutoArranger{bin, 0 /* no min distance */, progressind, stopcond}
{}
template<class It> inline void operator()(It from, It to) { template<class It> inline void operator()(It from, It to) {
m_rtree.clear(); m_rtree.clear();
@ -452,12 +450,18 @@ template<class Bin> void remove_large_items(std::vector<Item> &items, Bin &&bin)
++it : it = items.erase(it); ++it : it = items.erase(it);
} }
template<class S> Radians min_area_boundingbox_rotation(const S &sh)
{
return minAreaBoundingBox<S, TCompute<S>, boost::rational<LargeInt>>(sh)
.angleToX();
}
template<class BinT> // Arrange for arbitrary bin type template<class BinT> // Arrange for arbitrary bin type
void _arrange( void _arrange(
std::vector<Item> & shapes, std::vector<Item> & shapes,
std::vector<Item> & excludes, std::vector<Item> & excludes,
const BinT & bin, const BinT & bin,
const ArrangeParams & params, const ArrangeParams &params,
std::function<void(unsigned)> progressfn, std::function<void(unsigned)> progressfn,
std::function<bool()> stopfn) std::function<bool()> stopfn)
{ {
@ -467,11 +471,10 @@ void _arrange(
auto corrected_bin = bin; auto corrected_bin = bin;
sl::offset(corrected_bin, md); sl::offset(corrected_bin, md);
ArrangeParams mod_params = params;
AutoArranger<BinT> arranger{corrected_bin, progressfn, stopfn}; mod_params.min_obj_distance = 0;
arranger.config().accuracy = params.accuracy; AutoArranger<BinT> arranger{corrected_bin, mod_params, progressfn, stopfn};
arranger.config().parallel = params.parallel;
auto infl = coord_t(std::ceil(params.min_obj_distance / 2.0)); auto infl = coord_t(std::ceil(params.min_obj_distance / 2.0));
for (Item& itm : shapes) itm.inflate(infl); for (Item& itm : shapes) itm.inflate(infl);
@ -487,6 +490,13 @@ void _arrange(
for (auto &itm : shapes ) inp.emplace_back(itm); for (auto &itm : shapes ) inp.emplace_back(itm);
for (auto &itm : excludes) inp.emplace_back(itm); for (auto &itm : excludes) inp.emplace_back(itm);
// Use the minimum bounding box rotation as a starting point.
// TODO: This only works for convex hull. If we ever switch to concave
// polygon nesting, a convex hull needs to be calculated.
if (params.allow_rotations)
for (auto &itm : shapes)
itm.rotation(min_area_boundingbox_rotation(itm.rawShape()));
arranger(inp.begin(), inp.end()); arranger(inp.begin(), inp.end());
for (Item &itm : inp) itm.inflate(-infl); for (Item &itm : inp) itm.inflate(-infl);
} }
@ -556,28 +566,35 @@ static void process_arrangeable(const ArrangePolygon &arrpoly,
outp.back().priority(arrpoly.priority); outp.back().priority(arrpoly.priority);
} }
template<class Fn> auto call_with_bed(const Points &bed, Fn &&fn)
{
if (bed.empty())
return fn(InfiniteBed{});
else if (bed.size() == 1)
return fn(InfiniteBed{bed.front()});
else {
auto bb = BoundingBox(bed);
CircleBed circ = to_circle(bb.center(), bed);
auto parea = poly_area(bed);
if ((1.0 - parea / area(bb)) < 1e-3)
return fn(bb);
else if (!std::isnan(circ.radius()))
return fn(circ);
else
return fn(Polygon(bed));
}
}
template<> template<>
void arrange(ArrangePolygons & items, void arrange(ArrangePolygons & items,
const ArrangePolygons &excludes, const ArrangePolygons &excludes,
const Points & bed, const Points & bed,
const ArrangeParams & params) const ArrangeParams & params)
{ {
if (bed.empty()) call_with_bed(bed, [&](const auto &bin) {
arrange(items, excludes, InfiniteBed{}, params); arrange(items, excludes, bin, params);
else if (bed.size() == 1) });
arrange(items, excludes, InfiniteBed{bed.front()}, params);
else {
auto bb = BoundingBox(bed);
CircleBed circ = to_circle(bb.center(), bed);
auto parea = poly_area(bed);
if ((1.0 - parea / area(bb)) < 1e-3)
arrange(items, excludes, bb, params);
else if (!std::isnan(circ.radius()))
arrange(items, excludes, circ, params);
else
arrange(items, excludes, Polygon(bed), params);
}
} }
template<class BedT> template<class BedT>

View File

@ -78,6 +78,8 @@ struct ArrangeParams {
/// Allow parallel execution. /// Allow parallel execution.
bool parallel = true; bool parallel = true;
bool allow_rotations = false;
/// Progress indicator callback called when an object gets packed. /// Progress indicator callback called when an object gets packed.
/// The unsigned argument is the number of items remaining to pack. /// The unsigned argument is the number of items remaining to pack.

View File

@ -47,6 +47,7 @@ public:
void translate(coordf_t x, coordf_t y) { assert(this->defined); PointClass v(x, y); this->min += v; this->max += v; } void translate(coordf_t x, coordf_t y) { assert(this->defined); PointClass v(x, y); this->min += v; this->max += v; }
void translate(const Vec2d &v) { this->min += v; this->max += v; } void translate(const Vec2d &v) { this->min += v; this->max += v; }
void offset(coordf_t delta); void offset(coordf_t delta);
BoundingBoxBase<PointClass> inflated(coordf_t delta) const throw() { BoundingBoxBase<PointClass> out(*this); out.offset(delta); return out; }
PointClass center() const; PointClass center() const;
bool contains(const PointClass &point) const { bool contains(const PointClass &point) const {
return point(0) >= this->min(0) && point(0) <= this->max(0) return point(0) >= this->min(0) && point(0) <= this->max(0)
@ -91,6 +92,7 @@ public:
void translate(coordf_t x, coordf_t y, coordf_t z) { assert(this->defined); PointClass v(x, y, z); this->min += v; this->max += v; } void translate(coordf_t x, coordf_t y, coordf_t z) { assert(this->defined); PointClass v(x, y, z); this->min += v; this->max += v; }
void translate(const Vec3d &v) { this->min += v; this->max += v; } void translate(const Vec3d &v) { this->min += v; this->max += v; }
void offset(coordf_t delta); void offset(coordf_t delta);
BoundingBoxBase<PointClass> inflated(coordf_t delta) const throw() { BoundingBoxBase<PointClass> out(*this); out.offset(delta); return out; }
PointClass center() const; PointClass center() const;
coordf_t max_size() const; coordf_t max_size() const;
@ -159,6 +161,8 @@ public:
BoundingBox(const Point &pmin, const Point &pmax) : BoundingBoxBase<Point>(pmin, pmax) {} BoundingBox(const Point &pmin, const Point &pmax) : BoundingBoxBase<Point>(pmin, pmax) {}
BoundingBox(const Points &points) : BoundingBoxBase<Point>(points) {} BoundingBox(const Points &points) : BoundingBoxBase<Point>(points) {}
BoundingBox inflated(coordf_t delta) const throw() { BoundingBox out(*this); out.offset(delta); return out; }
friend BoundingBox get_extents_rotated(const Points &points, double angle); friend BoundingBox get_extents_rotated(const Points &points, double angle);
}; };

View File

@ -58,12 +58,10 @@ add_library(libslic3r STATIC
Fill/FillGyroid.hpp Fill/FillGyroid.hpp
Fill/FillPlanePath.cpp Fill/FillPlanePath.cpp
Fill/FillPlanePath.hpp Fill/FillPlanePath.hpp
Fill/FillLine.cpp
Fill/FillLine.hpp
Fill/FillRectilinear.cpp Fill/FillRectilinear.cpp
Fill/FillRectilinear.hpp Fill/FillRectilinear.hpp
Fill/FillRectilinear2.cpp
Fill/FillRectilinear2.hpp
Fill/FillRectilinear3.cpp
Fill/FillRectilinear3.hpp
Flow.cpp Flow.cpp
Flow.hpp Flow.hpp
format.hpp format.hpp
@ -81,8 +79,6 @@ add_library(libslic3r STATIC
Format/STL.hpp Format/STL.hpp
Format/SL1.hpp Format/SL1.hpp
Format/SL1.cpp Format/SL1.cpp
GCode/Analyzer.cpp
GCode/Analyzer.hpp
GCode/ThumbnailData.cpp GCode/ThumbnailData.cpp
GCode/ThumbnailData.hpp GCode/ThumbnailData.hpp
GCode/CoolingBuffer.cpp GCode/CoolingBuffer.cpp
@ -91,8 +87,6 @@ add_library(libslic3r STATIC
GCode/PostProcessor.hpp GCode/PostProcessor.hpp
# GCode/PressureEqualizer.cpp # GCode/PressureEqualizer.cpp
# GCode/PressureEqualizer.hpp # GCode/PressureEqualizer.hpp
GCode/PreviewData.cpp
GCode/PreviewData.hpp
GCode/PrintExtents.cpp GCode/PrintExtents.cpp
GCode/PrintExtents.hpp GCode/PrintExtents.hpp
GCode/SpiralVase.cpp GCode/SpiralVase.cpp
@ -111,8 +105,6 @@ add_library(libslic3r STATIC
GCodeReader.hpp GCodeReader.hpp
# GCodeSender.cpp # GCodeSender.cpp
# GCodeSender.hpp # GCodeSender.hpp
GCodeTimeEstimator.cpp
GCodeTimeEstimator.hpp
GCodeWriter.cpp GCodeWriter.cpp
GCodeWriter.hpp GCodeWriter.hpp
Geometry.cpp Geometry.cpp

View File

@ -192,6 +192,23 @@ bool unescape_strings_cstyle(const std::string &str, std::vector<std::string> &o
} }
} }
std::string escape_ampersand(const std::string& str)
{
// Allocate a buffer 2 times the input string length,
// so the output will fit even if all input characters get escaped.
std::vector<char> out(str.size() * 6, 0);
char* outptr = out.data();
for (size_t i = 0; i < str.size(); ++i) {
char c = str[i];
if (c == '&') {
(*outptr++) = '&';
(*outptr++) = '&';
} else
(*outptr++) = c;
}
return std::string(out.data(), outptr - out.data());
}
std::vector<std::string> ConfigOptionDef::cli_args(const std::string &key) const std::vector<std::string> ConfigOptionDef::cli_args(const std::string &key) const
{ {
std::vector<std::string> args; std::vector<std::string> args;

View File

@ -34,6 +34,8 @@ extern std::string escape_strings_cstyle(const std::vector<std::string> &strs);
extern bool unescape_string_cstyle(const std::string &str, std::string &out); extern bool unescape_string_cstyle(const std::string &str, std::string &out);
extern bool unescape_strings_cstyle(const std::string &str, std::vector<std::string> &out); extern bool unescape_strings_cstyle(const std::string &str, std::vector<std::string> &out);
extern std::string escape_ampersand(const std::string& str);
/// Specialization of std::exception to indicate that an unknown config option has been encountered. /// Specialization of std::exception to indicate that an unknown config option has been encountered.
class UnknownOptionException : public Slic3r::RuntimeError { class UnknownOptionException : public Slic3r::RuntimeError {
public: public:

View File

@ -1,10 +1,6 @@
#include "CustomGCode.hpp" #include "CustomGCode.hpp"
#include "Config.hpp" #include "Config.hpp"
#if ENABLE_GCODE_VIEWER
#include "GCode.hpp" #include "GCode.hpp"
#else
#include "GCode/PreviewData.hpp"
#endif // ENABLE_GCODE_VIEWER
#include "GCodeWriter.hpp" #include "GCodeWriter.hpp"
namespace Slic3r { namespace Slic3r {
@ -21,11 +17,7 @@ extern void update_custom_gcode_per_print_z_from_config(Info& info, DynamicPrint
return; return;
if (info.gcodes.empty() && ! colorprint_heights->values.empty()) { if (info.gcodes.empty() && ! colorprint_heights->values.empty()) {
// Convert the old colorprint_heighs only if there is no equivalent data in a new format. // Convert the old colorprint_heighs only if there is no equivalent data in a new format.
#if ENABLE_GCODE_VIEWER
const std::vector<std::string>& colors = ColorPrintColors::get(); const std::vector<std::string>& colors = ColorPrintColors::get();
#else
const std::vector<std::string>& colors = GCodePreviewData::ColorPrintColors();
#endif // ENABLE_GCODE_VIEWER
const auto& colorprint_values = colorprint_heights->values; const auto& colorprint_values = colorprint_heights->values;
info.gcodes.clear(); info.gcodes.clear();
info.gcodes.reserve(colorprint_values.size()); info.gcodes.reserve(colorprint_values.size());

View File

@ -55,6 +55,24 @@ void EdgeGrid::Grid::create(const Polygons &polygons, coord_t resolution)
create_from_m_contours(resolution); create_from_m_contours(resolution);
} }
void EdgeGrid::Grid::create(const std::vector<const Polygon*> &polygons, coord_t resolution)
{
// Count the contours.
size_t ncontours = 0;
for (size_t j = 0; j < polygons.size(); ++ j)
if (! polygons[j]->points.empty())
++ ncontours;
// Collect the contours.
m_contours.assign(ncontours, nullptr);
ncontours = 0;
for (size_t j = 0; j < polygons.size(); ++ j)
if (! polygons[j]->points.empty())
m_contours[ncontours ++] = &polygons[j]->points;
create_from_m_contours(resolution);
}
void EdgeGrid::Grid::create(const std::vector<Points> &polygons, coord_t resolution) void EdgeGrid::Grid::create(const std::vector<Points> &polygons, coord_t resolution)
{ {
// Count the contours. // Count the contours.
@ -1150,7 +1168,7 @@ EdgeGrid::Grid::ClosestPointResult EdgeGrid::Grid::closest_point(const Point &pt
if (result.contour_idx != size_t(-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.distance = d_min * sign_min;
result.t /= l2_seg_min; result.t /= l2_seg_min;
assert(result.t >= 0. && result.t < 1.); assert(result.t >= 0. && result.t <= 1.);
#ifndef NDEBUG #ifndef NDEBUG
{ {
const Slic3r::Points &pts = *m_contours[result.contour_idx]; const Slic3r::Points &pts = *m_contours[result.contour_idx];

Some files were not shown because too many files have changed in this diff Show More