diff --git a/cmake/modules/MacOSXBundleInfo.plist.in b/cmake/modules/MacOSXBundleInfo.plist.in
index 2f010c8a82..3de0ec036c 100644
--- a/cmake/modules/MacOSXBundleInfo.plist.in
+++ b/cmake/modules/MacOSXBundleInfo.plist.in
@@ -37,6 +37,14 @@
orcaslicer
+
+
+ CFBundleURLName
+ BambuStudio Downloads
+ CFBundleURLSchemes
+
+ bambustudioopen
+
CFBundleDocumentTypes
diff --git a/localization/i18n/OrcaSlicer.pot b/localization/i18n/OrcaSlicer.pot
index 07a8fc161b..86a879c168 100644
--- a/localization/i18n/OrcaSlicer.pot
+++ b/localization/i18n/OrcaSlicer.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -5516,6 +5516,9 @@ msgstr ""
msgid "Edit current plate name"
msgstr ""
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr ""
@@ -7247,6 +7250,14 @@ msgid ""
"does not support to print on the Cool Plate"
msgstr ""
+msgid "Textured Cool plate"
+msgstr ""
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid "Engineering plate"
msgstr ""
@@ -8904,6 +8915,11 @@ msgstr ""
msgid "°C"
msgstr ""
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -8930,6 +8946,11 @@ msgid ""
"support to print on the Cool Plate"
msgstr ""
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -8948,12 +8969,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr ""
-msgid "Cool Plate"
+msgid "Smooth Cool Plate"
msgstr ""
msgid "Engineering Plate"
msgstr ""
+msgid "Smooth High Temp Plate"
+msgstr ""
+
+msgid "Textured Cool Plate"
+msgstr ""
+
msgid "First layer print sequence"
msgstr ""
@@ -9799,6 +9826,7 @@ msgstr ""
msgid "Enable adaptive pressure advance (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -9823,6 +9851,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
diff --git a/localization/i18n/ca/OrcaSlicer_ca.po b/localization/i18n/ca/OrcaSlicer_ca.po
index 4f65b2d746..b97668e980 100644
--- a/localization/i18n/ca/OrcaSlicer_ca.po
+++ b/localization/i18n/ca/OrcaSlicer_ca.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: 2024-07-07 18:43+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -5927,6 +5927,9 @@ msgstr "Bloquejar la placa actual"
msgid "Edit current plate name"
msgstr "Editar el nom de la placa actual"
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr "Personalitzar la placa actual"
@@ -7903,6 +7906,14 @@ msgstr ""
"Temperatura del llit quan s'instal·la la Base Freda. El valor 0 significa "
"que el filament no admet imprimir a la Base Freda"
+msgid "Textured Cool plate"
+msgstr ""
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid "Engineering plate"
msgstr "Base d'enginyeria"
@@ -9793,6 +9804,11 @@ msgstr ""
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9827,6 +9843,11 @@ msgstr ""
"Temperatura del llit en la capa inicial. El valor 0 significa que el "
"filament no admet imprimir a la Base Freda"
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9851,12 +9872,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "Tipus de llit suportats per la impressora"
-msgid "Cool Plate"
-msgstr "Base Freda"
+msgid "Smooth Cool Plate"
+msgstr ""
msgid "Engineering Plate"
msgstr "Base d'Enginyeria"
+msgid "Smooth High Temp Plate"
+msgstr ""
+
+msgid "Textured Cool Plate"
+msgstr ""
+
msgid "First layer print sequence"
msgstr "Seqüència d'impressió de primera capa"
@@ -10892,6 +10919,7 @@ msgstr "Avanç de Pressió Lineal( Klipper ) AKA Factor d'Avanç Lineal( Marlin
msgid "Enable adaptive pressure advance (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -10916,6 +10944,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -17293,6 +17322,9 @@ msgstr ""
"augmentar adequadament la temperatura del llit pot reduir la probabilitat de "
"deformació."
+#~ msgid "Cool Plate"
+#~ msgstr "Base Freda"
+
#~ msgid "Reverse on odd"
#~ msgstr "Invertir en capes senars"
diff --git a/localization/i18n/cs/OrcaSlicer_cs.po b/localization/i18n/cs/OrcaSlicer_cs.po
index 177b1191e6..cdf947f5c1 100644
--- a/localization/i18n/cs/OrcaSlicer_cs.po
+++ b/localization/i18n/cs/OrcaSlicer_cs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: 2023-09-30 15:15+0200\n"
"Last-Translator: René Mošner \n"
"Language-Team: \n"
@@ -5801,6 +5801,9 @@ msgstr "Zamknout aktuální podložku"
msgid "Edit current plate name"
msgstr ""
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr "Přizpůsobit aktuální podložku"
@@ -7687,6 +7690,14 @@ msgstr ""
"Toto je teplota podložky, když je Cool podložka. Hodnota 0 znamená, že "
"filament nepodporuje tisk na Cool Podložku"
+msgid "Textured Cool plate"
+msgstr ""
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid "Engineering plate"
msgstr "Engineering podložka"
@@ -9482,6 +9493,11 @@ msgstr ""
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9516,6 +9532,11 @@ msgstr ""
"Toto je teplota podložky první vrstvy. Hodnota 0 znamená filament "
"nepodporuje tisk na Cool Podložku"
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9540,12 +9561,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "Typy podložek podporované tiskárnou"
-msgid "Cool Plate"
-msgstr "Cool Podložka"
+msgid "Smooth Cool Plate"
+msgstr ""
msgid "Engineering Plate"
msgstr "Engineering Podložka"
+msgid "Smooth High Temp Plate"
+msgstr ""
+
+msgid "Textured Cool Plate"
+msgstr ""
+
msgid "First layer print sequence"
msgstr "Sekvence tisku první vrstvy"
@@ -10478,6 +10505,7 @@ msgstr "Předstih tlaku (Klipper) AKA Lineární faktor předstihu (Marlin)"
msgid "Enable adaptive pressure advance (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -10502,6 +10530,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -16272,6 +16301,9 @@ msgid ""
"probability of warping."
msgstr ""
+#~ msgid "Cool Plate"
+#~ msgstr "Cool Podložka"
+
#~ msgid "Reverse on odd"
#~ msgstr "Obrátit na lichých"
diff --git a/localization/i18n/de/OrcaSlicer_de.po b/localization/i18n/de/OrcaSlicer_de.po
index 08daf0d3e4..d4e4aea7d4 100644
--- a/localization/i18n/de/OrcaSlicer_de.po
+++ b/localization/i18n/de/OrcaSlicer_de.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: Heiko Liebscher \n"
"Language-Team: \n"
@@ -4847,10 +4847,10 @@ msgid "Clone copies of selections"
msgstr "Ausgewählte Kopien duplizieren"
msgid "Duplicate Current Plate"
-msgstr ""
+msgstr "Aktuelle Druckplatte duplizieren"
msgid "Duplicate the current plate"
-msgstr ""
+msgstr "Dupliziert die aktuelle Druckplatte"
msgid "Select all"
msgstr "Alles auswählen"
@@ -5980,6 +5980,9 @@ msgstr "Speere aktuelle Platte"
msgid "Edit current plate name"
msgstr "Bearbeite den Namen der aktuellen Platte"
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr "Aktuelle Platte anpassen"
@@ -7974,6 +7977,17 @@ msgstr ""
"Wert von 0 bedeutet, dass das Filament auf der kalten Druckplatte nicht "
"unterstützt."
+msgid "Textured Cool plate"
+msgstr "Texturierte kalte Druckplatte"
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+"Dies ist die Betttemperatur, wenn die kalte Druckplatte installiert ist. Ein "
+"Wert von 0 bedeutet, dass das Filament auf der texturierten kalten "
+"Druckplatte nicht unterstützt wird."
+
msgid "Engineering plate"
msgstr "Technische Druckplatte"
@@ -9893,6 +9907,14 @@ msgstr ""
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+"Dies ist die Betttemperatur für Schichten mit Ausnahme der Ersten. Ein Wert "
+"von 0 bedeutet, dass das Filament auf der strukturierten kalten Druckplatte "
+"nicht unterstützt wird."
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9929,6 +9951,14 @@ msgstr ""
"Dies ist die Betttemperatur der ersten Schicht. Ein Wert von 0 bedeutet, "
"dass das Filament auf der kalten Druckplatte nicht unterstützt wird."
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+"Dies ist die Betttemperatur der ersten Schicht. Ein Wert von 0 bedeutet, "
+"dass das Filament auf der strukturierten kalten Druckplatte nicht "
+"unterstützt wird."
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9953,12 +9983,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "Vom Drucker unterstützte Druckbettypen"
-msgid "Cool Plate"
-msgstr "Kalte Druckplatte"
+msgid "Smooth Cool Plate"
+msgstr "Glatte kalte Druckplatte"
msgid "Engineering Plate"
msgstr "Technische Druckplatte"
+msgid "Smooth High Temp Plate"
+msgstr "Glatte Hochtemperatur-Druckplatte"
+
+msgid "Textured Cool Plate"
+msgstr "Strukturierte kalte Druckplatte"
+
msgid "First layer print sequence"
msgstr "Erste Schicht Druckreihenfolge"
@@ -10272,7 +10308,7 @@ msgstr ""
"in denen Brücken nicht verankert werden können."
msgid "Reverse on even"
-msgstr ""
+msgstr "Umkehren auf geraden Schichten"
msgid "Overhang reversal"
msgstr "Überhangsumkehr"
@@ -10285,6 +10321,12 @@ msgid ""
"This setting can also help reduce part warping due to the reduction of "
"stresses in the part walls."
msgstr ""
+"Extrudieren Sie Umfänge, die über einem Überhang liegen, in umgekehrter "
+"Richtung auf geraden Schichten. Dieses abwechselnde Muster kann steile "
+"Überhänge drastisch verbessern.\n"
+"\n"
+"Diese Einstellung kann auch dazu beitragen, das Verziehen des Teils aufgrund "
+"der Reduzierung der Spannungen in den Teilwänden zu verringern."
msgid "Reverse only internal perimeters"
msgstr "Nur interne Umfänge umkehren"
@@ -10303,6 +10345,20 @@ msgid ""
"Reverse Threshold to 0 so that all internal walls print in alternating "
"directions on even layers irrespective of their overhang degree."
msgstr ""
+"Wenden Sie die Logik der umgekehrten Umfänge nur auf interne Umfänge an.\n"
+"\n"
+"Diese Einstellung reduziert die Spannungen im Teil erheblich, da sie jetzt "
+"in abwechselnde Richtungen verteilt sind. Dies sollte das Verziehen des "
+"Teils reduzieren und gleichzeitig die Qualität der äußeren Wand erhalten. "
+"Diese Funktion kann sehr nützlich für Materialien sein, die zum Verziehen "
+"neigen, wie ABS/ASA, und auch für elastische Filamente, wie TPU und Seiden-"
+"PLA. Sie kann auch dazu beitragen, das Verziehen in schwebenden Bereichen "
+"über Stützen zu reduzieren.\n"
+"\n"
+"Damit diese Einstellung am effektivsten ist, wird empfohlen, den "
+"Umkehrschwellenwert auf 0 zu setzen, damit alle internen Wände auf geraden "
+"Schichten unabhängig von ihrem Überhangswinkel in abwechselnden Richtungen "
+"gedruckt werden."
msgid "Bridge counterbore holes"
msgstr "Brücken für Senkungen"
@@ -10339,6 +10395,9 @@ msgid ""
"useful. Can be a % of the perimeter width.\n"
"Value 0 enables reversal on every even layers regardless."
msgstr ""
+"Anzahl der Millimeter, die der Überhang betragen muss, damit die Umkehrung "
+"als nützlich angesehen wird. Kann ein Prozentsatz der Umfangsbreite sein.\n"
+"Der Wert 0 aktiviert die Umkehrung auf jeder geraden Schicht."
msgid "Classic mode"
msgstr "Klassicher Modus"
@@ -10942,6 +11001,12 @@ msgid ""
"\n"
"This option will be disabled if spiral vase mode is enabled."
msgstr ""
+"Die Richtung, in der die Wand-Schleifen extrudiert werdenStandardmäßig "
+"werden alle Wände gegen den Uhrzeigersinn extrudiert, es sei denn, die "
+"Option Umkehrung bei geraden Schichten ist aktiviert. Wenn diese Option auf "
+"einen anderen Wert als Auto gesetzt wird, wird die Wandrichtung unabhängig "
+"von der Umkehrung bei geraden Schichten festgelegt.\n"
+"Diese Option wird deaktiviert, wenn der Spiral-Vase-Modus aktiviert ist."
msgid "Counter clockwise"
msgstr "Gegen den Uhrzeigersinn"
@@ -11111,8 +11176,9 @@ msgid "Pressure advance(Klipper) AKA Linear advance factor(Marlin)"
msgstr "Pressure advance(Klipper)AKA Linear advance Faktor(Marlin)"
msgid "Enable adaptive pressure advance (beta)"
-msgstr ""
+msgstr "Adaptive Pressure Advance aktivieren (Beta)"
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -11158,6 +11224,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr "Adaptive Pressure Advance Messung (experimentell)"
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -17690,6 +17757,9 @@ msgstr ""
"wie z.B. ABS, durch eine entsprechende Erhöhung der Heizbetttemperatur die "
"Wahrscheinlichkeit von Verwerfungen verringert werden kann."
+#~ msgid "Cool Plate"
+#~ msgstr "Kalte Druckplatte"
+
#~ msgid "Reverse on odd"
#~ msgstr "Umkehren bei ungeraden Schichten"
diff --git a/localization/i18n/en/OrcaSlicer_en.po b/localization/i18n/en/OrcaSlicer_en.po
index 6f33fad321..c28f0bb24b 100644
--- a/localization/i18n/en/OrcaSlicer_en.po
+++ b/localization/i18n/en/OrcaSlicer_en.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -5755,6 +5755,9 @@ msgstr ""
msgid "Edit current plate name"
msgstr ""
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr ""
@@ -7652,6 +7655,14 @@ msgstr ""
"This is the bed temperature when the cool plate is installed. A value of 0 "
"means the filament does not support printing on the Cool Plate."
+msgid "Textured Cool plate"
+msgstr ""
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid "Engineering plate"
msgstr "Engineering plate"
@@ -9429,6 +9440,11 @@ msgstr ""
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9463,6 +9479,11 @@ msgstr ""
"This is the bed temperature of the first layer. A value of 0 means the "
"filament does not support printing on the Cool Plate."
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9487,12 +9508,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "Bed types supported by the printer"
-msgid "Cool Plate"
-msgstr "Cool Plate"
+msgid "Smooth Cool Plate"
+msgstr ""
msgid "Engineering Plate"
msgstr "Engineering Plate"
+msgid "Smooth High Temp Plate"
+msgstr ""
+
+msgid "Textured Cool Plate"
+msgstr ""
+
msgid "First layer print sequence"
msgstr "First layer print sequence"
@@ -10405,6 +10432,7 @@ msgstr ""
msgid "Enable adaptive pressure advance (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -10429,6 +10457,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -16115,6 +16144,9 @@ msgstr ""
"ABS, appropriately increasing the heatbed temperature can reduce the "
"probability of warping?"
+#~ msgid "Cool Plate"
+#~ msgstr "Cool Plate"
+
#~ msgid ""
#~ "While printing by Object, the extruder may collide skirt.\n"
#~ "Thus, reset the skirt layer to 1 to avoid that."
diff --git a/localization/i18n/es/OrcaSlicer_es.po b/localization/i18n/es/OrcaSlicer_es.po
index b59358abd2..e5c16dd34b 100644
--- a/localization/i18n/es/OrcaSlicer_es.po
+++ b/localization/i18n/es/OrcaSlicer_es.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: Carlos Fco. Caruncho Serrano \n"
"Language-Team: \n"
@@ -5961,6 +5961,9 @@ msgstr "Bloquear bandeja actual"
msgid "Edit current plate name"
msgstr "Editar el nombre de la bandeja actual"
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr "Personalizar bandeja actual"
@@ -7946,6 +7949,14 @@ msgstr ""
"Un valor de 0 significa que el filamento no admite la impresión en la "
"Bandeja Fría"
+msgid "Textured Cool plate"
+msgstr ""
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid "Engineering plate"
msgstr "Bandeja de Ingeniería"
@@ -9851,6 +9862,11 @@ msgstr ""
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9887,6 +9903,11 @@ msgstr ""
"Esta es la temperatura de la cama de la primera capa. Un valor de 0 "
"significa que el filamento no admite la impresión en la Bandeja Fría"
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9913,12 +9934,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "Tipos de cama que admite la impresora"
-msgid "Cool Plate"
-msgstr "Bandeja Fría"
+msgid "Smooth Cool Plate"
+msgstr ""
msgid "Engineering Plate"
msgstr "Bandeja de Ingeniería"
+msgid "Smooth High Temp Plate"
+msgstr ""
+
+msgid "Textured Cool Plate"
+msgstr ""
+
msgid "First layer print sequence"
msgstr "Secuencia de impresión de primera capa"
@@ -11108,6 +11135,7 @@ msgstr "Pressure Advance(Klipper) AKA Factor de avance lineal(Marlin)"
msgid "Enable adaptive pressure advance (beta)"
msgstr "Activar Avance de Presión Lineal Adaptativo (beta)"
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -11151,6 +11179,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr "Medidas de avance lineal de presión adaptativo (beta)"
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -17703,6 +17732,9 @@ msgstr ""
"aumentar adecuadamente la temperatura del lecho térmico puede reducir la "
"probabilidad de deformaciones."
+#~ msgid "Cool Plate"
+#~ msgstr "Bandeja Fría"
+
#~ msgid "Reverse on odd"
#~ msgstr "Invertir en impar"
diff --git a/localization/i18n/fr/OrcaSlicer_fr.po b/localization/i18n/fr/OrcaSlicer_fr.po
index 7644f14793..d8e5e78d80 100644
--- a/localization/i18n/fr/OrcaSlicer_fr.po
+++ b/localization/i18n/fr/OrcaSlicer_fr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Guislain Cyril, Thomas Lété\n"
@@ -5963,6 +5963,9 @@ msgstr "Verrouiller le plateau actuel"
msgid "Edit current plate name"
msgstr "Modifier le nom du plateau actuel"
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr "Personnaliser le plateau actuel"
@@ -7990,6 +7993,17 @@ msgstr ""
"plate\") est installé. Une valeur à 0 signifie que ce filament ne peut pas "
"être imprimé sur le plateau froid."
+msgid "Textured Cool plate"
+msgstr "Plaque Cool plate texturée"
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+"Température du plateau lorsque la plaque Cool plate est installée. La valeur "
+"0 signifie que le filament ne peut pas être imprimé sur la plaque Cool plate "
+"texturée."
+
msgid "Engineering plate"
msgstr "Plaque Engineering"
@@ -9935,6 +9949,14 @@ msgstr ""
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+"Température du plateau pour les couches à l’exception de la couche initiale. "
+"La valeur 0 signifie que le filament ne peut pas être imprimé sur la plaque "
+"Cool plate texturée."
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9972,6 +9994,13 @@ msgstr ""
"0 signifie que ce filament ne peut pas être imprimé sur le plateau froid "
"(\"Cool plate\")."
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+"Température du plateau de la couche initiale. La valeur 0 signifie que le "
+"filament ne peut pas être imprimé sur la plaque Cool plate texturée."
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9998,12 +10027,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "Types de plateaux pris en charge par l'imprimante"
-msgid "Cool Plate"
-msgstr "Cool Plate/Plaque PLA"
+msgid "Smooth Cool Plate"
+msgstr "Plaque Cool plate lisse"
msgid "Engineering Plate"
msgstr "Plaque Engineering"
+msgid "Smooth High Temp Plate"
+msgstr "Plaque lisse haute température"
+
+msgid "Textured Cool Plate"
+msgstr "Plaque Cool plate texturée"
+
msgid "First layer print sequence"
msgstr "Séquence d’impression de la première couche"
@@ -11207,6 +11242,7 @@ msgstr "Pressure Advance (Klipper) AKA Linear Advance (Marlin)"
msgid "Enable adaptive pressure advance (beta)"
msgstr "Activer l’avance de pression adaptative (beta)"
+#, fuzzy, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -11252,6 +11288,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr "Mesures adaptatives de l’avance de pression (beta)"
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -17867,6 +17904,9 @@ msgstr ""
"déformer, tels que l’ABS, une augmentation appropriée de la température du "
"plateau chauffant peut réduire la probabilité de déformation."
+#~ msgid "Cool Plate"
+#~ msgstr "Cool Plate/Plaque PLA"
+
#~ msgid "Reverse on odd"
#~ msgstr "Parois inversées sur couches impaires"
diff --git a/localization/i18n/hu/OrcaSlicer_hu.po b/localization/i18n/hu/OrcaSlicer_hu.po
index 8c5e0be2a6..332d2de9ea 100644
--- a/localization/i18n/hu/OrcaSlicer_hu.po
+++ b/localization/i18n/hu/OrcaSlicer_hu.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -5800,6 +5800,9 @@ msgstr ""
msgid "Edit current plate name"
msgstr ""
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr ""
@@ -7725,6 +7728,14 @@ msgstr ""
"Asztalhőmérséklet a hideg tálca használatával. A 0 érték azt jelenti, hogy a "
"filament nem támogatja a Cool Plate-re történő nyomtatást"
+msgid "Textured Cool plate"
+msgstr ""
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid "Engineering plate"
msgstr "Engineering plate"
@@ -9542,6 +9553,11 @@ msgstr ""
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9576,6 +9592,11 @@ msgstr ""
"A kezdőréteg asztalhőmérséklete. A 0 érték azt jelenti, hogy a filament nem "
"támogatja a Cool Plate-re történő nyomtatást"
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9600,12 +9621,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "Nyomtató által támogatott asztaltípusok"
-msgid "Cool Plate"
-msgstr "Cool Plate"
+msgid "Smooth Cool Plate"
+msgstr ""
msgid "Engineering Plate"
msgstr "Engineering Plate"
+msgid "Smooth High Temp Plate"
+msgstr ""
+
+msgid "Textured Cool Plate"
+msgstr ""
+
msgid "First layer print sequence"
msgstr "Az első réteg nyomtatási sorrendje"
@@ -10520,6 +10547,7 @@ msgstr ""
msgid "Enable adaptive pressure advance (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -10544,6 +10572,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -16303,6 +16332,9 @@ msgstr ""
"Tudtad, hogy a vetemedésre hajlamos anyagok (például ABS) nyomtatásakor a "
"tárgyasztal hőmérsékletének növelése csökkentheti a vetemedés valószínűségét?"
+#~ msgid "Cool Plate"
+#~ msgstr "Cool Plate"
+
#~ msgid ""
#~ "While printing by Object, the extruder may collide skirt.\n"
#~ "Thus, reset the skirt layer to 1 to avoid that."
diff --git a/localization/i18n/it/OrcaSlicer_it.po b/localization/i18n/it/OrcaSlicer_it.po
index 93cece47bf..52ae576202 100644
--- a/localization/i18n/it/OrcaSlicer_it.po
+++ b/localization/i18n/it/OrcaSlicer_it.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -5915,6 +5915,9 @@ msgstr "Piastra corrente di blocco"
msgid "Edit current plate name"
msgstr "Modificare il nome del piatto corrente"
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr "Personalizza la piastra corrente"
@@ -7878,6 +7881,14 @@ msgstr ""
"Temperatura del piano quando è installato il piatto Cool Plate. Il valore 0 "
"significa che il filamento non supporta la stampa su piatto Cool Plate."
+msgid "Textured Cool plate"
+msgstr ""
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid "Engineering plate"
msgstr "Engineering plate"
@@ -9766,6 +9777,11 @@ msgstr ""
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9800,6 +9816,11 @@ msgstr ""
"Indica la temperatura del piano del primo layer. Un valore pari a 0 indica "
"che il filamento non supporta la stampa sul piatto Cool Plate."
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9824,12 +9845,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "Tipi di piatti supportati dalla stampante"
-msgid "Cool Plate"
-msgstr "Cool Plate"
+msgid "Smooth Cool Plate"
+msgstr ""
msgid "Engineering Plate"
msgstr "Engineering Plate"
+msgid "Smooth High Temp Plate"
+msgstr ""
+
+msgid "Textured Cool Plate"
+msgstr ""
+
msgid "First layer print sequence"
msgstr "Sequenza di stampa del primo strato"
@@ -10864,6 +10891,7 @@ msgstr ""
msgid "Enable adaptive pressure advance (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -10888,6 +10916,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -17148,6 +17177,9 @@ msgstr ""
"aumentare in modo appropriato la temperatura del piano riscaldato può "
"ridurre la probabilità di deformazione."
+#~ msgid "Cool Plate"
+#~ msgstr "Cool Plate"
+
#~ msgid "Reverse on odd"
#~ msgstr "Retromarcia su dispari"
diff --git a/localization/i18n/ja/OrcaSlicer_ja.po b/localization/i18n/ja/OrcaSlicer_ja.po
index 4bb6f1fb2f..2f5be4ee82 100644
--- a/localization/i18n/ja/OrcaSlicer_ja.po
+++ b/localization/i18n/ja/OrcaSlicer_ja.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -5720,6 +5720,9 @@ msgstr ""
msgid "Edit current plate name"
msgstr ""
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr ""
@@ -7586,6 +7589,14 @@ msgstr ""
"常温プレートが装着時のベッド温度です。値が0の場合、フィラメントが常温プレート"
"に使用できない意味です。"
+msgid "Textured Cool plate"
+msgstr ""
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid "Engineering plate"
msgstr "エンジニアリングプレート"
@@ -9343,6 +9354,11 @@ msgstr ""
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9377,6 +9393,11 @@ msgstr ""
"1層目のベッド温度です。値が0の場合、フィラメントが常温プレートに使用できない"
"意味です。"
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9401,12 +9422,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "適応ベッド種類"
-msgid "Cool Plate"
-msgstr "常温プレート"
+msgid "Smooth Cool Plate"
+msgstr ""
msgid "Engineering Plate"
msgstr "エンジニアリングプレート"
+msgid "Smooth High Temp Plate"
+msgstr ""
+
+msgid "Textured Cool Plate"
+msgstr ""
+
msgid "First layer print sequence"
msgstr "First layer print sequence"
@@ -10295,6 +10322,7 @@ msgstr ""
msgid "Enable adaptive pressure advance (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -10319,6 +10347,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -15980,6 +16009,9 @@ msgstr ""
"ABS, appropriately increasing the heatbed temperature can reduce the "
"probability of warping?"
+#~ msgid "Cool Plate"
+#~ msgstr "常温プレート"
+
#~ msgid ""
#~ "While printing by Object, the extruder may collide skirt.\n"
#~ "Thus, reset the skirt layer to 1 to avoid that."
diff --git a/localization/i18n/ko/OrcaSlicer_ko.po b/localization/i18n/ko/OrcaSlicer_ko.po
index a98421f001..ffb1bbebc4 100644
--- a/localization/i18n/ko/OrcaSlicer_ko.po
+++ b/localization/i18n/ko/OrcaSlicer_ko.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: 2024-05-31 23:33+0900\n"
"Last-Translator: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github."
"com>\n"
@@ -5763,6 +5763,9 @@ msgstr "현재 플레이트 잠금"
msgid "Edit current plate name"
msgstr "현재 번호판 이름 수정"
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr "사용자 정의 플레이트"
@@ -7650,6 +7653,14 @@ msgstr ""
"쿨 플레이트 설치 시 베드 온도. 값 0은 필라멘트가 쿨 플레이트에 출력하는 것을 "
"지원하지 않음을 의미합니다"
+msgid "Textured Cool plate"
+msgstr ""
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid "Engineering plate"
msgstr "엔지니어링 플레이트"
@@ -9461,6 +9472,11 @@ msgstr ""
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9495,6 +9511,11 @@ msgstr ""
"초기 레이어의 베드 온도. 값 0은 필라멘트가 쿨 플레이트 출력을 지원하지 않음"
"을 의미합니다"
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9519,12 +9540,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "프린터가 지원하는 베드 유형"
-msgid "Cool Plate"
-msgstr "쿨 플레이트"
+msgid "Smooth Cool Plate"
+msgstr ""
msgid "Engineering Plate"
msgstr "엔지니어링 플레이트"
+msgid "Smooth High Temp Plate"
+msgstr ""
+
+msgid "Textured Cool Plate"
+msgstr ""
+
msgid "First layer print sequence"
msgstr "첫 레이어 출력 순서"
@@ -10502,6 +10529,7 @@ msgstr "프레셔 어드밴스(Klipper)/리니어 어드밴스(Marlin)"
msgid "Enable adaptive pressure advance (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -10526,6 +10554,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -16532,6 +16561,9 @@ msgstr ""
"ABS와 같이 뒤틀림이 발생하기 쉬운 소재를 출력할 때, 히트베드 온도를 적절하게 "
"높이면 뒤틀림 가능성을 줄일 수 있다는 사실을 알고 계셨나요?"
+#~ msgid "Cool Plate"
+#~ msgstr "쿨 플레이트"
+
#~ msgid "Reverse on odd"
#~ msgstr "홀수에 반전"
diff --git a/localization/i18n/nl/OrcaSlicer_nl.po b/localization/i18n/nl/OrcaSlicer_nl.po
index 9aa4344d5d..b8822a46e8 100644
--- a/localization/i18n/nl/OrcaSlicer_nl.po
+++ b/localization/i18n/nl/OrcaSlicer_nl.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -5853,6 +5853,9 @@ msgstr ""
msgid "Edit current plate name"
msgstr ""
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr ""
@@ -7836,6 +7839,14 @@ msgstr ""
"Dit is de bedtemperatuur wanneer de koelplaat is geïnstalleerd. Een waarde "
"van 0 betekent dat het filament printen op de Cool Plate niet ondersteunt."
+msgid "Textured Cool plate"
+msgstr ""
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid "Engineering plate"
msgstr "Engineering plaat"
@@ -9676,6 +9687,11 @@ msgstr ""
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9711,6 +9727,11 @@ msgstr ""
"Dit is de bedtemperatuur van de beginlaag. Een waarde van 0 betekent dat het "
"filament printen op de Cool Plate niet ondersteunt."
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9735,12 +9756,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "Printbedden ondersteund door de printer"
-msgid "Cool Plate"
-msgstr "Cool (koud) printbed"
+msgid "Smooth Cool Plate"
+msgstr ""
msgid "Engineering Plate"
msgstr "Engineering plate (technisch printbed)"
+msgid "Smooth High Temp Plate"
+msgstr ""
+
+msgid "Textured Cool Plate"
+msgstr ""
+
msgid "First layer print sequence"
msgstr "Afdrukvolgorde van de eerste laag"
@@ -10664,6 +10691,7 @@ msgstr ""
msgid "Enable adaptive pressure advance (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -10688,6 +10716,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -16554,6 +16583,9 @@ msgstr ""
"kromtrekken, zoals ABS, een juiste verhoging van de temperatuur van het "
"warmtebed de kans op kromtrekken kan verkleinen?"
+#~ msgid "Cool Plate"
+#~ msgstr "Cool (koud) printbed"
+
#~ msgid "Reverse on odd"
#~ msgstr "Overhang omkering"
diff --git a/localization/i18n/pl/OrcaSlicer_pl.po b/localization/i18n/pl/OrcaSlicer_pl.po
index 357b082ea7..7d1736a5ed 100644
--- a/localization/i18n/pl/OrcaSlicer_pl.po
+++ b/localization/i18n/pl/OrcaSlicer_pl.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OrcaSlicer 2.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: Krzysztof Morga \n"
"Language-Team: \n"
@@ -5916,6 +5916,9 @@ msgstr "Zablokuj bieżący stół"
msgid "Edit current plate name"
msgstr "Edytuj aktualną nazwę płyty"
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr "Dostosuj bieżący stół"
@@ -7878,6 +7881,14 @@ msgstr ""
"Temperatura stołu, gdy zainstalowana jest Cool Plate. Wartość 0 oznacza, że "
"filament nie jest przystosowany do druku na Cool Plate"
+msgid "Textured Cool plate"
+msgstr ""
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid "Engineering plate"
msgstr "Engineering Plate"
@@ -9775,6 +9786,11 @@ msgstr ""
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9809,6 +9825,11 @@ msgstr ""
"Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie "
"obsługuje drukowania na Cool Plate"
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9833,12 +9854,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "Rodzaje płyt roboczych obsługiwanych przez drukarkę"
-msgid "Cool Plate"
-msgstr "Cool Plate / PLA Plate"
+msgid "Smooth Cool Plate"
+msgstr ""
msgid "Engineering Plate"
msgstr "Engineering Plate"
+msgid "Smooth High Temp Plate"
+msgstr ""
+
+msgid "Textured Cool Plate"
+msgstr ""
+
msgid "First layer print sequence"
msgstr "Sekwencja druku pierwszej warstwy"
@@ -10872,6 +10899,7 @@ msgstr ""
msgid "Enable adaptive pressure advance (beta)"
msgstr "Włącz adaptacyjny wzrost ciśnienia (beta)"
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -10893,8 +10921,8 @@ msgid ""
"\n"
msgstr ""
"Wraz ze wzrostem prędkości druku zaobserwowano, że efektywna wartość PA "
-"zazwyczaj maleje. Oznacza to, że pojedyncza wartość PA nie jest w "
-"100% optymalna dla wszystkich elementów i zwykle stosowana jest wartość "
+"zazwyczaj maleje. Oznacza to, że pojedyncza wartość PA nie jest w 100% "
+"optymalna dla wszystkich elementów i zwykle stosowana jest wartość "
"kompromisowa, która nie powoduje zbyt dużego \"wypuklenia\" na elementach "
"drukowanych wolniej, a jednocześnie nie powoduje przerw na elementach "
"drukowanych szybciej.\n"
@@ -10912,6 +10940,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr "Adaptacyjny pomiar ciśnienia (beta)"
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -17296,6 +17325,9 @@ msgstr ""
"takimi jak ABS, odpowiednie zwiększenie temperatury podgrzewanej płyty może "
"zmniejszyć prawdopodobieństwo odkształceń."
+#~ msgid "Cool Plate"
+#~ msgstr "Cool Plate / PLA Plate"
+
#~ msgid "Reverse on odd"
#~ msgstr "Przeciwny kierunek na nieparzystych warstwach"
diff --git a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po
index 34e6028d9f..e1a883e841 100644
--- a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po
+++ b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po
@@ -2,7 +2,7 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: 2024-06-01 21:51-0300\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
@@ -5911,6 +5911,9 @@ msgstr "Bloquear a mesa atual"
msgid "Edit current plate name"
msgstr "Editar nome da mesa atual"
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr "Personalizar a mesa atual"
@@ -7878,6 +7881,14 @@ msgstr ""
"Temperatura da mesa quando a cool plate (mesa fria) está instalada. Valor 0 "
"significa que o filamento não suporta impressão na cool plate"
+msgid "Textured Cool plate"
+msgstr ""
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid "Engineering plate"
msgstr "Mesa de engenharia"
@@ -9739,6 +9750,11 @@ msgstr ""
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9773,6 +9789,11 @@ msgstr ""
"Temperatura da mesa na primeira camada. O valor 0 significa que o filamento "
"não suporta a impressão na Cool Plate (Mesa Fria)"
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9797,12 +9818,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "Tipos de mesa suportadas pela impressora"
-msgid "Cool Plate"
-msgstr "Mesa Fria"
+msgid "Smooth Cool Plate"
+msgstr ""
msgid "Engineering Plate"
msgstr "Engenharia Plate"
+msgid "Smooth High Temp Plate"
+msgstr ""
+
+msgid "Textured Cool Plate"
+msgstr ""
+
msgid "First layer print sequence"
msgstr "Sequência de impressão da primeira camada"
@@ -10832,6 +10859,7 @@ msgstr ""
msgid "Enable adaptive pressure advance (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -10856,6 +10884,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -17116,6 +17145,9 @@ msgstr ""
"aumentar adequadamente a temperatura da mesa aquecida pode reduzir a "
"probabilidade de empenamento?"
+#~ msgid "Cool Plate"
+#~ msgstr "Mesa Fria"
+
#~ msgid "Reverse on odd"
#~ msgstr "Inverter em ímpares"
diff --git a/localization/i18n/ru/OrcaSlicer_ru.po b/localization/i18n/ru/OrcaSlicer_ru.po
index 4ec36d4289..f29f53320e 100644
--- a/localization/i18n/ru/OrcaSlicer_ru.po
+++ b/localization/i18n/ru/OrcaSlicer_ru.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OrcaSlicer V2.0.0 Official Release\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: 2024-09-15 13:34+0300\n"
"Last-Translator: \n"
"Language-Team: andylg@yandex.ru\n"
@@ -5951,6 +5951,9 @@ msgstr "Заблокировать текущую печатную пласти
msgid "Edit current plate name"
msgstr "Изменить имя текущей пластины"
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr "Настроить текущую печатную пластину"
@@ -7943,6 +7946,14 @@ msgstr ""
"Температура не подогреваемого стола. 0 означает, что пластиковая нить не "
"поддерживает печать на этой печатной пластине."
+msgid "Textured Cool plate"
+msgstr ""
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid "Engineering plate"
msgstr "Инженерная пластина"
@@ -8133,8 +8144,8 @@ msgid ""
"nozzle diameter value?"
msgstr ""
"При активации нескольких материалов на одном экструдере, \n"
-"все экструдеры должны иметь одинаковый диаметр"
-"Хотите ли Вы изменить диаметр для всех экструдеров \n"
+"все экструдеры должны иметь одинаковый диаметрХотите ли Вы изменить диаметр "
+"для всех экструдеров \n"
"на значение диаметра сопла первого экструдера?"
msgid "Nozzle diameter"
@@ -9194,8 +9205,8 @@ msgid ""
"Your print is very close to the priming regions. Make sure there is no "
"collision."
msgstr ""
-"Объект печати находится слишком близко друг к другу. "
-"Убедитесь что нет столкновения объектов."
+"Объект печати находится слишком близко друг к другу. Убедитесь что нет "
+"столкновения объектов."
msgid ""
"Failed to generate gcode for invalid custom G-code.\n"
@@ -9431,8 +9442,8 @@ msgid ""
"While the object %1% itself fits the build volume, it exceeds the maximum "
"build volume height because of material shrinkage compensation."
msgstr ""
-"Несмотря на то, что объём объекта %1% помещается в область сборки, "
-"он превышает максимальную высоту из-за компенсации усадки материала."
+"Несмотря на то, что объём объекта %1% помещается в область сборки, он "
+"превышает максимальную высоту из-за компенсации усадки материала."
#, boost-format
msgid "The object %1% exceeds the maximum build volume height."
@@ -9462,8 +9473,9 @@ msgid ""
"well when the prime tower is enabled. It's very experimental, so please "
"proceed with caution."
msgstr ""
-"Разные диаметры сопел и нитей могут плохо работать при включённой основной башне. "
-"Это ранняя экспериментальная функция, поэтому используйте с осторожностью."
+"Разные диаметры сопел и нитей могут плохо работать при включённой основной "
+"башне. Это ранняя экспериментальная функция, поэтому используйте с "
+"осторожностью."
msgid ""
"The Wipe Tower is currently only supported with the relative extruder "
@@ -9476,9 +9488,8 @@ msgid ""
"Ooze prevention is only supported with the wipe tower when "
"'single_extruder_multi_material' is off."
msgstr ""
-"Предотвращение образования пузырей поддерживается только при "
-"использовании башни стирания, когда 'single_extruder_multi_material' "
-"выключен"
+"Предотвращение образования пузырей поддерживается только при использовании "
+"башни стирания, когда 'single_extruder_multi_material' выключен"
msgid ""
"The prime tower is currently only supported for the Marlin, RepRap/Sprinter, "
@@ -9863,6 +9874,11 @@ msgstr ""
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9897,6 +9913,11 @@ msgstr ""
"Температура стола для первого слоя. 0 означает, что пластиковая нить не "
"поддерживает печать на этой печатной пластине."
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9921,12 +9942,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "Типы столов, поддерживаемые принтером"
-msgid "Cool Plate"
-msgstr "Не нагреваемая пластина"
+msgid "Smooth Cool Plate"
+msgstr ""
msgid "Engineering Plate"
msgstr "Инженерная пластина"
+msgid "Smooth High Temp Plate"
+msgstr ""
+
+msgid "Textured Cool Plate"
+msgstr ""
+
msgid "First layer print sequence"
msgstr "Последовательность печати первого слоя"
@@ -10006,32 +10033,33 @@ msgid ""
"generator and use this option to control whether the cosmetic top and bottom "
"surface gap fill is generated"
msgstr ""
-"Включает заполнение зазоров для выбранных твёрдых поверхностей. "
-"Минимальную длину зазора заполнения можно контролировать с помощью параметра "
-"фильтрации мелких зазоров, расположенного ниже.\n"
+"Включает заполнение зазоров для выбранных твёрдых поверхностей. Минимальную "
+"длину зазора заполнения можно контролировать с помощью параметра фильтрации "
+"мелких зазоров, расположенного ниже.\n"
"\n"
"Параметры:\n"
-"1. Везде: Заполняет зазоры на верхней, нижней и внутренней твёрдых поверхностях "
-"для обеспечения максимальной прочности;\n"
-"2. Верхние и нижние поверхности: Применяет заполнение зазоров только к верхней "
-"и нижней поверхностям, балансируя скорость печати путём уменьшения потенциальной "
-"избыточной эструзии в сплошном заполнении, обеспечивая отсутствие зазоров между "
-"ними;\n"
-"3. Нигде: Отключает заполнение пробелов для всех областей сплошной заливки. \n"
+"1. Везде: Заполняет зазоры на верхней, нижней и внутренней твёрдых "
+"поверхностях для обеспечения максимальной прочности;\n"
+"2. Верхние и нижние поверхности: Применяет заполнение зазоров только к "
+"верхней и нижней поверхностям, балансируя скорость печати путём уменьшения "
+"потенциальной избыточной эструзии в сплошном заполнении, обеспечивая "
+"отсутствие зазоров между ними;\n"
+"3. Нигде: Отключает заполнение пробелов для всех областей сплошной "
+"заливки. \n"
"\n"
"Обратите внимание, что при использовании классического генератора периметра "
"между периметрами также могут образовываться промежутки, если между ними не "
"помещается линия полной ширины. \n"
"\n"
"Если Вы хотите, чтобы все промежутки, включая сгенерированные классическим "
-"генератором периметра, были удалены, установите значение параметра фильтрации "
-"маленьких промежутков на большое число, например, 999999. \n"
+"генератором периметра, были удалены, установите значение параметра "
+"фильтрации маленьких промежутков на большое число, например, 999999. \n"
"\n"
"Однако этого делать не рекомендуется, поскольку заполнение зазоров между "
"периметрами влияет на прочность модели. Для некоторых моделей, в которых "
"между периметрами образуются чрезмерные зазоры, лучшим вариантом будет "
-"переключение на генератор паутинных стен с использованием опции для управления "
-"косметическими зазорами на верхней и нижней поверхностях."
+"переключение на генератор паутинных стен с использованием опции для "
+"управления косметическими зазорами на верхней и нижней поверхностях."
msgid "Everywhere"
msgstr "Везде"
@@ -10128,12 +10156,12 @@ msgid ""
"object's flow ratio."
msgstr ""
"Это значение определяет толщину внутреннего мостового слоя. Это первый слой "
-"над разрежённым наполнителем. Немного уменьшите это значение (например, 0,9), "
-"чтобы улучшить качество поверхности поверх редкого наполнителя.\n"
+"над разрежённым наполнителем. Немного уменьшите это значение (например, "
+"0,9), чтобы улучшить качество поверхности поверх редкого наполнителя.\n"
"\n"
"Фактический внутренний расход моста рассчитывается путём умножения этого "
-"значения на коэффициент расхода моста, коэффициент расхода нити и, если задано, "
-"коэффициент расхода объекта."
+"значения на коэффициент расхода моста, коэффициент расхода нити и, если "
+"задано, коэффициент расхода объекта."
msgid "Top surface flow ratio"
msgstr "Коэффициент потока на верхней поверхности"
@@ -10145,9 +10173,9 @@ msgid ""
"The actual top surface flow used is calculated by multiplying this value "
"with the filament flow ratio, and if set, the object's flow ratio."
msgstr ""
-"Этот фактор влияет на количество материала для верхнего сплошного наполнения. "
-"Вы можете немного уменьшить его для получения гладкой поверхности."
-"\n"
+"Этот фактор влияет на количество материала для верхнего сплошного "
+"наполнения. Вы можете немного уменьшить его для получения гладкой "
+"поверхности.\n"
"Фактический расход на верхней поверхности рассчитывается путём умножения "
"этого значения на коэффициент расхода нити и, если задано, на коэффициент "
"расхода объекта."
@@ -10161,11 +10189,12 @@ msgid ""
"The actual bottom solid infill flow used is calculated by multiplying this "
"value with the filament flow ratio, and if set, the object's flow ratio."
msgstr ""
-"Этот фактор влияет на количество материала для нижнего сплошного наполнения. \n"
+"Этот фактор влияет на количество материала для нижнего сплошного "
+"наполнения. \n"
"\n"
-"Фактический расход нижнего твердого наполнителя рассчитывается путём умножения "
-"этого значения на коэффициент расхода нити и, если задано, на коэффициент "
-"расхода объекта."
+"Фактический расход нижнего твердого наполнителя рассчитывается путём "
+"умножения этого значения на коэффициент расхода нити и, если задано, на "
+"коэффициент расхода объекта."
msgid "Precise wall"
msgstr "Точные периметры"
@@ -10276,15 +10305,15 @@ msgstr ""
"Применяйте логику обратных периметров только к внутренним периметрам.\n"
"\n"
"Эта настройка значительно снижает напряжения в детали, поскольку теперь они "
-"распределяются в противоположных направлениях. Это должно уменьшить деформацию "
-"детали, сохраняя при этом качество внешних стенок. Эта функция может быть "
-"очень полезна для материалов, склонных к деформации, таких как ABS/ASA, а "
-"также для эластичных нитей, таких как TPU и Silk PLA. Она также может помочь "
-"уменьшить деформацию плавающих областей над опорами."
-"\n"
-"Чтобы эта настройка была наиболее эффективной, рекомендуется установить порог "
-"Reverse Threshold на 0, чтобы все внутренние стены печатались в чередующихся "
-"направлениях на ровных слоях, независимо от степени их нависания."
+"распределяются в противоположных направлениях. Это должно уменьшить "
+"деформацию детали, сохраняя при этом качество внешних стенок. Эта функция "
+"может быть очень полезна для материалов, склонных к деформации, таких как "
+"ABS/ASA, а также для эластичных нитей, таких как TPU и Silk PLA. Она также "
+"может помочь уменьшить деформацию плавающих областей над опорами.\n"
+"Чтобы эта настройка была наиболее эффективной, рекомендуется установить "
+"порог Reverse Threshold на 0, чтобы все внутренние стены печатались в "
+"чередующихся направлениях на ровных слоях, независимо от степени их "
+"нависания."
msgid "Bridge counterbore holes"
msgstr "Мост для зенкованных отверстий"
@@ -10322,8 +10351,8 @@ msgid ""
"useful. Can be a % of the perimeter width.\n"
"Value 0 enables reversal on every even layers regardless."
msgstr ""
-"Количество миллиметров свеса, которое должно быть, чтобы разворот "
-"считался полезным, может составлять % от ширины периметра.\n"
+"Количество миллиметров свеса, которое должно быть, чтобы разворот считался "
+"полезным, может составлять % от ширины периметра.\n"
"Значение 0 включает разворот на всех чётных слоях независимо от этого "
"параметра."
@@ -10370,14 +10399,14 @@ msgstr ""
"Обычно рекомендуется включать эту опцию, только если охлаждение принтера "
"недостаточно мощное или скорость печати не настолько низкая, что скручивание "
"по периметру не происходит. При печати с высокой скоростью по внешнему "
-"периметру этот параметр может вносить небольшие артефакты при замедлении из-за "
-"большого разброса скоростей печати. Если Вы заметили артефакты, убедитесь, "
-"что опережение давления настроено правильно.\n"
+"периметру этот параметр может вносить небольшие артефакты при замедлении из-"
+"за большого разброса скоростей печати. Если Вы заметили артефакты, "
+"убедитесь, что опережение давления настроено правильно.\n"
"\n"
-"Примечание: Когда эта опция включена, периметры нависаний рассматриваются как "
-"нависания, то есть скорость нависания применяется, даже если периметр нависания "
-"является частью моста. Например, если периметр нависает на 100%, а снизу его "
-"не поддерживает стена, будет применяться скорость нависания 100%."
+"Примечание: Когда эта опция включена, периметры нависаний рассматриваются "
+"как нависания, то есть скорость нависания применяется, даже если периметр "
+"нависания является частью моста. Например, если периметр нависает на 100%, а "
+"снизу его не поддерживает стена, будет применяться скорость нависания 100%."
msgid "mm/s or %"
msgstr "мм/с или %"
@@ -10397,8 +10426,8 @@ msgstr ""
"\n"
"Кроме того, если отключена функция замедления для скрученных периметров или "
"включен режим классического свеса, то скорость печати будет соответствовать "
-"скорости печати стен свесов, опирающихся менее чем на 13%, независимо от того, "
-"являются ли они частью моста или свеса."
+"скорости печати стен свесов, опирающихся менее чем на 13%, независимо от "
+"того, являются ли они частью моста или свеса."
msgid "mm/s"
msgstr "мм/с"
@@ -10643,30 +10672,31 @@ msgstr ""
"Эта опция может помочь уменьшить заваливание верхних поверхностей в сильно "
"наклонных или изогнутых моделях.\n"
"\n"
-"По-умолчанию небольшие внутренние мосты подвергаются фильтрации, а внутренняя "
-"сплошная заливка печатается непосредственно поверх разреженной заливки. "
-"В большинстве случаев это хорошо работает, ускоряя печать без особого ущерба "
-"для качества верхней поверхности.\n"
+"По-умолчанию небольшие внутренние мосты подвергаются фильтрации, а "
+"внутренняя сплошная заливка печатается непосредственно поверх разреженной "
+"заливки. В большинстве случаев это хорошо работает, ускоряя печать без "
+"особого ущерба для качества верхней поверхности.\n"
"\n"
"Однако в сильно наклонных или изогнутых моделях, особенно если используется "
-"слишком низкая плотность разреженной заливки, это может привести к скручиванию "
-"незакреплённой сплошной заливки, вызывая заваливание.\n"
+"слишком низкая плотность разреженной заливки, это может привести к "
+"скручиванию незакреплённой сплошной заливки, вызывая заваливание.\n"
"\n"
"Отключение этой опции приведет к печати внутреннего мостового слоя поверх "
"слегка незакреплённого внутреннего сплошного наполнителя. Приведенные ниже "
"параметры регулируют степень фильтрации, т.е. количество создаваемых "
"внутренних мостиков.\n"
"\n"
-"Фильтр - включите эту опцию. Это поведение по умолчанию, и оно хорошо работает "
-"в большинстве случаев.\n"
+"Фильтр - включите эту опцию. Это поведение по умолчанию, и оно хорошо "
+"работает в большинстве случаев.\n"
"\n"
"Ограниченная фильтрация - создает внутренние мостики на сильно наклонных "
-"поверхностях, избегая при этом создания ненужных внутренних мостиков. "
-"Это хорошо работает для большинства сложных моделей.\n"
+"поверхностях, избегая при этом создания ненужных внутренних мостиков. Это "
+"хорошо работает для большинства сложных моделей.\n"
"\n"
"Без фильтрации - создаёт внутренние мосты на каждом потенциальном внутреннем "
-"выступе. Этот вариант полезен для моделей с сильно наклоненной верхней поверхностью. "
-"Однако в большинстве случаев он создаёт слишком много ненужных мостов."
+"выступе. Этот вариант полезен для моделей с сильно наклоненной верхней "
+"поверхностью. Однако в большинстве случаев он создаёт слишком много ненужных "
+"мостов."
msgid "Filter"
msgstr "Фильтр"
@@ -10919,11 +10949,13 @@ msgid ""
"\n"
"This option will be disabled if spiral vase mode is enabled."
msgstr ""
-"Направление, в котором выдавливаются петли стены, если смотреть сверху вниз.\n"
+"Направление, в котором выдавливаются петли стены, если смотреть сверху "
+"вниз.\n"
"\n"
"По-умолчанию все стены выдавливаются против часовой стрелки, если не включен "
"параметр реверса по чётным. Если установить для этого параметра значение, "
-"отличное от Auto, направление стены будет задано независимо от реверса по чётным.\n"
+"отличное от Auto, направление стены будет задано независимо от реверса по "
+"чётным.\n"
"\n"
"Эта опция будет отключена, если включён режим спиральной вазы."
@@ -11073,8 +11105,8 @@ msgstr ""
"Материал может иметь объёмные изменения после перехода из расплавленного "
"состояния в кристаллическое. Эта настройка пропорционально изменяет весь "
"экструзионный поток этой нити в gcode. Рекомендуемый диапазон значений - от "
-"0,95 до 1,05. Возможно, вы можете настроить это значение для получения хорошей "
-"плоской поверхности при небольшом переливе или недоливе.\n"
+"0,95 до 1,05. Возможно, вы можете настроить это значение для получения "
+"хорошей плоской поверхности при небольшом переливе или недоливе.\n"
"\n"
"Конечный коэффициент расхода объекта равен этому значению, умноженному на "
"коэффициент расхода филамента."
@@ -11097,6 +11129,7 @@ msgstr ""
msgid "Enable adaptive pressure advance (beta)"
msgstr "Включить адаптивный pressure advance (бета)"
+#, fuzzy, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -11117,28 +11150,31 @@ msgid ""
"and for when tool changing.\n"
"\n"
msgstr ""
-"Было замечено, что с увеличением скорости печати (и, следовательно, увеличением "
-"объёмного потока через сопло) и ускорения эффективное значение PA обычно "
-"уменьшается. Это означает, что одно значение PA не всегда на 100% оптимально "
-"для всех элементов, и обычно используется компромиссное значение, которое не "
-"вызывает слишком сильных выпуклостей на элементах с меньшей скоростью потока и "
-"ускорениями и в то же время не вызывает зазоров на более быстрых элементах.\n"
+"Было замечено, что с увеличением скорости печати (и, следовательно, "
+"увеличением объёмного потока через сопло) и ускорения эффективное значение "
+"PA обычно уменьшается. Это означает, что одно значение PA не всегда на 100% "
+"оптимально для всех элементов, и обычно используется компромиссное значение, "
+"которое не вызывает слишком сильных выпуклостей на элементах с меньшей "
+"скоростью потока и ускорениями и в то же время не вызывает зазоров на более "
+"быстрых элементах.\n"
"\n"
-"Данная функция призвана устранить это ограничение путем моделирования реакции "
-"экструзионной системы вашего принтера в зависимости от объёмной скорости потока "
-"и ускорения, с которыми он печатает. Внутри системы генерируется модель, "
-"позволяющая экстраполировать необходимое значение pressure advance для любой "
-"заданной скорости потока и ускорения, которое затем передается принтеру в "
-"зависимости от текущих условий печати.\n"
+"Данная функция призвана устранить это ограничение путем моделирования "
+"реакции экструзионной системы вашего принтера в зависимости от объёмной "
+"скорости потока и ускорения, с которыми он печатает. Внутри системы "
+"генерируется модель, позволяющая экстраполировать необходимое значение "
+"pressure advance для любой заданной скорости потока и ускорения, которое "
+"затем передается принтеру в зависимости от текущих условий печати.\n"
"\n"
-"Когда эта функция включена, значение pressure advance, указанное выше, отменяется. "
-"Однако настоятельно рекомендуется использовать разумное значение по умолчанию, "
-"чтобы использовать его в качестве запасного варианта и при смене инструмента.\n"
+"Когда эта функция включена, значение pressure advance, указанное выше, "
+"отменяется. Однако настоятельно рекомендуется использовать разумное значение "
+"по умолчанию, чтобы использовать его в качестве запасного варианта и при "
+"смене инструмента.\n"
"\n"
msgid "Adaptive pressure advance measurements (beta)"
msgstr "Адаптивные измерения pressure advance (бета)"
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -11168,8 +11204,8 @@ msgid ""
"your filament profile\n"
"\n"
msgstr ""
-"Добавьте наборы значений pressure advance (PA), объемных скоростей потока "
-"и ускорений, при которых они были измерены, через запятую. Один набор значений "
+"Добавьте наборы значений pressure advance (PA), объемных скоростей потока и "
+"ускорений, при которых они были измерены, через запятую. Один набор значений "
"на строку. Например:\n"
"\n"
"0.04,3.96,3000\n"
@@ -11177,24 +11213,27 @@ msgstr ""
"0.029,7.91,3000\n"
"0.026,7.91,10000\n"
"\n"
-"\nКак выполнить калибровку:\n"
"\n"
-"1. Проведите тест на опережение давления не менее чем на 3 скоростях для каждого "
-"значения ускорения. Рекомендуется выполнить тест как минимум для скорости внешних "
-"периметров, скорости внутренних периметров и самой высокой скорости печати "
-"элементов в вашем профиле (обычно это разреженная или сплошная заливка). Затем "
-"прогоните их на тех же скоростях для самого медленного и самого быстрого ускорения "
-"печати, но не быстрее рекомендованного максимального ускорения, указанного входным "
-"формирователем Klipper.\n"
+"Как выполнить калибровку:\n"
"\n"
-"2. Запишите оптимальное значение PA для каждой скорости объемного потока и ускорения. "
-"Номер потока можно найти, выбрав поток в раскрывающемся меню цветовой схемы и переместив "
-"горизонтальный ползунок над линиями шаблона PA. Число должно быть видно в нижней части "
-"страницы. Идеальное значение PA должно уменьшаться тем больше, чем выше объемный расход. "
-"Чем медленнее и с меньшим ускорением вы печатаете, тем больше диапазон допустимых значений "
-"PA. Если разница не видна, используйте значение PA из более быстрого теста.3. Введите "
-"триплеты значений PA, расхода и ускорения в текстовое поле здесь и сохраните профиль "
-"филамента.\n"
+"1. Проведите тест на опережение давления не менее чем на 3 скоростях для "
+"каждого значения ускорения. Рекомендуется выполнить тест как минимум для "
+"скорости внешних периметров, скорости внутренних периметров и самой высокой "
+"скорости печати элементов в вашем профиле (обычно это разреженная или "
+"сплошная заливка). Затем прогоните их на тех же скоростях для самого "
+"медленного и самого быстрого ускорения печати, но не быстрее "
+"рекомендованного максимального ускорения, указанного входным формирователем "
+"Klipper.\n"
+"\n"
+"2. Запишите оптимальное значение PA для каждой скорости объемного потока и "
+"ускорения. Номер потока можно найти, выбрав поток в раскрывающемся меню "
+"цветовой схемы и переместив горизонтальный ползунок над линиями шаблона PA. "
+"Число должно быть видно в нижней части страницы. Идеальное значение PA "
+"должно уменьшаться тем больше, чем выше объемный расход. Чем медленнее и с "
+"меньшим ускорением вы печатаете, тем больше диапазон допустимых значений PA. "
+"Если разница не видна, используйте значение PA из более быстрого теста.3. "
+"Введите триплеты значений PA, расхода и ускорения в текстовое поле здесь и "
+"сохраните профиль филамента.\n"
"\n"
msgid "Enable adaptive pressure advance for overhangs (beta)"
@@ -11225,8 +11264,8 @@ msgstr ""
"Значение pressure advance для мостов. Для отключения установките 0.\n"
"\n"
"Более низкое значение PA при печати мостов помогает уменьшить появление "
-"небольшой недоэкструзии сразу после мостов. Это вызвано перепадом давления "
-"в сопле при печати на воздухе, и более низкое значение PA помогает "
+"небольшой недоэкструзии сразу после мостов. Это вызвано перепадом давления в "
+"сопле при печати на воздухе, и более низкое значение PA помогает "
"противостоять этому."
msgid ""
@@ -11345,8 +11384,8 @@ msgid ""
msgstr ""
"Время выгрузки старой нити при смене нити. Обычно применяется для "
"одноэкструдерных машин с несколькими материалами. Для станков со сменой "
-"инструмента или многоинструментальных станков оно обычно равно 0. "
-"Только для статистики"
+"инструмента или многоинструментальных станков оно обычно равно 0. Только для "
+"статистики"
msgid "Tool change time"
msgstr "Инструмент изменения времени"
@@ -11358,8 +11397,8 @@ msgid ""
msgstr ""
"Время, необходимое для переключения инструментов. Обычно применяется для "
"станков со сменой инструмента или многоинструментальных станков. Для "
-"одноэкструдерных станков с несколькими материалами он обычно равен 0. "
-"Только для статистики"
+"одноэкструдерных станков с несколькими материалами он обычно равен 0. Только "
+"для статистики"
msgid ""
"Filament diameter is used to calculate extrusion in gcode, so it's important "
@@ -11383,8 +11422,8 @@ msgstr ""
"Коэффициент расхода гранул получен эмпирическим путем и позволяет "
"рассчитывать объем для гранульных принтеров.\n"
"\n"
-"Внутри системы он преобразуется в filament_diameter. Все остальные "
-"расчёты объема остаются прежними.\n"
+"Внутри системы он преобразуется в filament_diameter. Все остальные расчёты "
+"объема остаются прежними.\n"
"\n"
"filament_diameter = sqrt( (4 * pellet_flow_coefficient) / PI )"
@@ -11417,7 +11456,8 @@ msgid ""
"compensate."
msgstr ""
"Введите процент усадки, который получит нить после охлаждения (94%, если Вы "
-"измеряете 94 мм, а не 100 мм). Деталь будет масштабироваться по Z для компенсации."
+"измеряете 94 мм, а не 100 мм). Деталь будет масштабироваться по Z для "
+"компенсации."
msgid "Loading speed"
msgstr "Скорость загрузки"
@@ -11485,9 +11525,8 @@ msgid ""
"this movement should be before the filament is retracted again."
msgstr ""
"Если установлено ненулевое значение, нить перемещается к соплу между "
-"отдельными движениями охлаждения («теснение»). Этот параметр определяет, "
-"как долго должно продолжаться это движение, прежде чем нить снова будет "
-"втянута."
+"отдельными движениями охлаждения («теснение»). Этот параметр определяет, как "
+"долго должно продолжаться это движение, прежде чем нить снова будет втянута."
msgid "Speed of the first cooling move"
msgstr "Скорость первого охлаждающего движения"
@@ -11985,9 +12024,10 @@ msgid ""
"(in mm). This setting applies to top, bottom and solid infill and, if using "
"the classic perimeter generator, to wall gap fill. "
msgstr ""
-"Не печатать заливку с зазором, длина которого меньше указанного порога (в мм). "
-"Эта настройка применяется к верхнему, нижнему и сплошному заполнению, а при "
-"использовании классического генератора периметра - к заполнению зазоров в стене. "
+"Не печатать заливку с зазором, длина которого меньше указанного порога (в "
+"мм). Эта настройка применяется к верхнему, нижнему и сплошному заполнению, а "
+"при использовании классического генератора периметра - к заполнению зазоров "
+"в стене. "
msgid ""
"Speed of gap infill. Gap usually has irregular line width and should be "
@@ -12278,8 +12318,8 @@ msgstr ""
"максимизировать прочность разреженной заливки.\n"
"\n"
"Количество слоев, на которых комбинируется заливка, определяется путем "
-"деления этого значения на высоту слоя и округляется до ближайшего десятичного "
-"значения.\n"
+"деления этого значения на высоту слоя и округляется до ближайшего "
+"десятичного значения.\n"
"\n"
"Используйте либо абсолютные значения в мм (например, 0,32 мм для насадки 0,4 "
"мм), либо значения в % (например, 80 %). Это значение не должно быть больше "
@@ -12373,7 +12413,8 @@ msgid ""
"filaments touch. This improves the adhesion between filaments, especially "
"models printed in different materials."
msgstr ""
-"Создайте взаимосвязанную балочную структуру в местах соприкосновения различных \n"
+"Создайте взаимосвязанную балочную структуру в местах соприкосновения "
+"различных \n"
"нити соприкасаются. Это улучшает сцепление между нитями, особенно \n"
"моделей, напечатанных из разных материалов."
@@ -12406,8 +12447,9 @@ msgid ""
"The distance from the boundary between filaments to generate interlocking "
"structure, measured in cells. Too few cells will result in poor adhesion."
msgstr ""
-"Расстояние от границы между филаментами до образования взаимосвязанной структуры, "
-"измеряется в клетках. Слишком малое количество ячеек приводит к плохой адгезии."
+"Расстояние от границы между филаментами до образования взаимосвязанной "
+"структуры, измеряется в клетках. Слишком малое количество ячеек приводит к "
+"плохой адгезии."
msgid "Interlocking boundary avoidance"
msgstr "Избегание перечечения границ"
@@ -13506,7 +13548,8 @@ msgid ""
"Angle from the object center to skirt start point. Zero is the most right "
"position, counter clockwise is positive angle."
msgstr ""
-"Угол от центра объекта до начальной точки юбки. Ноль - самое правое положение, \n"
+"Угол от центра объекта до начальной точки юбки. Ноль - самое правое "
+"положение, \n"
"против часовой стрелки - положительный угол."
msgid "Skirt height"
@@ -13533,12 +13576,13 @@ msgstr ""
"деформации и отсоединения от печатной основы под воздействием ветра. Обычно "
"он необходим только для принтеров с открытой рамой, т. е. без кожуха.\n"
"\n"
-"Включено = высота юбки равна высоте самого высокого напечатанного объекта. "
-"В противном случае используется значение 'Высота юбки'.\n"
+"Включено = высота юбки равна высоте самого высокого напечатанного объекта. В "
+"противном случае используется значение 'Высота юбки'.\n"
"\n"
-"Примечание: При активной защите от сквозняка юбка будет печататься на расстоянии "
-"юбки от объекта. Поэтому, если активны ободки, она может пересекаться с ними. "
-"Чтобы избежать этого, увеличьте значение расстояния до юбки.\n"
+"Примечание: При активной защите от сквозняка юбка будет печататься на "
+"расстоянии юбки от объекта. Поэтому, если активны ободки, она может "
+"пересекаться с ними. Чтобы избежать этого, увеличьте значение расстояния до "
+"юбки.\n"
msgid "Disabled"
msgstr "Отключено"
@@ -13553,7 +13597,8 @@ msgid ""
"Combined - single skirt for all objects, Per object - individual object "
"skirt."
msgstr ""
-"Combined - единая юбка для всех объектов, Per object - юбка для отдельных объектов."
+"Combined - единая юбка для всех объектов, Per object - юбка для отдельных "
+"объектов."
msgid "Combined"
msgstr "Комбинированный"
@@ -13585,13 +13630,13 @@ msgid ""
"Final number of loops is not taling into account whli arranging or "
"validating objects distance. Increase loop number in such case. "
msgstr ""
-"Минимальная длина экструзии нити в мм при печати юбки. Нулевое значение означает, "
-"что эта функция отключена.\n"
+"Минимальная длина экструзии нити в мм при печати юбки. Нулевое значение "
+"означает, что эта функция отключена.\n"
"\n"
-"Использование ненулевого значения полезно, если принтер настроен на печать без "
-"основной линии.\n"
-"Конечное число петель не учитывается при расстановке или проверке расстояния между "
-"объектами. В этом случае увеличьте количество петель."
+"Использование ненулевого значения полезно, если принтер настроен на печать "
+"без основной линии.\n"
+"Конечное число петель не учитывается при расстановке или проверке расстояния "
+"между объектами. В этом случае увеличьте количество петель."
msgid ""
"The printing speed in exported gcode will be slowed down, when the estimated "
@@ -13703,10 +13748,11 @@ msgid ""
"seconds to preheat the next tool. Orca will insert a M104 command to preheat "
"the tool in advance."
msgstr ""
-"Чтобы сократить время ожидания после смены инструмента, Orca может предварительно "
-"нагреть следующий инструмент, пока текущий инструмент еще используется. Эта "
-"настройка задает время в секундах для предварительного нагрева следующего "
-"инструмента. Orca вставит команду M104 для предварительного нагрева инструмента."
+"Чтобы сократить время ожидания после смены инструмента, Orca может "
+"предварительно нагреть следующий инструмент, пока текущий инструмент еще "
+"используется. Эта настройка задает время в секундах для предварительного "
+"нагрева следующего инструмента. Orca вставит команду M104 для "
+"предварительного нагрева инструмента."
msgid "Preheat steps"
msgstr "Шаги преднагрева"
@@ -13715,8 +13761,8 @@ msgid ""
"Insert multiple preheat commands(e.g. M104.1). Only useful for Prusa XL. For "
"other printers, please set it to 1."
msgstr ""
-"Вставьте несколько команд предварительного нагрева (например, M104.1). Пригодится "
-"только для Prusa XL. Для других принтеров установите значение 1."
+"Вставьте несколько команд предварительного нагрева (например, M104.1). "
+"Пригодится только для Prusa XL. Для других принтеров установите значение 1."
msgid "Start G-code"
msgstr "Стартовый G-код"
@@ -14259,8 +14305,8 @@ msgstr ""
"камеры, если он есть.\n"
"\n"
"Эта опция зависит от встроенного программного обеспечения, поддерживающего "
-"команды M191 и M141 либо с помощью макросов, либо нативно, и обычно используется, "
-"когда установлен активный нагреватель камеры."
+"команды M191 и M141 либо с помощью макросов, либо нативно, и обычно "
+"используется, когда установлен активный нагреватель камеры."
msgid "Chamber temperature"
msgstr "Температура термокамеры"
@@ -14284,24 +14330,25 @@ msgid ""
"desire to handle heat soaking in the print start macro if no active chamber "
"heater is installed."
msgstr ""
-"Для высокотемпературных материалов, таких как ABS, ASA, PC и PA, более высокая "
-"температура камеры может помочь подавить или уменьшить коробление и потенциально "
-"привести к повышению прочности межслойного соединения. Однако в то же время "
-"более высокая температура камеры снижает эффективность фильтрации воздуха для "
-"ABS и ASA.\n"
+"Для высокотемпературных материалов, таких как ABS, ASA, PC и PA, более "
+"высокая температура камеры может помочь подавить или уменьшить коробление и "
+"потенциально привести к повышению прочности межслойного соединения. Однако в "
+"то же время более высокая температура камеры снижает эффективность "
+"фильтрации воздуха для ABS и ASA.\n"
"\n"
"Для PLA, PETG, TPU, PVA и других низкотемпературных материалов этот параметр "
-"следует отключить (установить значение 0), поскольку температура камеры должна "
-"быть низкой, чтобы избежать засорения экструдера из-за размягчения материала "
-"при терморазрыве.\n"
+"следует отключить (установить значение 0), поскольку температура камеры "
+"должна быть низкой, чтобы избежать засорения экструдера из-за размягчения "
+"материала при терморазрыве.\n"
"\n"
"Если этот параметр включен, он также устанавливает переменную gcode с именем "
"chamber_temperature, которая может быть использована для передачи желаемой "
"температуры камеры макросу запуска печати или макросу тепловой выдержки, "
-"например, такому: PRINT_START (другие переменные) CHAMBER_TEMP=[chamber_temperature]. "
-"Это может быть полезно, если ваш принтер не поддерживает команды M141/M191, или "
-"если вы хотите управлять тепловой выдержкой в макросе запуска печати, если не "
-"установлен активный нагреватель камеры."
+"например, такому: PRINT_START (другие переменные) "
+"CHAMBER_TEMP=[chamber_temperature]. Это может быть полезно, если ваш принтер "
+"не поддерживает команды M141/M191, или если вы хотите управлять тепловой "
+"выдержкой в макросе запуска печати, если не установлен активный нагреватель "
+"камеры."
msgid "Nozzle temperature for layers after the initial one"
msgstr "Температура сопла при печати для слоёв после первого."
@@ -14575,9 +14622,9 @@ msgid ""
"0 to disable."
msgstr ""
"Температура сопла, когда инструмент в данный момент не используется в "
-"многоинструментальных установках. Этот параметр используется только в том случае, "
-"если в настройках печати активна опция «Предотвращение образования наплывов». "
-"Установите значение 0, чтобы отключить."
+"многоинструментальных установках. Этот параметр используется только в том "
+"случае, если в настройках печати активна опция «Предотвращение образования "
+"наплывов». Установите значение 0, чтобы отключить."
msgid "X-Y hole compensation"
msgstr "Коррекция размеров отверстий по XY"
@@ -15178,8 +15225,8 @@ msgid ""
"Total number of extruders, regardless of whether they are used in the "
"current print."
msgstr ""
-"Общее количество экструдеров, независимо от того, используются ли они "
-"в текущей печати."
+"Общее количество экструдеров, независимо от того, используются ли они в "
+"текущей печати."
msgid "Layer number"
msgstr "Номер слоя"
@@ -17621,6 +17668,9 @@ msgstr ""
"ABS, повышение температуры подогреваемого стола может снизить эту "
"вероятность?"
+#~ msgid "Cool Plate"
+#~ msgstr "Не нагреваемая пластина"
+
#~ msgid "Reverse on odd"
#~ msgstr "Реверс на нависаниях"
diff --git a/localization/i18n/sv/OrcaSlicer_sv.po b/localization/i18n/sv/OrcaSlicer_sv.po
index 5ff3815813..2e07533483 100644
--- a/localization/i18n/sv/OrcaSlicer_sv.po
+++ b/localization/i18n/sv/OrcaSlicer_sv.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -5766,6 +5766,9 @@ msgstr ""
msgid "Edit current plate name"
msgstr ""
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr ""
@@ -7676,6 +7679,14 @@ msgstr ""
"Detta är byggplattans temperatur när Cool Plate är installerad. Värdet 0 "
"betyder att filamentet inte stöder utskrift på Cool Plate."
+msgid "Textured Cool plate"
+msgstr ""
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid "Engineering plate"
msgstr "Engineering plate"
@@ -9449,6 +9460,11 @@ msgstr ""
msgid "°C"
msgstr "° C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9483,6 +9499,11 @@ msgstr ""
"Detta är byggplattans temperatur för första lager. Värdet 0 betyder att "
"filamentet inte stöder utskrift på Cool Plate."
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9507,12 +9528,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "Byggplattans typ stöds av skrivaren"
-msgid "Cool Plate"
-msgstr "Cool Plate"
+msgid "Smooth Cool Plate"
+msgstr ""
msgid "Engineering Plate"
msgstr "Engineering Plate"
+msgid "Smooth High Temp Plate"
+msgstr ""
+
+msgid "Textured Cool Plate"
+msgstr ""
+
msgid "First layer print sequence"
msgstr "Första lagrets utskrifts ordning"
@@ -10421,6 +10448,7 @@ msgstr ""
msgid "Enable adaptive pressure advance (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -10445,6 +10473,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -16144,6 +16173,9 @@ msgstr ""
"ABS, kan en lämplig ökning av värmebäddens temperatur minska sannolikheten "
"för vridning."
+#~ msgid "Cool Plate"
+#~ msgstr "Cool Plate"
+
#~ msgid ""
#~ "While printing by Object, the extruder may collide skirt.\n"
#~ "Thus, reset the skirt layer to 1 to avoid that."
diff --git a/localization/i18n/tr/OrcaSlicer_tr.po b/localization/i18n/tr/OrcaSlicer_tr.po
index dc6d86d471..0ba7257d46 100644
--- a/localization/i18n/tr/OrcaSlicer_tr.po
+++ b/localization/i18n/tr/OrcaSlicer_tr.po
@@ -3,8 +3,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
-"PO-Revision-Date: 2024-09-09 02:58+0300\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
+"PO-Revision-Date: 2024-09-23 18:02+0300\n"
"Last-Translator: GlauTech\n"
"Language-Team: \n"
"Language: tr\n"
@@ -1300,7 +1300,7 @@ msgid "Select point"
msgstr "Nokta seç"
msgid "Delete"
-msgstr "Delete"
+msgstr "Sil"
msgid "Restart selection"
msgstr "Seçimi sıfırla"
@@ -1894,13 +1894,13 @@ msgid "Invalidate cut info"
msgstr "Kesim bilgisini geçersiz kıl"
msgid "Add Primitive"
-msgstr "Şekil Ekle"
+msgstr "Şekil ekle"
msgid "Add Handy models"
-msgstr "Pratik Modeller Ekle"
+msgstr "Pratik model ekle"
msgid "Add Models"
-msgstr "Model Ekle"
+msgstr "Model ekle"
msgid "Show Labels"
msgstr "Etiketleri Göster"
@@ -1948,7 +1948,7 @@ msgid "arrange current plate"
msgstr "Mevcut plakayı hizala"
msgid "Reload All"
-msgstr "Tümünü Yeniden Yükle"
+msgstr "Tümünü yeniden yükle"
msgid "reload all from disk"
msgstr "Hepsini diskten yeniden yükle"
@@ -1960,7 +1960,7 @@ msgid "auto rotate current plate"
msgstr "Geçerli plakayı otomatik döndürme"
msgid "Delete Plate"
-msgstr "Plakayı Sil"
+msgstr "Plakayı sil"
msgid "Remove the selected plate"
msgstr "Seçilen plakayı kaldır"
@@ -1996,7 +1996,7 @@ msgid "Lock"
msgstr "Kilitle"
msgid "Edit Plate Name"
-msgstr "Plaka Adını Düzenle"
+msgstr "Plaka adını düzenle"
msgid "Name"
msgstr "İsim"
@@ -2528,7 +2528,7 @@ msgid ""
"bed:\n"
"%s"
msgstr ""
-"Hizalama tek tablaya sığmayan aşağıdaki nesneler göz ardı edildi:\n"
+"Hizalama tek plakaya sığmayan aşağıdaki nesneler göz ardı edildi:\n"
"%s"
msgid ""
@@ -4750,10 +4750,10 @@ msgid "Clone copies of selections"
msgstr "Seçimlerin kopyalarını kopyala"
msgid "Duplicate Current Plate"
-msgstr ""
+msgstr "Geçerli plakayı çoğalt"
msgid "Duplicate the current plate"
-msgstr ""
+msgstr "Geçerli plakayı çoğalt"
msgid "Select all"
msgstr "Hepsini seç"
@@ -5842,25 +5842,28 @@ msgid "Material settings"
msgstr "Malzeme ayarları"
msgid "Remove current plate (if not last one)"
-msgstr "Mevcut tablayı kaldırın (eğer sonuncusu değilse)"
+msgstr "Mevcut plakayı kaldırın (eğer sonuncusu değilse)"
msgid "Auto orient objects on current plate"
-msgstr "Mevcut tablada nesneleri otomatik olarak oryante et"
+msgstr "Mevcut plakada nesneleri otomatik olarak oryante et"
msgid "Arrange objects on current plate"
-msgstr "Mevcut tablada nesneleri düzenle"
+msgstr "Mevcut plakada nesneleri düzenle"
msgid "Unlock current plate"
-msgstr "Mevcut tablanın kilidini aç"
+msgstr "Mevcut plakanın kilidini aç"
msgid "Lock current plate"
-msgstr "Mevcut tablayı kilitle"
+msgstr "Mevcut plakayı kilitle"
msgid "Edit current plate name"
-msgstr "Mevcut tabla adını düzenle"
+msgstr "Mevcut plaka adını düzenle"
+
+msgid "Move plate to the front"
+msgstr ""
msgid "Customize current plate"
-msgstr "Mevcut tablayı özelleştir"
+msgstr "Mevcut plakayı özelleştir"
#, boost-format
msgid " plate %1%:"
@@ -7808,6 +7811,16 @@ msgstr ""
"Soğutma plakası takıldığında yatak sıcaklığı. 0 değeri, filamentin Cool "
"Plate üzerine yazdırmayı desteklemediği anlamına gelir"
+msgid "Textured Cool plate"
+msgstr "Dokulu Soğuk Plaka"
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+"Soğuk plaka takıldığında yatak sıcaklığı. 0 Değeri, filamentin Dokulu Soğuk "
+"Plaka üzerine yazdırmayı desteklemediği anlamına gelir."
+
msgid "Engineering plate"
msgstr "Mühendislik plakası"
@@ -7907,7 +7920,7 @@ msgid "Toolchange parameters with multi extruder MM printers"
msgstr "Çoklu Ekstruder MM Yazıcılarda Araç Değiştirme Parametreleri"
msgid "Printable space"
-msgstr "Tabla Ayarı"
+msgstr "Plaka Ayarı"
#. TRN: First argument is parameter name, the second one is the value.
#, boost-format
@@ -9688,6 +9701,13 @@ msgstr ""
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+"İlk katman dışındaki katmanlar için yatak sıcaklığı. 0 Değeri, filamentin "
+"Dokulu Soğuk Plaka üzerine yazdırmayı desteklemediği anlamına gelir."
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9722,6 +9742,13 @@ msgstr ""
"İlk katmanın yatak sıcaklığı. 0 değeri, filamentin Cool Plate üzerine "
"yazdırmayı desteklemediği anlamına gelir"
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+"İlk katmanın yatak sıcaklığı. 0 Değeri, filamentin Dokulu Soğuk Plaka "
+"üzerine yazdırmayı desteklemediği anlamına gelir."
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9746,12 +9773,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "Yazıcının desteklediği yatak türleri"
-msgid "Cool Plate"
-msgstr "Soğuk Plaka"
+msgid "Smooth Cool Plate"
+msgstr "Pürüzsüz Soğuk Plaka"
msgid "Engineering Plate"
msgstr "Mühendislik Plakası"
+msgid "Smooth High Temp Plate"
+msgstr "Pürüzsüz Yüksek Sıcaklık Plaka"
+
+msgid "Textured Cool Plate"
+msgstr "Dokulu Soğuk Plaka"
+
msgid "First layer print sequence"
msgstr "İlk katman yazdırma sırası"
@@ -10052,7 +10085,7 @@ msgstr ""
"yolları (perimeter) oluşturun. "
msgid "Reverse on even"
-msgstr ""
+msgstr "Çifteri ters çevirin"
msgid "Overhang reversal"
msgstr "Çıkıntıyı tersine çevir"
@@ -10065,6 +10098,12 @@ msgid ""
"This setting can also help reduce part warping due to the reduction of "
"stresses in the part walls."
msgstr ""
+"Eşit katmanlarda ters yönde bir çıkıntının üzerinde bir kısmı bulunan "
+"çevreleri ekstrüde edin. Bu alternatif desen, dik çıkıntıları büyük ölçüde "
+"iyileştirebilir.\n"
+"\n"
+"Bu ayar aynı zamanda parça duvarlarındaki gerilimin azalması nedeniyle "
+"parçanın bükülmesinin azaltılmasına da yardımcı olabilir."
msgid "Reverse only internal perimeters"
msgstr "Yalnızca iç çevreleri ters çevir"
@@ -10083,6 +10122,18 @@ msgid ""
"Reverse Threshold to 0 so that all internal walls print in alternating "
"directions on even layers irrespective of their overhang degree."
msgstr ""
+"Ters çevre mantığını yalnızca iç çevrelere uygulayın. \n"
+"\n"
+"Bu ayar, parçalar artık farklı yönlerde dağıtıldığından parça gerilimlerini "
+"büyük ölçüde azaltır. Bu, dış duvar kalitesini korurken parçanın bükülmesini "
+"de azaltacaktır. Bu özellik, ABS/ASA gibi eğrilmeye yatkın malzemeler ve "
+"ayrıca TPU ve İpek PLA gibi elastik filamentler için çok faydalı olabilir. "
+"Ayrıca destekler üzerindeki yüzen bölgelerdeki bükülmenin azaltılmasına da "
+"yardımcı olabilir.\n"
+"\n"
+"Bu ayarın en etkili olması için, Ters Eşiğin 0’a ayarlanması önerilir; "
+"böylece tüm iç duvarlar, çıkıntı derecelerine bakılmaksızın eşit katmanlara "
+"alternatif yönlerde yazdırılır."
msgid "Bridge counterbore holes"
msgstr "Köprü havşa delikleri"
@@ -10119,6 +10170,9 @@ msgid ""
"useful. Can be a % of the perimeter width.\n"
"Value 0 enables reversal on every even layers regardless."
msgstr ""
+"Ters çevirmenin faydalı sayılması için çıkıntının mm sayısı olması gerekir. "
+"Çevre genişliğinin %’si olabilir.\n"
+"0 değeri ne olursa olsun her çift katmanda ters çevirmeyi mümkün kılar."
msgid "Classic mode"
msgstr "Klasik mod"
@@ -10701,6 +10755,14 @@ msgid ""
"\n"
"This option will be disabled if spiral vase mode is enabled."
msgstr ""
+"Yukarıdan aşağıya bakıldığında duvar döngülerinin ekstrüzyona uğradığı yön.\n"
+"\n"
+"Çift yönlü ters çevirme seçeneği etkinleştirilmediği sürece, varsayılan "
+"olarak tüm duvarlar saat yönünün tersine ekstrüde edilir. Bunu Otomatik "
+"dışında herhangi bir seçeneğe ayarlayın, Ters çevirmeden bağımsız olarak "
+"duvar yönünü eşit olarak zorlayacaktır.\n"
+"\n"
+"Spiral vazo modu etkinse bu seçenek devre dışı bırakılacaktır."
msgid "Counter clockwise"
msgstr "Saat yönünün tersine"
@@ -10868,6 +10930,7 @@ msgstr "Basınç avansı (Klipper) Doğrusal ilerleme faktörü (Marlin)"
msgid "Enable adaptive pressure advance (beta)"
msgstr "Uyarlanabilir basınç ilerlemesini etkinleştir (beta)"
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -10909,6 +10972,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr "Uyarlanabilir basınç ilerleme ölçümleri (beta)"
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -11951,11 +12015,11 @@ msgstr ""
"Yazıcınız filament yerine pellet kullanıyorsa bu seçeneği etkinleştirin"
msgid "Support multi bed types"
-msgstr "Çoklu tabla"
+msgstr "Çoklu plaka"
msgid "Enable this option if you want to use multiple bed types"
msgstr ""
-"Birden fazla tabla tipi kullanmak istiyorsanız bu seçeneği etkinleştirin"
+"Birden fazla plaka tipi kullanmak istiyorsanız bu seçeneği etkinleştirin"
msgid "Label objects"
msgstr "Nesneleri etiketle"
@@ -13553,7 +13617,7 @@ msgid ""
msgstr ""
"Bu değer, çıkış G-kodu içindeki tüm Z koordinatlarına eklenir (veya "
"çıkarılır).Bu, kötü Z endstop konumunu telafi etmek için kullanılır: "
-"örneğin, endstop sıfır noktanız aslında nozulu baskı tablasından 0.3mm "
+"örneğin, endstop sıfır noktanız aslında nozulu baskı plakasından 0.3mm "
"uzakta bırakıyorsa, bu değeri -0.3 olarak ayarlayın (veya endstop'unuzu "
"düzeltin)."
@@ -17306,6 +17370,9 @@ msgstr ""
"sıcaklığının uygun şekilde arttırılmasının bükülme olasılığını "
"azaltabileceğini biliyor muydunuz?"
+#~ msgid "Cool Plate"
+#~ msgstr "Soğuk Plaka"
+
#~ msgid "Reverse on odd"
#~ msgstr "Tersine çevir"
diff --git a/localization/i18n/uk/OrcaSlicer_uk.po b/localization/i18n/uk/OrcaSlicer_uk.po
index 868e189d17..8ed98e385b 100644
--- a/localization/i18n/uk/OrcaSlicer_uk.po
+++ b/localization/i18n/uk/OrcaSlicer_uk.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: 2024-06-30 23:05+0300\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -5910,6 +5910,9 @@ msgstr "Блокування поточної пластини"
msgid "Edit current plate name"
msgstr "Редагувати поточну назву пластини"
+msgid "Move plate to the front"
+msgstr ""
+
msgid "Customize current plate"
msgstr "Налаштувати поточну пластину"
@@ -7868,6 +7871,14 @@ msgstr ""
"філамент\n"
"не підтримує друк на Холодному столі"
+msgid "Textured Cool plate"
+msgstr ""
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid "Engineering plate"
msgstr "Інженерний стіл"
@@ -9737,6 +9748,11 @@ msgstr ""
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9771,6 +9787,11 @@ msgstr ""
"Температура першого шару. Значення 0 означає, що філамент не підтримує друк "
"на холодному столі"
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9795,12 +9816,18 @@ msgstr ""
msgid "Bed types supported by the printer"
msgstr "Типи ліжок, які підтримує принтер"
-msgid "Cool Plate"
-msgstr "Холодна пластина"
+msgid "Smooth Cool Plate"
+msgstr ""
msgid "Engineering Plate"
msgstr "Інженерна пластина"
+msgid "Smooth High Temp Plate"
+msgstr ""
+
+msgid "Textured Cool Plate"
+msgstr ""
+
msgid "First layer print sequence"
msgstr "Послідовність друку першого шару"
@@ -10810,6 +10837,7 @@ msgstr ""
msgid "Enable adaptive pressure advance (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -10834,6 +10862,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -17064,6 +17093,9 @@ msgstr ""
"ABS, відповідне підвищення температури гарячого ліжка може зменшити "
"ймовірність деформації."
+#~ msgid "Cool Plate"
+#~ msgstr "Холодна пластина"
+
#~ msgid "Reverse on odd"
#~ msgstr "Зворотній на непарних"
diff --git a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po
index 51f605c96e..849c317e8a 100644
--- a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po
+++ b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Slic3rPE\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: 2024-07-28 07:12+0000\n"
"Last-Translator: Handle \n"
"Language-Team: \n"
@@ -5652,6 +5652,9 @@ msgstr "锁定当前板"
msgid "Edit current plate name"
msgstr "编辑当前盘名"
+msgid "Move plate to the front"
+msgstr "将当前板移到最前面"
+
msgid "Customize current plate"
msgstr "自定义当前板"
@@ -7443,7 +7446,7 @@ msgid "Recommended nozzle temperature range of this filament. 0 means no set"
msgstr "该材料的建议喷嘴温度范围。0表示未设置"
msgid "Flow ratio and Pressure Advance"
-msgstr ""
+msgstr "流量和压力提前"
msgid "Print chamber temperature"
msgstr "打印仓温度"
@@ -7465,6 +7468,15 @@ msgid ""
"does not support to print on the Cool Plate"
msgstr "安装低温打印热床时的热床温度。0值表示这个耗材丝不支持低温打印热床"
+msgid "Textured Cool plate"
+msgstr "纹理低温打印热床"
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+"安装纹理低温打印热床时的热床温度。0值表示这个耗材丝不支持纹理低温打印热床"
+
msgid "Engineering plate"
msgstr "工程材料热床"
@@ -9196,6 +9208,11 @@ msgstr "非首层热床温度。0值表示这个耗材丝不支持低温打印
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr "非首层热床温度。0值表示这个耗材丝不支持纹理低温打印热床"
+
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
"filament does not support to print on the Engineering Plate"
@@ -9222,6 +9239,11 @@ msgid ""
"support to print on the Cool Plate"
msgstr "首层热床温度。0值表示这个耗材丝不支持低温打印热床"
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr "首层热床温度。0值表示这个耗材丝不支持纹理低温打印热床"
+
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
"support to print on the Engineering Plate"
@@ -9240,12 +9262,18 @@ msgstr "首层热床温度。0值表示这个耗材丝不支持纹理PEI热床"
msgid "Bed types supported by the printer"
msgstr "打印机所支持的热床类型"
-msgid "Cool Plate"
-msgstr "低温打印热床"
+msgid "Smooth Cool Plate"
+msgstr "光滑的低温打印床"
msgid "Engineering Plate"
msgstr "工程材料热床"
+msgid "Smooth High Temp Plate"
+msgstr "光滑高温打印热床"
+
+msgid "Textured Cool Plate"
+msgstr "纹理的低温打印床"
+
msgid "First layer print sequence"
msgstr "第一层打印顺序"
@@ -9552,8 +9580,9 @@ msgid ""
"Number of mm the overhang need to be for the reversal to be considered "
"useful. Can be a % of the perimeter width.\n"
"Value 0 enables reversal on every even layers regardless."
-msgstr "判定悬垂反转需要的值(毫米),可以是线宽的百分比。"
-"0值表示在每个偶数层上都启用反转。"
+msgstr ""
+"判定悬垂反转需要的值(毫米),可以是线宽的百分比。0值表示在每个偶数层上都启用"
+"反转。"
msgid "Classic mode"
msgstr "经典模式"
@@ -9797,7 +9826,7 @@ msgstr ""
"虑关闭它。"
msgid "Filter out small internal bridges (beta)"
-msgstr ""
+msgstr "过滤细微内部桥接(试验)"
msgid ""
"This option can help reducing pillowing on top surfaces in heavily slanted "
@@ -10187,8 +10216,9 @@ msgid "Pressure advance(Klipper) AKA Linear advance factor(Marlin)"
msgstr "压力提前(Klipper)或者线性提前(Marlin)"
msgid "Enable adaptive pressure advance (beta)"
-msgstr ""
+msgstr "启用自适应压力提前(试验)"
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -10211,8 +10241,9 @@ msgid ""
msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
-msgstr ""
+msgstr "自适应压力提前参数(试验)"
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -10244,7 +10275,7 @@ msgid ""
msgstr ""
msgid "Enable adaptive pressure advance for overhangs (beta)"
-msgstr ""
+msgstr "为悬垂启用自适应压力提前(试验)"
msgid ""
"Enable adaptive PA for overhangs as well as when flow changes within the "
@@ -10254,7 +10285,7 @@ msgid ""
msgstr ""
msgid "Pressure advance for bridges"
-msgstr ""
+msgstr "为搭桥启用压力提前"
msgid ""
"Pressure advance value for bridges. Set to 0 to disable. \n"
@@ -10364,7 +10395,7 @@ msgid ""
msgstr ""
msgid "Tool change time"
-msgstr ""
+msgstr "换工具头所需时间"
msgid ""
"Time taken to switch tools. It's usually applicable for tool changers or "
@@ -10391,7 +10422,7 @@ msgid ""
msgstr ""
msgid "Shrinkage (XY)"
-msgstr ""
+msgstr "收缩率(XY)"
#, no-c-format, no-boost-format
msgid ""
@@ -10407,7 +10438,7 @@ msgstr ""
"请确保物体之间有足够的间距,因为补偿是在边界检查之后进行"
msgid "Shrinkage (Z)"
-msgstr ""
+msgstr "收缩率(Z)"
#, no-c-format, no-boost-format
msgid ""
@@ -11217,7 +11248,7 @@ msgid ""
msgstr ""
msgid "Use beam interlocking"
-msgstr ""
+msgstr "启用互锁梁"
msgid ""
"Generate interlocking beam structure at the locations where different "
@@ -11226,19 +11257,19 @@ msgid ""
msgstr ""
msgid "Interlocking beam width"
-msgstr ""
+msgstr "互锁梁宽度"
msgid "The width of the interlocking structure beams."
-msgstr ""
+msgstr "互锁梁的宽度"
msgid "Interlocking direction"
-msgstr ""
+msgstr "互锁方向"
msgid "Orientation of interlock beams."
-msgstr ""
+msgstr "互锁梁的方向"
msgid "Interlocking beam layers"
-msgstr ""
+msgstr "互锁梁层数"
msgid ""
"The height of the beams of the interlocking structure, measured in number of "
@@ -11254,12 +11285,12 @@ msgid ""
msgstr ""
msgid "Interlocking boundary avoidance"
-msgstr ""
+msgstr "互锁与边界的留白量"
msgid ""
"The distance from the outside of a model where interlocking structures will "
"not be generated, measured in cells."
-msgstr ""
+msgstr "模型边框与互锁结构的距离,以单元格为单位。"
msgid "Ironing Type"
msgstr "熨烫类型"
@@ -11910,7 +11941,7 @@ msgid "Spiral"
msgstr "螺旋"
msgid "Traveling angle"
-msgstr ""
+msgstr "空驶抬高角度"
msgid ""
"Traveling angle for Slope and Spiral Z hop type. Setting it to 90° results "
@@ -13106,7 +13137,7 @@ msgid ""
msgstr ""
msgid "Idle temperature"
-msgstr ""
+msgstr "待机温度"
msgid ""
"Nozzle temperature when the tool is currently not used in multi-tool setups."
@@ -15862,6 +15893,9 @@ msgstr ""
"避免翘曲\n"
"您知道吗?打印ABS这类易翘曲材料时,适当提高热床温度可以降低翘曲的概率。"
+#~ msgid "Cool Plate"
+#~ msgstr "低温打印热床"
+
#~ msgid "Reverse on odd"
#~ msgstr "反转奇数层悬垂方向"
diff --git a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po
index 4b859aa448..e52a5a3ceb 100644
--- a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po
+++ b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-11 22:56+0800\n"
+"POT-Creation-Date: 2024-09-25 19:57+0800\n"
"PO-Revision-Date: 2023-11-06 14:37+0800\n"
"Last-Translator: ablegods \n"
"Language-Team: \n"
@@ -5835,6 +5835,9 @@ msgstr "鎖定列印板"
msgid "Edit current plate name"
msgstr ""
+msgid "Move plate to the front"
+msgstr ""
+
#, fuzzy
msgid "Customize current plate"
msgstr "自訂列印板參數"
@@ -7734,6 +7737,14 @@ msgid ""
"does not support to print on the Cool Plate"
msgstr "使用低溫列印板時的熱床溫度。0 值表示這個線材不支援低溫列印板"
+msgid "Textured Cool plate"
+msgstr ""
+
+msgid ""
+"Bed temperature when cool plate is installed. Value 0 means the filament "
+"does not support to print on the Textured Cool Plate"
+msgstr ""
+
#, fuzzy
msgid "Engineering plate"
msgstr "工程高溫列印板"
@@ -9532,6 +9543,11 @@ msgstr "除首層外的床溫。0 值表示這個線材不支援低溫列印板"
msgid "°C"
msgstr "°C"
+msgid ""
+"Bed temperature for layers except the initial one. Value 0 means the "
+"filament does not support to print on the Textured Cool Plate"
+msgstr ""
+
#, fuzzy
msgid ""
"Bed temperature for layers except the initial one. Value 0 means the "
@@ -9562,6 +9578,11 @@ msgid ""
"support to print on the Cool Plate"
msgstr "首層熱床溫度。0 值表示這個線材不支援低溫列印板"
+msgid ""
+"Bed temperature of the initial layer. Value 0 means the filament does not "
+"support to print on the Textured Cool Plate"
+msgstr ""
+
#, fuzzy
msgid ""
"Bed temperature of the initial layer. Value 0 means the filament does not "
@@ -9584,14 +9605,19 @@ msgstr "首層熱床溫度。0 值表示這個線材不支援金屬紋理 PEI
msgid "Bed types supported by the printer"
msgstr "列印設備所支援的列印板類型"
-#, fuzzy
-msgid "Cool Plate"
-msgstr "低溫列印板"
+msgid "Smooth Cool Plate"
+msgstr ""
#, fuzzy
msgid "Engineering Plate"
msgstr "工程高溫列印板"
+msgid "Smooth High Temp Plate"
+msgstr ""
+
+msgid "Textured Cool Plate"
+msgstr ""
+
msgid "First layer print sequence"
msgstr "首層列印順序"
@@ -10522,6 +10548,7 @@ msgstr "壓力提前(Klipper)或者線性提前(Marlin)"
msgid "Enable adaptive pressure advance (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"With increasing print speeds (and hence increasing volumetric flow through "
"the nozzle) and increasing accelerations, it has been observed that the "
@@ -10546,6 +10573,7 @@ msgstr ""
msgid "Adaptive pressure advance measurements (beta)"
msgstr ""
+#, no-c-format, no-boost-format
msgid ""
"Add sets of pressure advance (PA) values, the volumetric flow speeds and "
"accelerations they were measured at, separated by a comma. One set of values "
@@ -16116,6 +16144,10 @@ msgid ""
"probability of warping."
msgstr ""
+#, fuzzy
+#~ msgid "Cool Plate"
+#~ msgstr "低溫列印板"
+
#, fuzzy
#~ msgid "Reverse on odd"
#~ msgstr "反轉奇數層懸空方向"
diff --git a/resources/images/orca_bed_pct_left.svg b/resources/images/orca_bed_pct_left.svg
new file mode 100644
index 0000000000..0d6cbf41f7
--- /dev/null
+++ b/resources/images/orca_bed_pct_left.svg
@@ -0,0 +1,98 @@
+
+
diff --git a/resources/images/plate_move_front.svg b/resources/images/plate_move_front.svg
new file mode 100644
index 0000000000..be453c9482
--- /dev/null
+++ b/resources/images/plate_move_front.svg
@@ -0,0 +1,74 @@
+
+
diff --git a/resources/images/plate_move_front_dark.svg b/resources/images/plate_move_front_dark.svg
new file mode 100644
index 0000000000..ee7c1ac9c4
--- /dev/null
+++ b/resources/images/plate_move_front_dark.svg
@@ -0,0 +1,74 @@
+
+
diff --git a/resources/images/plate_move_front_hover.svg b/resources/images/plate_move_front_hover.svg
new file mode 100644
index 0000000000..02f81ab0d5
--- /dev/null
+++ b/resources/images/plate_move_front_hover.svg
@@ -0,0 +1,74 @@
+
+
diff --git a/resources/images/plate_move_front_hover_dark.svg b/resources/images/plate_move_front_hover_dark.svg
new file mode 100644
index 0000000000..7d76f25021
--- /dev/null
+++ b/resources/images/plate_move_front_hover_dark.svg
@@ -0,0 +1,74 @@
+
+
diff --git a/resources/profiles/Anker.json b/resources/profiles/Anker.json
index 294fac4363..a05e83cb84 100644
--- a/resources/profiles/Anker.json
+++ b/resources/profiles/Anker.json
@@ -1,6 +1,6 @@
{
"name": "Anker",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Anker configurations",
"machine_model_list": [
diff --git a/resources/profiles/Anycubic.json b/resources/profiles/Anycubic.json
index cb933fc73a..b0cfa670d5 100644
--- a/resources/profiles/Anycubic.json
+++ b/resources/profiles/Anycubic.json
@@ -1,6 +1,6 @@
{
"name": "Anycubic",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Anycubic configurations",
"machine_model_list": [
diff --git a/resources/profiles/Artillery.json b/resources/profiles/Artillery.json
index 4ff6ddecb5..2303da2421 100644
--- a/resources/profiles/Artillery.json
+++ b/resources/profiles/Artillery.json
@@ -1,6 +1,6 @@
{
"name": "Artillery",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Artillery configurations",
"machine_model_list": [
diff --git a/resources/profiles/BIQU.json b/resources/profiles/BIQU.json
index 325b46acc5..5a1d73b90e 100644
--- a/resources/profiles/BIQU.json
+++ b/resources/profiles/BIQU.json
@@ -1,6 +1,6 @@
{
"name": "BIQU",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "BIQU configurations",
"machine_model_list": [
diff --git a/resources/profiles/CONSTRUCT3D.json b/resources/profiles/CONSTRUCT3D.json
index 4cc4d0b8a9..3a042d6a25 100644
--- a/resources/profiles/CONSTRUCT3D.json
+++ b/resources/profiles/CONSTRUCT3D.json
@@ -1,6 +1,6 @@
{
"name": "CONSTRUCT3D",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Construct3D configurations",
"machine_model_list": [
diff --git a/resources/profiles/Chuanying.json b/resources/profiles/Chuanying.json
index 790fa17814..dbba3f5957 100644
--- a/resources/profiles/Chuanying.json
+++ b/resources/profiles/Chuanying.json
@@ -1,7 +1,7 @@
{
"name": "Chuanying",
"url": "",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Chuanying configurations",
"machine_model_list": [
diff --git a/resources/profiles/Co Print.json b/resources/profiles/Co Print.json
index d14f9911da..872c6ae469 100644
--- a/resources/profiles/Co Print.json
+++ b/resources/profiles/Co Print.json
@@ -1,6 +1,6 @@
{
"name": "Co Print",
- "version": "02.01.01.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "CoPrint configurations",
"machine_model_list": [
diff --git a/resources/profiles/Comgrow.json b/resources/profiles/Comgrow.json
index f62e13cdfa..13bc643e80 100644
--- a/resources/profiles/Comgrow.json
+++ b/resources/profiles/Comgrow.json
@@ -1,6 +1,6 @@
{
"name": "Comgrow",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Comgrow configurations",
"machine_model_list": [
diff --git a/resources/profiles/Creality.json b/resources/profiles/Creality.json
index e800dbfdf4..b3786f6eb3 100644
--- a/resources/profiles/Creality.json
+++ b/resources/profiles/Creality.json
@@ -1,6 +1,6 @@
{
"name": "Creality",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Creality configurations",
"machine_model_list": [
diff --git a/resources/profiles/Custom.json b/resources/profiles/Custom.json
index f354f84ac0..b3526e1c83 100644
--- a/resources/profiles/Custom.json
+++ b/resources/profiles/Custom.json
@@ -1,6 +1,6 @@
{
"name": "Custom Printer",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "My configurations",
"machine_model_list": [
diff --git a/resources/profiles/Dremel.json b/resources/profiles/Dremel.json
index ba07e0533f..1e41e68d26 100644
--- a/resources/profiles/Dremel.json
+++ b/resources/profiles/Dremel.json
@@ -1,6 +1,6 @@
{
"name": "Dremel",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Dremel configurations",
"machine_model_list": [
diff --git a/resources/profiles/Dremel/filament/Dremel Generic PLA.json b/resources/profiles/Dremel/filament/Dremel Generic PLA.json
index ca1ce300f5..c73bcd5acd 100644
--- a/resources/profiles/Dremel/filament/Dremel Generic PLA.json
+++ b/resources/profiles/Dremel/filament/Dremel Generic PLA.json
@@ -9,5 +9,9 @@
"filament_flow_ratio": ["0.98"],
"filament_max_volumetric_speed": ["12"],
"slow_down_layer_time": ["8"],
- "compatible_printers": ""
+ "compatible_printers": [
+ "Dremel 3D45 0.4 nozzle",
+ "Dremel 3D40 0.4 nozzle",
+ "Dremel 3D20 0.4 nozzle"
+ ]
}
diff --git a/resources/profiles/Elegoo.json b/resources/profiles/Elegoo.json
index a37f529e2d..652f27c882 100644
--- a/resources/profiles/Elegoo.json
+++ b/resources/profiles/Elegoo.json
@@ -1,6 +1,6 @@
{
"name": "Elegoo",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Elegoo configurations",
"machine_model_list": [
diff --git a/resources/profiles/FLSun.json b/resources/profiles/FLSun.json
index bdbbdde3c3..b099ebe336 100644
--- a/resources/profiles/FLSun.json
+++ b/resources/profiles/FLSun.json
@@ -1,6 +1,6 @@
{
"name": "FLSun",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "FLSun configurations",
"machine_model_list": [
diff --git a/resources/profiles/Flashforge.json b/resources/profiles/Flashforge.json
index e1b30917ed..7eaf69ed4b 100644
--- a/resources/profiles/Flashforge.json
+++ b/resources/profiles/Flashforge.json
@@ -1,7 +1,7 @@
{
"name": "Flashforge",
"url": "",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Flashforge configurations",
"machine_model_list": [
diff --git a/resources/profiles/Flashforge/process/fdm_process_flashforge_common.json b/resources/profiles/Flashforge/process/fdm_process_flashforge_common.json
index 6636f57534..79824795e5 100644
--- a/resources/profiles/Flashforge/process/fdm_process_flashforge_common.json
+++ b/resources/profiles/Flashforge/process/fdm_process_flashforge_common.json
@@ -13,7 +13,7 @@
"compatible_printers_condition": "",
"draft_shield": "disabled",
"elefant_foot_compensation": "0.15",
- "enable_arc_fitting": "1",
+ "enable_arc_fitting": "0",
"outer_wall_acceleration": "5000",
"wall_infill_order": "inner wall/outer wall/infill",
"line_width": "0.42",
@@ -69,4 +69,4 @@
"travel_speed": "500",
"wipe_tower_no_sparse_layers": "0",
"compatible_printers": []
-}
\ No newline at end of file
+}
diff --git a/resources/profiles/FlyingBear.json b/resources/profiles/FlyingBear.json
index b2b22ccb96..7c58d7dc7c 100644
--- a/resources/profiles/FlyingBear.json
+++ b/resources/profiles/FlyingBear.json
@@ -1,6 +1,6 @@
{
"name": "FlyingBear",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "1",
"description": "FlyingBear configurations",
"machine_model_list": [
diff --git a/resources/profiles/Folgertech.json b/resources/profiles/Folgertech.json
index b6aab6de64..a43b434235 100644
--- a/resources/profiles/Folgertech.json
+++ b/resources/profiles/Folgertech.json
@@ -1,6 +1,6 @@
{
"name": "Folgertech",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Folgertech configurations",
"machine_model_list": [
diff --git a/resources/profiles/Geeetech.json b/resources/profiles/Geeetech.json
index 78518a7f9a..bada127275 100644
--- a/resources/profiles/Geeetech.json
+++ b/resources/profiles/Geeetech.json
@@ -1,6 +1,6 @@
{
"name": "Geeetech",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Geeetech configurations",
"machine_model_list": [
diff --git a/resources/profiles/Ginger Additive.json b/resources/profiles/Ginger Additive.json
index 09faba143b..c5c9624d9e 100644
--- a/resources/profiles/Ginger Additive.json
+++ b/resources/profiles/Ginger Additive.json
@@ -1,6 +1,6 @@
{
"name": "Ginger Additive",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "1",
"description": "Ginger configuration",
"machine_model_list": [
diff --git a/resources/profiles/InfiMech.json b/resources/profiles/InfiMech.json
index 76297cdaec..a643aa4ed2 100644
--- a/resources/profiles/InfiMech.json
+++ b/resources/profiles/InfiMech.json
@@ -1,6 +1,6 @@
{
"name": "InfiMech",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "1",
"description": "InfiMech configurations",
"machine_model_list": [
diff --git a/resources/profiles/Kingroon.json b/resources/profiles/Kingroon.json
index 5ab5e0b369..b2d0de6815 100644
--- a/resources/profiles/Kingroon.json
+++ b/resources/profiles/Kingroon.json
@@ -1,7 +1,7 @@
{
"name": "Kingroon",
"url": "https://kingroon.com/",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Kingroon configuration files",
"machine_model_list": [
diff --git a/resources/profiles/MagicMaker.json b/resources/profiles/MagicMaker.json
index 47dfc7c99a..c6a01af86e 100644
--- a/resources/profiles/MagicMaker.json
+++ b/resources/profiles/MagicMaker.json
@@ -1,6 +1,6 @@
{
"name": "MagicMaker",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "MagicMaker configurations",
"machine_model_list": [
diff --git a/resources/profiles/Mellow.json b/resources/profiles/Mellow.json
new file mode 100644
index 0000000000..f4eb6d08fc
--- /dev/null
+++ b/resources/profiles/Mellow.json
@@ -0,0 +1,162 @@
+{
+ "name": "Mellow",
+ "version": "02.02.00.01",
+ "force_update": "0",
+ "description": "Mellow Printer Profiles",
+ "machine_model_list": [
+ {
+ "name": "M1",
+ "sub_path": "machine/M1.json"
+ }
+ ],
+ "process_list": [
+ {
+ "name": "fdm_process_common",
+ "sub_path": "process/fdm_process_common.json"
+ },
+ {
+ "name": "fdm_process_M1_common",
+ "sub_path": "process/fdm_process_M1_common.json"
+ },
+ {
+ "name": "0.08mm Extra Fine @M1",
+ "sub_path": "process/0.08mm Extra Fine @M1.json"
+ },
+ {
+ "name": "0.12mm Fine @M1",
+ "sub_path": "process/0.12mm Fine @M1.json"
+ },
+ {
+ "name": "0.16mm Optimal @M1",
+ "sub_path": "process/0.16mm Optimal @M1.json"
+ },
+ {
+ "name": "0.20mm Standard @M1",
+ "sub_path": "process/0.20mm Standard @M1.json"
+ },
+ {
+ "name": "0.24mm Draft @M1",
+ "sub_path": "process/0.24mm Draft @M1.json"
+ },
+ {
+ "name": "0.28mm Extra Draft @M1",
+ "sub_path": "process/0.28mm Extra Draft @M1.json"
+ },
+ {
+ "name": "0.32mm Extra Draft @M1",
+ "sub_path": "process/0.32mm Extra Draft @M1.json"
+ },
+ {
+ "name": "0.40mm Extra Draft @M1",
+ "sub_path": "process/0.40mm Extra Draft @M1.json"
+ },
+ {
+ "name": "0.56mm Extra Draft @M1",
+ "sub_path": "process/0.56mm Extra Draft @M1.json"
+ }
+ ],
+ "filament_list": [
+ {
+ "name": "fdm_filament_common",
+ "sub_path": "filament/fdm_filament_common.json"
+ },
+ {
+ "name": "fdm_filament_pla",
+ "sub_path": "filament/fdm_filament_pla.json"
+ },
+ {
+ "name": "fdm_filament_tpu",
+ "sub_path": "filament/fdm_filament_tpu.json"
+ },
+ {
+ "name": "fdm_filament_pet",
+ "sub_path": "filament/fdm_filament_pet.json"
+ },
+ {
+ "name": "fdm_filament_abs",
+ "sub_path": "filament/fdm_filament_abs.json"
+ },
+ {
+ "name": "fdm_filament_pc",
+ "sub_path": "filament/fdm_filament_pc.json"
+ },
+ {
+ "name": "fdm_filament_asa",
+ "sub_path": "filament/fdm_filament_asa.json"
+ },
+ {
+ "name": "fdm_filament_pva",
+ "sub_path": "filament/fdm_filament_pva.json"
+ },
+ {
+ "name": "fdm_filament_pa",
+ "sub_path": "filament/fdm_filament_pa.json"
+ },
+ {
+ "name": "Generic PLA @M1",
+ "sub_path": "filament/Generic PLA @M1.json"
+ },
+ {
+ "name": "Generic PLA-CF @M1",
+ "sub_path": "filament/Generic PLA-CF @M1.json"
+ },
+ {
+ "name": "Generic PETG @M1",
+ "sub_path": "filament/Generic PETG @M1.json"
+ },
+ {
+ "name": "Generic ABS @M1",
+ "sub_path": "filament/Generic ABS @M1.json"
+ },
+ {
+ "name": "Generic TPU @M1",
+ "sub_path": "filament/Generic TPU @M1.json"
+ },
+ {
+ "name": "Generic ASA @M1",
+ "sub_path": "filament/Generic ASA @M1.json"
+ },
+ {
+ "name": "Generic PC @M1",
+ "sub_path": "filament/Generic PC @M1.json"
+ },
+ {
+ "name": "Generic PVA @M1",
+ "sub_path": "filament/Generic PVA @M1.json"
+ },
+ {
+ "name": "Generic PA @M1",
+ "sub_path": "filament/Generic PA @M1.json"
+ },
+ {
+ "name": "Generic PA-CF @M1",
+ "sub_path": "filament/Generic PA-CF @M1.json"
+ }
+ ],
+ "machine_list": [
+ {
+ "name": "fdm_machine_common",
+ "sub_path": "machine/fdm_machine_common.json"
+ },
+ {
+ "name": "fdm_common_M1",
+ "sub_path": "machine/fdm_common_M1.json"
+ },
+ {
+ "name": "M1 0.4 nozzle",
+ "sub_path": "machine/M1 0.4 nozzle.json"
+ },
+ {
+ "name": "M1 0.2 nozzle",
+ "sub_path": "machine/M1 0.2 nozzle.json"
+ },
+ {
+ "name": "M1 0.6 nozzle",
+ "sub_path": "machine/M1 0.6 nozzle.json"
+ },
+ {
+ "name": "M1 0.8 nozzle",
+ "sub_path": "machine/M1 0.8 nozzle.json"
+ }
+ ]
+}
diff --git a/resources/profiles/Mellow/M1_bed_model.stl b/resources/profiles/Mellow/M1_bed_model.stl
new file mode 100644
index 0000000000..9c5f1daf85
Binary files /dev/null and b/resources/profiles/Mellow/M1_bed_model.stl differ
diff --git a/resources/profiles/Mellow/M1_cover.png b/resources/profiles/Mellow/M1_cover.png
new file mode 100644
index 0000000000..e01f175278
Binary files /dev/null and b/resources/profiles/Mellow/M1_cover.png differ
diff --git a/resources/profiles/Mellow/filament/Generic ABS @M1.json b/resources/profiles/Mellow/filament/Generic ABS @M1.json
new file mode 100644
index 0000000000..8d9504ef09
--- /dev/null
+++ b/resources/profiles/Mellow/filament/Generic ABS @M1.json
@@ -0,0 +1,21 @@
+{
+ "type": "filament",
+ "filament_id": "GFB99",
+ "setting_id": "GFB99_m1_0",
+ "name": "Generic ABS @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_filament_abs",
+ "filament_flow_ratio": [
+ "0.926"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.2 nozzle",
+ "M1 0.6 nozzle",
+ "M1 0.8 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/filament/Generic ASA @M1.json b/resources/profiles/Mellow/filament/Generic ASA @M1.json
new file mode 100644
index 0000000000..e98313f5c9
--- /dev/null
+++ b/resources/profiles/Mellow/filament/Generic ASA @M1.json
@@ -0,0 +1,21 @@
+{
+ "type": "filament",
+ "filament_id": "GFB98",
+ "setting_id": "GFB98_m1_0",
+ "name": "Generic ASA @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_filament_asa",
+ "filament_flow_ratio": [
+ "0.93"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.2 nozzle",
+ "M1 0.6 nozzle",
+ "M1 0.8 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/filament/Generic PA @M1.json b/resources/profiles/Mellow/filament/Generic PA @M1.json
new file mode 100644
index 0000000000..bfd0833a9d
--- /dev/null
+++ b/resources/profiles/Mellow/filament/Generic PA @M1.json
@@ -0,0 +1,24 @@
+{
+ "type": "filament",
+ "filament_id": "GFN99",
+ "setting_id": "GFN99_m1_0",
+ "name": "Generic PA @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_filament_pa",
+ "nozzle_temperature_initial_layer": [
+ "280"
+ ],
+ "nozzle_temperature": [
+ "280"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.2 nozzle",
+ "M1 0.6 nozzle",
+ "M1 0.8 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/filament/Generic PA-CF @M1.json b/resources/profiles/Mellow/filament/Generic PA-CF @M1.json
new file mode 100644
index 0000000000..581410cdd0
--- /dev/null
+++ b/resources/profiles/Mellow/filament/Generic PA-CF @M1.json
@@ -0,0 +1,27 @@
+{
+ "type": "filament",
+ "filament_id": "GFN98",
+ "setting_id": "GFN98_m1_0",
+ "name": "Generic PA-CF @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_filament_pa",
+ "filament_type": [
+ "PA-CF"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "280"
+ ],
+ "nozzle_temperature": [
+ "280"
+ ],
+ "filament_max_volumetric_speed": [
+ "8"
+ ],
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.2 nozzle",
+ "M1 0.6 nozzle",
+ "M1 0.8 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/filament/Generic PC @M1.json b/resources/profiles/Mellow/filament/Generic PC @M1.json
new file mode 100644
index 0000000000..e1db0ea533
--- /dev/null
+++ b/resources/profiles/Mellow/filament/Generic PC @M1.json
@@ -0,0 +1,21 @@
+{
+ "type": "filament",
+ "filament_id": "GFC99",
+ "setting_id": "GFC99_m1_0",
+ "name": "Generic PC @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_filament_pc",
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "filament_flow_ratio": [
+ "0.94"
+ ],
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.2 nozzle",
+ "M1 0.6 nozzle",
+ "M1 0.8 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/filament/Generic PETG @M1.json b/resources/profiles/Mellow/filament/Generic PETG @M1.json
new file mode 100644
index 0000000000..f40ea0dedc
--- /dev/null
+++ b/resources/profiles/Mellow/filament/Generic PETG @M1.json
@@ -0,0 +1,51 @@
+{
+ "type": "filament",
+ "filament_id": "GFG99",
+ "setting_id": "GFG99_m1_0",
+ "name": "Generic PETG @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_filament_pet",
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_for_layer_cooling": [
+ "1"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "overhang_fan_speed": [
+ "90"
+ ],
+ "overhang_fan_threshold": [
+ "25%"
+ ],
+ "fan_max_speed": [
+ "90"
+ ],
+ "fan_min_speed": [
+ "40"
+ ],
+ "slow_down_min_speed": [
+ "10"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "10"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n"
+ ],
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.2 nozzle",
+ "M1 0.6 nozzle",
+ "M1 0.8 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/filament/Generic PLA @M1.json b/resources/profiles/Mellow/filament/Generic PLA @M1.json
new file mode 100644
index 0000000000..f3208bd55b
--- /dev/null
+++ b/resources/profiles/Mellow/filament/Generic PLA @M1.json
@@ -0,0 +1,24 @@
+{
+ "type": "filament",
+ "filament_id": "GFL99",
+ "setting_id": "GFL99_m1_0",
+ "name": "Generic PLA @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_filament_pla",
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.2 nozzle",
+ "M1 0.6 nozzle",
+ "M1 0.8 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/filament/Generic PLA-CF @M1.json b/resources/profiles/Mellow/filament/Generic PLA-CF @M1.json
new file mode 100644
index 0000000000..0b14e17f72
--- /dev/null
+++ b/resources/profiles/Mellow/filament/Generic PLA-CF @M1.json
@@ -0,0 +1,27 @@
+{
+ "type": "filament",
+ "filament_id": "GFL98",
+ "setting_id": "GFL98_m1_0",
+ "name": "Generic PLA-CF @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_filament_pla",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_type": [
+ "PLA-CF"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "slow_down_layer_time": [
+ "7"
+ ],
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.2 nozzle",
+ "M1 0.6 nozzle",
+ "M1 0.8 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/filament/Generic PVA @M1.json b/resources/profiles/Mellow/filament/Generic PVA @M1.json
new file mode 100644
index 0000000000..869bbe2dc0
--- /dev/null
+++ b/resources/profiles/Mellow/filament/Generic PVA @M1.json
@@ -0,0 +1,27 @@
+{
+ "type": "filament",
+ "filament_id": "GFS99",
+ "setting_id": "GFS99_m1_0",
+ "name": "Generic PVA @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_filament_pva",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "slow_down_layer_time": [
+ "7"
+ ],
+ "slow_down_min_speed": [
+ "10"
+ ],
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.2 nozzle",
+ "M1 0.6 nozzle",
+ "M1 0.8 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/filament/Generic TPU @M1.json b/resources/profiles/Mellow/filament/Generic TPU @M1.json
new file mode 100644
index 0000000000..a891bbd20c
--- /dev/null
+++ b/resources/profiles/Mellow/filament/Generic TPU @M1.json
@@ -0,0 +1,18 @@
+{
+ "type": "filament",
+ "filament_id": "GFU99",
+ "setting_id": "GFU99_m1_0",
+ "name": "Generic TPU @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_filament_tpu",
+ "filament_max_volumetric_speed": [
+ "3.2"
+ ],
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.2 nozzle",
+ "M1 0.6 nozzle",
+ "M1 0.8 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/filament/fdm_filament_abs.json b/resources/profiles/Mellow/filament/fdm_filament_abs.json
new file mode 100644
index 0000000000..b9d4eeda31
--- /dev/null
+++ b/resources/profiles/Mellow/filament/fdm_filament_abs.json
@@ -0,0 +1,88 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_abs",
+ "from": "system",
+ "instantiation": "false",
+ "inherits": "fdm_filament_common",
+ "cool_plate_temp" : [
+ "105"
+ ],
+ "eng_plate_temp" : [
+ "105"
+ ],
+ "hot_plate_temp" : [
+ "105"
+ ],
+ "textured_plate_temp" : [
+ "105"
+ ],
+ "cool_plate_temp_initial_layer" : [
+ "105"
+ ],
+ "eng_plate_temp_initial_layer" : [
+ "105"
+ ],
+ "hot_plate_temp_initial_layer" : [
+ "105"
+ ],
+ "textured_plate_temp_initial_layer" : [
+ "105"
+ ],
+ "slow_down_for_layer_cooling": [
+ "1"
+ ],
+ "close_fan_the_first_x_layers": [
+ "3"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "filament_max_volumetric_speed": [
+ "28.6"
+ ],
+ "filament_type": [
+ "ABS"
+ ],
+ "filament_density": [
+ "1.04"
+ ],
+ "filament_cost": [
+ "20"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "260"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "fan_max_speed": [
+ "80"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "overhang_fan_threshold": [
+ "25%"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "nozzle_temperature": [
+ "260"
+ ],
+ "temperature_vitrification": [
+ "110"
+ ],
+ "nozzle_temperature_range_low": [
+ "240"
+ ],
+ "nozzle_temperature_range_high": [
+ "270"
+ ],
+ "slow_down_min_speed": [
+ "10"
+ ],
+ "slow_down_layer_time": [
+ "3"
+ ]
+}
diff --git a/resources/profiles/Mellow/filament/fdm_filament_asa.json b/resources/profiles/Mellow/filament/fdm_filament_asa.json
new file mode 100644
index 0000000000..262c561bda
--- /dev/null
+++ b/resources/profiles/Mellow/filament/fdm_filament_asa.json
@@ -0,0 +1,88 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_asa",
+ "from": "system",
+ "instantiation": "false",
+ "inherits": "fdm_filament_common",
+ "cool_plate_temp" : [
+ "105"
+ ],
+ "eng_plate_temp" : [
+ "105"
+ ],
+ "hot_plate_temp" : [
+ "105"
+ ],
+ "textured_plate_temp" : [
+ "105"
+ ],
+ "cool_plate_temp_initial_layer" : [
+ "105"
+ ],
+ "eng_plate_temp_initial_layer" : [
+ "105"
+ ],
+ "hot_plate_temp_initial_layer" : [
+ "105"
+ ],
+ "textured_plate_temp_initial_layer" : [
+ "105"
+ ],
+ "slow_down_for_layer_cooling": [
+ "1"
+ ],
+ "close_fan_the_first_x_layers": [
+ "3"
+ ],
+ "fan_cooling_layer_time": [
+ "35"
+ ],
+ "filament_max_volumetric_speed": [
+ "28.6"
+ ],
+ "filament_type": [
+ "ASA"
+ ],
+ "filament_density": [
+ "1.04"
+ ],
+ "filament_cost": [
+ "20"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "260"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "fan_max_speed": [
+ "80"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "overhang_fan_threshold": [
+ "25%"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "nozzle_temperature": [
+ "260"
+ ],
+ "temperature_vitrification": [
+ "110"
+ ],
+ "nozzle_temperature_range_low": [
+ "240"
+ ],
+ "nozzle_temperature_range_high": [
+ "270"
+ ],
+ "slow_down_min_speed": [
+ "10"
+ ],
+ "slow_down_layer_time": [
+ "3"
+ ]
+}
diff --git a/resources/profiles/Mellow/filament/fdm_filament_common.json b/resources/profiles/Mellow/filament/fdm_filament_common.json
new file mode 100644
index 0000000000..9f77975119
--- /dev/null
+++ b/resources/profiles/Mellow/filament/fdm_filament_common.json
@@ -0,0 +1,144 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "cool_plate_temp" : [
+ "60"
+ ],
+ "eng_plate_temp" : [
+ "60"
+ ],
+ "hot_plate_temp" : [
+ "60"
+ ],
+ "textured_plate_temp" : [
+ "60"
+ ],
+ "cool_plate_temp_initial_layer" : [
+ "60"
+ ],
+ "eng_plate_temp_initial_layer" : [
+ "60"
+ ],
+ "hot_plate_temp_initial_layer" : [
+ "60"
+ ],
+ "textured_plate_temp_initial_layer" : [
+ "60"
+ ],
+ "overhang_fan_threshold": [
+ "95%"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "slow_down_for_layer_cooling": [
+ "1"
+ ],
+ "close_fan_the_first_x_layers": [
+ "3"
+ ],
+ "filament_end_gcode": [
+ "; filament end gcode \n"
+ ],
+ "filament_flow_ratio": [
+ "1"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "0"
+ ],
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "filament_cost": [
+ "0"
+ ],
+ "filament_density": [
+ "0"
+ ],
+ "filament_deretraction_speed": [
+ "nil"
+ ],
+ "filament_diameter": [
+ "1.75"
+ ],
+ "filament_max_volumetric_speed": [
+ "0"
+ ],
+ "filament_minimal_purge_on_wipe_tower": [
+ "15"
+ ],
+ "filament_retraction_minimum_travel": [
+ "nil"
+ ],
+ "filament_retract_before_wipe": [
+ "nil"
+ ],
+ "filament_retract_when_changing_layer": [
+ "nil"
+ ],
+ "filament_retraction_length": [
+ "nil"
+ ],
+ "filament_z_hop": [
+ "nil"
+ ],
+ "filament_z_hop_types": [
+ "nil"
+ ],
+ "filament_retract_restart_extra": [
+ "nil"
+ ],
+ "filament_retraction_speed": [
+ "nil"
+ ],
+ "filament_settings_id": [
+ ""
+ ],
+ "filament_soluble": [
+ "0"
+ ],
+ "filament_type": [
+ "PLA"
+ ],
+ "filament_vendor": [
+ "Generic"
+ ],
+ "filament_wipe": [
+ "nil"
+ ],
+ "filament_wipe_distance": [
+ "nil"
+ ],
+ "bed_type": [
+ "Cool Plate"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "200"
+ ],
+ "full_fan_speed_layer": [
+ "0"
+ ],
+ "fan_max_speed": [
+ "100"
+ ],
+ "fan_min_speed": [
+ "35"
+ ],
+ "slow_down_min_speed": [
+ "10"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "filament_start_gcode": [
+ "; Filament gcode\n"
+ ],
+ "nozzle_temperature": [
+ "200"
+ ],
+ "temperature_vitrification": [
+ "100"
+ ]
+}
diff --git a/resources/profiles/Mellow/filament/fdm_filament_pa.json b/resources/profiles/Mellow/filament/fdm_filament_pa.json
new file mode 100644
index 0000000000..58f53cd451
--- /dev/null
+++ b/resources/profiles/Mellow/filament/fdm_filament_pa.json
@@ -0,0 +1,85 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_pa",
+ "from": "system",
+ "instantiation": "false",
+ "inherits": "fdm_filament_common",
+ "cool_plate_temp" : [
+ "0"
+ ],
+ "eng_plate_temp" : [
+ "100"
+ ],
+ "hot_plate_temp" : [
+ "100"
+ ],
+ "textured_plate_temp" : [
+ "100"
+ ],
+ "cool_plate_temp_initial_layer" : [
+ "0"
+ ],
+ "eng_plate_temp_initial_layer" : [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer" : [
+ "100"
+ ],
+ "textured_plate_temp_initial_layer" : [
+ "100"
+ ],
+ "slow_down_for_layer_cooling": [
+ "1"
+ ],
+ "close_fan_the_first_x_layers": [
+ "3"
+ ],
+ "fan_cooling_layer_time": [
+ "4"
+ ],
+ "filament_max_volumetric_speed": [
+ "8"
+ ],
+ "filament_type": [
+ "PA"
+ ],
+ "filament_density": [
+ "1.04"
+ ],
+ "filament_cost": [
+ "20"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "290"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "0"
+ ],
+ "fan_max_speed": [
+ "60"
+ ],
+ "fan_min_speed": [
+ "0"
+ ],
+ "overhang_fan_speed": [
+ "30"
+ ],
+ "nozzle_temperature": [
+ "290"
+ ],
+ "temperature_vitrification": [
+ "108"
+ ],
+ "nozzle_temperature_range_low": [
+ "270"
+ ],
+ "nozzle_temperature_range_high": [
+ "300"
+ ],
+ "slow_down_min_speed": [
+ "10"
+ ],
+ "slow_down_layer_time": [
+ "2"
+ ]
+}
diff --git a/resources/profiles/Mellow/filament/fdm_filament_pc.json b/resources/profiles/Mellow/filament/fdm_filament_pc.json
new file mode 100644
index 0000000000..cec8b89a38
--- /dev/null
+++ b/resources/profiles/Mellow/filament/fdm_filament_pc.json
@@ -0,0 +1,88 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_pc",
+ "from": "system",
+ "instantiation": "false",
+ "inherits": "fdm_filament_common",
+ "cool_plate_temp" : [
+ "0"
+ ],
+ "eng_plate_temp" : [
+ "110"
+ ],
+ "hot_plate_temp" : [
+ "110"
+ ],
+ "textured_plate_temp" : [
+ "110"
+ ],
+ "cool_plate_temp_initial_layer" : [
+ "0"
+ ],
+ "eng_plate_temp_initial_layer" : [
+ "110"
+ ],
+ "hot_plate_temp_initial_layer" : [
+ "110"
+ ],
+ "textured_plate_temp_initial_layer" : [
+ "110"
+ ],
+ "slow_down_for_layer_cooling": [
+ "1"
+ ],
+ "close_fan_the_first_x_layers": [
+ "3"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "filament_max_volumetric_speed": [
+ "23.2"
+ ],
+ "filament_type": [
+ "PC"
+ ],
+ "filament_density": [
+ "1.04"
+ ],
+ "filament_cost": [
+ "20"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "270"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "fan_max_speed": [
+ "60"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "overhang_fan_threshold": [
+ "25%"
+ ],
+ "overhang_fan_speed": [
+ "60"
+ ],
+ "nozzle_temperature": [
+ "280"
+ ],
+ "temperature_vitrification": [
+ "140"
+ ],
+ "nozzle_temperature_range_low": [
+ "260"
+ ],
+ "nozzle_temperature_range_high": [
+ "280"
+ ],
+ "slow_down_min_speed": [
+ "10"
+ ],
+ "slow_down_layer_time": [
+ "2"
+ ]
+}
diff --git a/resources/profiles/Mellow/filament/fdm_filament_pet.json b/resources/profiles/Mellow/filament/fdm_filament_pet.json
new file mode 100644
index 0000000000..bb2323e9c1
--- /dev/null
+++ b/resources/profiles/Mellow/filament/fdm_filament_pet.json
@@ -0,0 +1,82 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_pet",
+ "from": "system",
+ "instantiation": "false",
+ "inherits": "fdm_filament_common",
+ "cool_plate_temp" : [
+ "60"
+ ],
+ "eng_plate_temp" : [
+ "0"
+ ],
+ "hot_plate_temp" : [
+ "80"
+ ],
+ "textured_plate_temp" : [
+ "80"
+ ],
+ "cool_plate_temp_initial_layer" : [
+ "60"
+ ],
+ "eng_plate_temp_initial_layer" : [
+ "0"
+ ],
+ "hot_plate_temp_initial_layer" : [
+ "80"
+ ],
+ "textured_plate_temp_initial_layer" : [
+ "80"
+ ],
+ "slow_down_for_layer_cooling": [
+ "1"
+ ],
+ "close_fan_the_first_x_layers": [
+ "3"
+ ],
+ "fan_cooling_layer_time": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "25"
+ ],
+ "filament_type": [
+ "PETG"
+ ],
+ "filament_density": [
+ "1.27"
+ ],
+ "filament_cost": [
+ "30"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "255"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "fan_max_speed": [
+ "100"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "nozzle_temperature": [
+ "255"
+ ],
+ "temperature_vitrification": [
+ "80"
+ ],
+ "nozzle_temperature_range_low": [
+ "220"
+ ],
+ "nozzle_temperature_range_high": [
+ "260"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n"
+ ]
+}
diff --git a/resources/profiles/Mellow/filament/fdm_filament_pla.json b/resources/profiles/Mellow/filament/fdm_filament_pla.json
new file mode 100644
index 0000000000..82c6772f35
--- /dev/null
+++ b/resources/profiles/Mellow/filament/fdm_filament_pla.json
@@ -0,0 +1,94 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_pla",
+ "from": "system",
+ "instantiation": "false",
+ "inherits": "fdm_filament_common",
+ "fan_cooling_layer_time": [
+ "100"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "filament_type": [
+ "PLA"
+ ],
+ "filament_density": [
+ "1.24"
+ ],
+ "filament_cost": [
+ "20"
+ ],
+ "cool_plate_temp" : [
+ "60"
+ ],
+ "eng_plate_temp" : [
+ "60"
+ ],
+ "hot_plate_temp" : [
+ "60"
+ ],
+ "textured_plate_temp" : [
+ "60"
+ ],
+ "cool_plate_temp_initial_layer" : [
+ "60"
+ ],
+ "eng_plate_temp_initial_layer" : [
+ "60"
+ ],
+ "hot_plate_temp_initial_layer" : [
+ "60"
+ ],
+ "textured_plate_temp_initial_layer" : [
+ "60"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "220"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_for_layer_cooling": [
+ "1"
+ ],
+ "fan_max_speed": [
+ "100"
+ ],
+ "fan_min_speed": [
+ "100"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "overhang_fan_threshold": [
+ "50%"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "nozzle_temperature": [
+ "220"
+ ],
+ "temperature_vitrification": [
+ "60"
+ ],
+ "nozzle_temperature_range_low": [
+ "190"
+ ],
+ "nozzle_temperature_range_high": [
+ "230"
+ ],
+ "slow_down_min_speed": [
+ "10"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "additional_cooling_fan_speed": [
+ "70"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n"
+ ]
+}
diff --git a/resources/profiles/Mellow/filament/fdm_filament_pva.json b/resources/profiles/Mellow/filament/fdm_filament_pva.json
new file mode 100644
index 0000000000..ebf25aa3ae
--- /dev/null
+++ b/resources/profiles/Mellow/filament/fdm_filament_pva.json
@@ -0,0 +1,100 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_pva",
+ "from": "system",
+ "instantiation": "false",
+ "inherits": "fdm_filament_common",
+ "cool_plate_temp" : [
+ "35"
+ ],
+ "eng_plate_temp" : [
+ "0"
+ ],
+ "hot_plate_temp" : [
+ "45"
+ ],
+ "textured_plate_temp" : [
+ "45"
+ ],
+ "cool_plate_temp_initial_layer" : [
+ "35"
+ ],
+ "eng_plate_temp_initial_layer" : [
+ "0"
+ ],
+ "hot_plate_temp_initial_layer" : [
+ "45"
+ ],
+ "textured_plate_temp_initial_layer" : [
+ "45"
+ ],
+ "fan_cooling_layer_time": [
+ "100"
+ ],
+ "filament_max_volumetric_speed": [
+ "15"
+ ],
+ "filament_soluble": [
+ "1"
+ ],
+ "filament_is_support": [
+ "1"
+ ],
+ "filament_type": [
+ "PVA"
+ ],
+ "filament_density": [
+ "1.24"
+ ],
+ "filament_cost": [
+ "20"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "220"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_for_layer_cooling": [
+ "1"
+ ],
+ "fan_max_speed": [
+ "100"
+ ],
+ "fan_min_speed": [
+ "100"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "overhang_fan_threshold": [
+ "50%"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "nozzle_temperature": [
+ "220"
+ ],
+ "temperature_vitrification": [
+ "50"
+ ],
+ "nozzle_temperature_range_low": [
+ "190"
+ ],
+ "nozzle_temperature_range_high": [
+ "250"
+ ],
+ "slow_down_min_speed": [
+ "10"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "additional_cooling_fan_speed": [
+ "70"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n"
+ ]
+}
diff --git a/resources/profiles/Mellow/filament/fdm_filament_tpu.json b/resources/profiles/Mellow/filament/fdm_filament_tpu.json
new file mode 100644
index 0000000000..d00b7dbcab
--- /dev/null
+++ b/resources/profiles/Mellow/filament/fdm_filament_tpu.json
@@ -0,0 +1,88 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_tpu",
+ "from": "system",
+ "instantiation": "false",
+ "inherits": "fdm_filament_common",
+ "cool_plate_temp" : [
+ "30"
+ ],
+ "eng_plate_temp" : [
+ "30"
+ ],
+ "hot_plate_temp" : [
+ "35"
+ ],
+ "textured_plate_temp" : [
+ "35"
+ ],
+ "cool_plate_temp_initial_layer" : [
+ "30"
+ ],
+ "eng_plate_temp_initial_layer" : [
+ "30"
+ ],
+ "hot_plate_temp_initial_layer" : [
+ "35"
+ ],
+ "textured_plate_temp_initial_layer" : [
+ "35"
+ ],
+ "fan_cooling_layer_time": [
+ "100"
+ ],
+ "filament_max_volumetric_speed": [
+ "15"
+ ],
+ "filament_type": [
+ "TPU"
+ ],
+ "filament_density": [
+ "1.24"
+ ],
+ "filament_cost": [
+ "20"
+ ],
+ "filament_retraction_length": [
+ "0.4"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "240"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_for_layer_cooling": [
+ "1"
+ ],
+ "fan_max_speed": [
+ "100"
+ ],
+ "fan_min_speed": [
+ "100"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "additional_cooling_fan_speed": [
+ "70"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "nozzle_temperature": [
+ "240"
+ ],
+ "temperature_vitrification": [
+ "60"
+ ],
+ "nozzle_temperature_range_low": [
+ "200"
+ ],
+ "nozzle_temperature_range_high": [
+ "250"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n"
+ ]
+}
diff --git a/resources/profiles/Mellow/machine/M1 0.2 nozzle.json b/resources/profiles/Mellow/machine/M1 0.2 nozzle.json
new file mode 100644
index 0000000000..300af32d2c
--- /dev/null
+++ b/resources/profiles/Mellow/machine/M1 0.2 nozzle.json
@@ -0,0 +1,26 @@
+{
+ "type": "machine",
+ "setting_id": "m1_m002",
+ "name": "M1 0.2 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_common_M1",
+ "printer_model": "M1",
+ "nozzle_diameter": [
+ "0.2"
+ ],
+ "max_layer_height": [
+ "0.16"
+ ],
+ "min_layer_height": [
+ "0.04"
+ ],
+ "printer_variant": "0.2",
+ "printable_area": [
+ "0x0",
+ "106x0",
+ "106x106",
+ "0x106"
+ ],
+ "printable_height": "100"
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/machine/M1 0.4 nozzle.json b/resources/profiles/Mellow/machine/M1 0.4 nozzle.json
new file mode 100644
index 0000000000..25638de7d8
--- /dev/null
+++ b/resources/profiles/Mellow/machine/M1 0.4 nozzle.json
@@ -0,0 +1,20 @@
+{
+ "type": "machine",
+ "setting_id": "m1_m001",
+ "name": "M1 0.4 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_common_M1",
+ "printer_model": "M1",
+ "nozzle_diameter": [
+ "0.4"
+ ],
+ "printer_variant": "0.4",
+ "printable_area": [
+ "0x0",
+ "106x0",
+ "106x106",
+ "0x106"
+ ],
+ "printable_height": "100"
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/machine/M1 0.6 nozzle.json b/resources/profiles/Mellow/machine/M1 0.6 nozzle.json
new file mode 100644
index 0000000000..dd234f948b
--- /dev/null
+++ b/resources/profiles/Mellow/machine/M1 0.6 nozzle.json
@@ -0,0 +1,26 @@
+{
+ "type": "machine",
+ "setting_id": "m1_m003",
+ "name": "M1 0.6 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_common_M1",
+ "printer_model": "M1",
+ "nozzle_diameter": [
+ "0.6"
+ ],
+ "max_layer_height": [
+ "0.4"
+ ],
+ "min_layer_height": [
+ "0.12"
+ ],
+ "printer_variant": "0.6",
+ "printable_area": [
+ "0x0",
+ "106x0",
+ "106x106",
+ "0x106"
+ ],
+ "printable_height": "100"
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/machine/M1 0.8 nozzle.json b/resources/profiles/Mellow/machine/M1 0.8 nozzle.json
new file mode 100644
index 0000000000..3ef0e4101f
--- /dev/null
+++ b/resources/profiles/Mellow/machine/M1 0.8 nozzle.json
@@ -0,0 +1,26 @@
+{
+ "type": "machine",
+ "setting_id": "m1_m004",
+ "name": "M1 0.8 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_common_M1",
+ "printer_model": "M1",
+ "nozzle_diameter": [
+ "0.8"
+ ],
+ "max_layer_height": [
+ "0.6"
+ ],
+ "min_layer_height": [
+ "0.2"
+ ],
+ "printer_variant": "0.8",
+ "printable_area": [
+ "0x0",
+ "106x0",
+ "106x106",
+ "0x106"
+ ],
+ "printable_height": "100"
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/machine/M1.json b/resources/profiles/Mellow/machine/M1.json
new file mode 100644
index 0000000000..eb7547b3a8
--- /dev/null
+++ b/resources/profiles/Mellow/machine/M1.json
@@ -0,0 +1,12 @@
+{
+ "type": "machine_model",
+ "name": "M1",
+ "model_id": "m1_1",
+ "nozzle_diameter": "0.4;0.2;0.6;0.8",
+ "machine_tech": "FFF",
+ "family": "Mellow",
+ "bed_model": "M1_bed_model.stl",
+ "bed_texture": "mellow_bed_texture.png",
+ "hotend_model": "",
+ "default_materials": "Generic ABS @M1;Generic PLA @M1;Generic PLA-CF @M1;Generic PETG @M1;Generic TPU @M1;Generic ASA @M1;Generic PC @M1;Generic PVA @M1;Generic PA @M1;Generic PA-CF @M1"
+}
diff --git a/resources/profiles/Mellow/machine/fdm_common_M1.json b/resources/profiles/Mellow/machine/fdm_common_M1.json
new file mode 100644
index 0000000000..be2c1976fd
--- /dev/null
+++ b/resources/profiles/Mellow/machine/fdm_common_M1.json
@@ -0,0 +1,60 @@
+{
+ "type": "machine",
+ "name": "fdm_common_M1",
+ "from": "system",
+ "instantiation": "false",
+ "inherits": "fdm_machine_common",
+ "gcode_flavor": "klipper",
+ "machine_max_acceleration_e": ["5000", "5000"],
+ "machine_max_acceleration_extruding": ["8000", "8000"],
+ "machine_max_acceleration_retracting": ["5000", "5000"],
+ "machine_max_acceleration_travel": ["8000", "8000"],
+ "machine_max_acceleration_x": ["8000", "8000"],
+ "machine_max_acceleration_y": ["8000", "8000"],
+ "machine_max_acceleration_z": ["500", "500"],
+ "machine_max_speed_e": ["25", "25"],
+ "machine_max_speed_x": ["420", "420"],
+ "machine_max_speed_y": ["420", "420"],
+ "machine_max_speed_z": ["12", "12"],
+ "machine_max_jerk_e": ["2.5", "2.5"],
+ "machine_max_jerk_x": ["12", "12"],
+ "machine_max_jerk_y": ["12", "12"],
+ "machine_max_jerk_z": ["0.2", "0.4"],
+ "machine_min_extruding_rate": ["0", "0"],
+ "machine_min_travel_rate": ["0", "0"],
+ "max_layer_height": ["0.32"],
+ "min_layer_height": ["0.08"],
+ "printable_height": "165",
+ "extruder_clearance_radius": "65",
+ "extruder_clearance_height_to_rod": "36",
+ "extruder_clearance_height_to_lid": "140",
+ "printer_settings_id": "",
+ "printer_technology": "FFF",
+ "printer_variant": "0.4",
+ "retraction_minimum_travel": ["1"],
+ "retract_before_wipe": ["70%"],
+ "retract_when_changing_layer": ["1"],
+ "retraction_length": ["2.9"],
+ "retract_length_toolchange": ["2"],
+ "z_hop": ["0.4"],
+ "retract_restart_extra": ["0"],
+ "retract_restart_extra_toolchange": ["0"],
+ "retraction_speed": ["50"],
+ "deretraction_speed": ["40"],
+ "z_hop_types": "Normal Lift",
+ "silent_mode": "0",
+ "single_extruder_multi_material": "1",
+ "change_filament_gcode": "",
+ "wipe": ["1"],
+ "default_filament_profile": ["Generic ABS @M1"],
+ "default_print_profile": "0.20mm Standard @M1",
+ "bed_exclude_area": ["0x0"],
+ "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer]\nPRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single]\n",
+ "machine_end_gcode": "PRINT_END",
+ "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]",
+ "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n",
+ "machine_pause_gcode": "PAUSE",
+ "scan_first_layer": "0",
+ "nozzle_type": "undefine",
+ "auxiliary_fan": "0"
+}
diff --git a/resources/profiles/Mellow/machine/fdm_machine_common.json b/resources/profiles/Mellow/machine/fdm_machine_common.json
new file mode 100644
index 0000000000..bfb6b23e1a
--- /dev/null
+++ b/resources/profiles/Mellow/machine/fdm_machine_common.json
@@ -0,0 +1,119 @@
+{
+ "type": "machine",
+ "name": "fdm_machine_common",
+ "from": "system",
+ "instantiation": "false",
+ "printer_technology": "FFF",
+ "deretraction_speed": [
+ "40"
+ ],
+ "extruder_colour": [
+ "#FCE94F"
+ ],
+ "extruder_offset": [
+ "0x0"
+ ],
+ "gcode_flavor": "marlin",
+ "silent_mode": "0",
+ "machine_max_acceleration_e": [
+ "5000"
+ ],
+ "machine_max_acceleration_extruding": [
+ "10000"
+ ],
+ "machine_max_acceleration_retracting": [
+ "1000"
+ ],
+ "machine_max_acceleration_x": [
+ "10000"
+ ],
+ "machine_max_acceleration_y": [
+ "10000"
+ ],
+ "machine_max_acceleration_z": [
+ "500"
+ ],
+ "machine_max_speed_e": [
+ "60"
+ ],
+ "machine_max_speed_x": [
+ "500"
+ ],
+ "machine_max_speed_y": [
+ "500"
+ ],
+ "machine_max_speed_z": [
+ "10"
+ ],
+ "machine_max_jerk_e": [
+ "5"
+ ],
+ "machine_max_jerk_x": [
+ "8"
+ ],
+ "machine_max_jerk_y": [
+ "8"
+ ],
+ "machine_max_jerk_z": [
+ "0.4"
+ ],
+ "machine_min_extruding_rate": [
+ "0"
+ ],
+ "machine_min_travel_rate": [
+ "0"
+ ],
+ "max_layer_height": [
+ "0.32"
+ ],
+ "min_layer_height": [
+ "0.08"
+ ],
+ "printable_height": "165",
+ "extruder_clearance_radius": "65",
+ "extruder_clearance_height_to_rod": "36",
+ "extruder_clearance_height_to_lid": "140",
+ "nozzle_diameter": [
+ "0.4"
+ ],
+ "printer_settings_id": "",
+ "printer_variant": "0.4",
+ "retraction_minimum_travel": [
+ "2"
+ ],
+ "retract_before_wipe": [
+ "70%"
+ ],
+ "retract_when_changing_layer": [
+ "1"
+ ],
+ "retraction_length": [
+ "5"
+ ],
+ "retract_length_toolchange": [
+ "1"
+ ],
+ "z_hop": [
+ "0"
+ ],
+ "retract_restart_extra": [
+ "0"
+ ],
+ "retract_restart_extra_toolchange": [
+ "0"
+ ],
+ "retraction_speed": [
+ "60"
+ ],
+ "single_extruder_multi_material": "1",
+ "change_filament_gcode": "",
+ "wipe": [
+ "1"
+ ],
+ "default_print_profile": "",
+ "machine_start_gcode": "G0 Z20 F9000\nG92 E0; G1 E-10 F1200\nG28\nM970 Q1 A10 B10 C130 K0\nM970 Q1 A10 B131 C250 K1\nM974 Q1 S1 P0\nM970 Q0 A10 B10 C130 H20 K0\nM970 Q0 A10 B131 C250 K1\nM974 Q0 S1 P0\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nG29 ;Home\nG90;\nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S205;\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder \nG1 X110 Y110 Z2.0 F3000 ;Move Z Axis up",
+ "machine_end_gcode": "M400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-4.0 F3600; retract \nG91\nG1 Z3;\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nG90 \nG0 X110 Y200 F3600 \nprint_end",
+ "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]",
+ "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n",
+ "machine_pause_gcode": "M601"
+}
diff --git a/resources/profiles/Mellow/mellow_bed_texture.png b/resources/profiles/Mellow/mellow_bed_texture.png
new file mode 100644
index 0000000000..a615566b12
Binary files /dev/null and b/resources/profiles/Mellow/mellow_bed_texture.png differ
diff --git a/resources/profiles/Mellow/process/0.08mm Extra Fine @M1.json b/resources/profiles/Mellow/process/0.08mm Extra Fine @M1.json
new file mode 100644
index 0000000000..eeda2ac527
--- /dev/null
+++ b/resources/profiles/Mellow/process/0.08mm Extra Fine @M1.json
@@ -0,0 +1,19 @@
+{
+ "type": "process",
+ "setting_id": "m1_p001",
+ "name": "0.08mm Extra Fine @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_M1_common",
+ "layer_height": "0.08",
+ "bottom_shell_layers": "7",
+ "top_shell_layers": "9",
+ "support_top_z_distance": "0.08",
+ "support_bottom_z_distance": "0.08",
+ "initial_layer_print_height": "0.2",
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.2 nozzle",
+ "M1 0.6 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/process/0.12mm Fine @M1.json b/resources/profiles/Mellow/process/0.12mm Fine @M1.json
new file mode 100644
index 0000000000..14597cad80
--- /dev/null
+++ b/resources/profiles/Mellow/process/0.12mm Fine @M1.json
@@ -0,0 +1,19 @@
+{
+ "type": "process",
+ "setting_id": "m1_p002",
+ "name": "0.12mm Fine @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_M1_common",
+ "layer_height": "0.12",
+ "bottom_shell_layers": "5",
+ "top_shell_layers": "6",
+ "support_top_z_distance": "0.08",
+ "support_bottom_z_distance": "0.08",
+ "initial_layer_print_height": "0.2",
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.2 nozzle",
+ "M1 0.6 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/process/0.16mm Optimal @M1.json b/resources/profiles/Mellow/process/0.16mm Optimal @M1.json
new file mode 100644
index 0000000000..0d83241d04
--- /dev/null
+++ b/resources/profiles/Mellow/process/0.16mm Optimal @M1.json
@@ -0,0 +1,20 @@
+{
+ "type": "process",
+ "setting_id": "m1_p003",
+ "name": "0.16mm Optimal @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_M1_common",
+ "bottom_shell_layers": "4",
+ "top_shell_layers": "5",
+ "support_top_z_distance": "0.16",
+ "support_bottom_z_distance": "0.16",
+ "layer_height": "0.16",
+ "initial_layer_print_height": "0.2",
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.2 nozzle",
+ "M1 0.6 nozzle",
+ "M1 0.8 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/process/0.20mm Standard @M1.json b/resources/profiles/Mellow/process/0.20mm Standard @M1.json
new file mode 100644
index 0000000000..936992d1b6
--- /dev/null
+++ b/resources/profiles/Mellow/process/0.20mm Standard @M1.json
@@ -0,0 +1,14 @@
+{
+ "type": "process",
+ "setting_id": "m1_p004",
+ "name": "0.20mm Standard @M1",
+ "from": "system",
+ "inherits": "fdm_process_M1_common",
+ "instantiation": "true",
+ "layer_height": "0.2",
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.6 nozzle",
+ "M1 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Mellow/process/0.24mm Draft @M1.json b/resources/profiles/Mellow/process/0.24mm Draft @M1.json
new file mode 100644
index 0000000000..7a557c563f
--- /dev/null
+++ b/resources/profiles/Mellow/process/0.24mm Draft @M1.json
@@ -0,0 +1,17 @@
+{
+ "type": "process",
+ "setting_id": "m1_p005",
+ "name": "0.24mm Draft @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_M1_common",
+ "support_top_z_distance": "0.2",
+ "support_bottom_z_distance": "0.2",
+ "layer_height": "0.24",
+ "initial_layer_print_height": "0.2",
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.6 nozzle",
+ "M1 0.8 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/process/0.28mm Extra Draft @M1.json b/resources/profiles/Mellow/process/0.28mm Extra Draft @M1.json
new file mode 100644
index 0000000000..45a2ed9f02
--- /dev/null
+++ b/resources/profiles/Mellow/process/0.28mm Extra Draft @M1.json
@@ -0,0 +1,15 @@
+{
+ "type": "process",
+ "setting_id": "m1_p006",
+ "name": "0.28mm Extra Draft @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_M1_common",
+ "layer_height": "0.28",
+ "initial_layer_print_height": "0.2",
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.6 nozzle",
+ "M1 0.8 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/process/0.32mm Extra Draft @M1.json b/resources/profiles/Mellow/process/0.32mm Extra Draft @M1.json
new file mode 100644
index 0000000000..9256e34d3d
--- /dev/null
+++ b/resources/profiles/Mellow/process/0.32mm Extra Draft @M1.json
@@ -0,0 +1,17 @@
+{
+ "type": "process",
+ "setting_id": "m1_p007",
+ "name": "0.32mm Standard @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_M1_common",
+ "support_top_z_distance": "0.24",
+ "support_bottom_z_distance": "0.24",
+ "layer_height": "0.32",
+ "initial_layer_print_height": "0.2",
+ "compatible_printers": [
+ "M1 0.4 nozzle",
+ "M1 0.6 nozzle",
+ "M1 0.8 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/process/0.40mm Extra Draft @M1.json b/resources/profiles/Mellow/process/0.40mm Extra Draft @M1.json
new file mode 100644
index 0000000000..de58e1b9ce
--- /dev/null
+++ b/resources/profiles/Mellow/process/0.40mm Extra Draft @M1.json
@@ -0,0 +1,16 @@
+{
+ "type": "process",
+ "setting_id": "m1_p008",
+ "name": "0.40mm Standard @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_M1_common",
+ "support_top_z_distance": "0.24",
+ "support_bottom_z_distance": "0.24",
+ "layer_height": "0.40",
+ "initial_layer_print_height": "0.2",
+ "compatible_printers": [
+ "M1 0.6 nozzle",
+ "M1 0.8 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/process/0.56mm Extra Draft @M1.json b/resources/profiles/Mellow/process/0.56mm Extra Draft @M1.json
new file mode 100644
index 0000000000..1ee4596860
--- /dev/null
+++ b/resources/profiles/Mellow/process/0.56mm Extra Draft @M1.json
@@ -0,0 +1,15 @@
+{
+ "type": "process",
+ "setting_id": "m1_p009",
+ "name": "0.56mm Standard @M1",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_M1_common",
+ "support_top_z_distance": "0.24",
+ "support_bottom_z_distance": "0.24",
+ "layer_height": "0.56",
+ "initial_layer_print_height": "0.2",
+ "compatible_printers": [
+ "M1 0.8 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/process/fdm_process_M1_common.json b/resources/profiles/Mellow/process/fdm_process_M1_common.json
new file mode 100644
index 0000000000..9ff872baa4
--- /dev/null
+++ b/resources/profiles/Mellow/process/fdm_process_M1_common.json
@@ -0,0 +1,30 @@
+{
+ "type": "process",
+ "name": "fdm_process_M1_common",
+ "from": "system",
+ "instantiation": "false",
+ "inherits": "fdm_process_common",
+ "default_acceleration": "6000",
+ "top_surface_acceleration": "3000",
+ "travel_acceleration": "6000",
+ "inner_wall_acceleration": "5000",
+ "outer_wall_acceleration": "3000",
+ "initial_layer_acceleration": "1000",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "200",
+ "inner_wall_speed": "250",
+ "internal_solid_infill_speed": "280",
+ "top_surface_speed": "200",
+ "gap_infill_speed": "200",
+ "sparse_infill_speed": "300",
+ "travel_speed": "400",
+ "travel_jerk": "12",
+ "outer_wall_jerk": "7",
+ "inner_wall_jerk": "7",
+ "default_jerk": "0",
+ "infill_jerk": "12",
+ "top_surface_jerk": "7",
+ "initial_layer_jerk": "7",
+ "exclude_object": "1"
+}
\ No newline at end of file
diff --git a/resources/profiles/Mellow/process/fdm_process_common.json b/resources/profiles/Mellow/process/fdm_process_common.json
new file mode 100644
index 0000000000..85e8c70fd2
--- /dev/null
+++ b/resources/profiles/Mellow/process/fdm_process_common.json
@@ -0,0 +1,109 @@
+{
+ "type": "process",
+ "name": "fdm_process_common",
+ "from": "system",
+ "instantiation": "false",
+ "adaptive_layer_height": "0",
+ "reduce_crossing_wall": "0",
+ "max_travel_detour_distance": "0",
+ "bottom_surface_pattern": "monotonic",
+ "bottom_shell_thickness": "0",
+ "bridge_speed": "25",
+ "internal_bridge_speed": "70",
+ "brim_width": "5",
+ "brim_object_gap": "0.1",
+ "compatible_printers": [],
+ "compatible_printers_condition": "",
+ "print_sequence": "by layer",
+ "default_acceleration": "1000",
+ "initial_layer_acceleration": "500",
+ "top_surface_acceleration": "1000",
+ "travel_acceleration": "1000",
+ "inner_wall_acceleration": "1000",
+ "outer_wall_acceleration": "700",
+ "bridge_no_support": "0",
+ "draft_shield": "disabled",
+ "elefant_foot_compensation": "0",
+ "enable_arc_fitting": "0",
+ "wall_infill_order": "inner wall/outer wall/infill",
+ "infill_direction": "45",
+ "sparse_infill_density": "15%",
+ "sparse_infill_pattern": "crosshatch",
+ "initial_layer_print_height": "0.2",
+ "infill_combination": "0",
+ "infill_wall_overlap": "25%",
+ "interface_shells": "0",
+ "ironing_flow": "10%",
+ "ironing_spacing": "0.15",
+ "ironing_speed": "30",
+ "ironing_type": "no ironing",
+ "reduce_infill_retraction": "1",
+ "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[initial_tool]}_{printer_model}_{print_time}.gcode",
+ "detect_overhang_wall": "1",
+ "slowdown_for_curled_perimeters": "1",
+ "overhang_1_4_speed": "0",
+ "overhang_2_4_speed": "50",
+ "overhang_3_4_speed": "30",
+ "overhang_4_4_speed": "10",
+ "line_width": "110%",
+ "inner_wall_line_width": "110%",
+ "outer_wall_line_width": "100%",
+ "top_surface_line_width": "93.75%",
+ "sparse_infill_line_width": "110%",
+ "initial_layer_line_width": "120%",
+ "internal_solid_infill_line_width": "120%",
+ "support_line_width": "96%",
+ "wall_loops": "3",
+ "print_settings_id": "",
+ "raft_layers": "0",
+ "seam_position": "aligned",
+ "skirt_distance": "2",
+ "skirt_height": "3",
+ "min_skirt_length": "4",
+ "skirt_loops": "0",
+ "minimum_sparse_infill_area": "15",
+ "spiral_mode": "0",
+ "standby_temperature_delta": "-5",
+ "enable_support": "0",
+ "resolution": "0.012",
+ "support_type": "normal(auto)",
+ "support_on_build_plate_only": "0",
+ "support_top_z_distance": "0.2",
+ "support_bottom_z_distance": "0.2",
+ "support_filament": "0",
+ "support_interface_loop_pattern": "0",
+ "support_interface_filament": "0",
+ "support_interface_top_layers": "2",
+ "support_interface_bottom_layers": "2",
+ "support_interface_spacing": "0.5",
+ "support_interface_speed": "80",
+ "support_base_pattern": "default",
+ "support_base_pattern_spacing": "2.5",
+ "support_speed": "150",
+ "support_threshold_angle": "30",
+ "support_object_xy_distance": "0.35",
+ "tree_support_branch_angle": "30",
+ "tree_support_wall_count": "0",
+ "tree_support_with_infill": "0",
+ "detect_thin_wall": "0",
+ "top_surface_pattern": "monotonicline",
+ "top_shell_thickness": "0.8",
+ "enable_prime_tower": "0",
+ "wipe_tower_no_sparse_layers": "0",
+ "prime_tower_width": "60",
+ "xy_hole_compensation": "0",
+ "xy_contour_compensation": "0",
+ "layer_height": "0.2",
+ "bottom_shell_layers": "3",
+ "top_shell_layers": "4",
+ "bridge_flow": "1",
+ "initial_layer_speed": "45",
+ "initial_layer_infill_speed": "45",
+ "outer_wall_speed": "45",
+ "inner_wall_speed": "80",
+ "sparse_infill_speed": "150",
+ "internal_solid_infill_speed": "150",
+ "top_surface_speed": "50",
+ "gap_infill_speed": "30",
+ "travel_speed": "200"
+}
diff --git a/resources/profiles/OrcaArena.json b/resources/profiles/OrcaArena.json
index 006b3dafa5..bd5528136d 100644
--- a/resources/profiles/OrcaArena.json
+++ b/resources/profiles/OrcaArena.json
@@ -1,7 +1,7 @@
{
"name": "Orca Arena Printer",
"url": "",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Orca Arena configuration files",
"machine_model_list": [
diff --git a/resources/profiles/Peopoly.json b/resources/profiles/Peopoly.json
index 375b5a244f..ff11865d66 100644
--- a/resources/profiles/Peopoly.json
+++ b/resources/profiles/Peopoly.json
@@ -1,6 +1,6 @@
{
"name": "Peopoly",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Peopoly configurations",
"machine_model_list": [
diff --git a/resources/profiles/Positron3D.json b/resources/profiles/Positron3D.json
index c7153ef201..6b63202671 100644
--- a/resources/profiles/Positron3D.json
+++ b/resources/profiles/Positron3D.json
@@ -1,6 +1,6 @@
{
"name": "Positron 3D",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Positron 3D Printer Profile",
"machine_model_list": [
diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json
index 2594da2f3f..780aac047b 100644
--- a/resources/profiles/Prusa.json
+++ b/resources/profiles/Prusa.json
@@ -1,6 +1,6 @@
{
"name": "Prusa",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Prusa configurations",
"machine_model_list": [
diff --git a/resources/profiles/Qidi.json b/resources/profiles/Qidi.json
index 73b5cde3ad..63c8828472 100644
--- a/resources/profiles/Qidi.json
+++ b/resources/profiles/Qidi.json
@@ -1,9 +1,13 @@
{
"name": "Qidi",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Qidi configurations",
"machine_model_list": [
+ {
+ "name": "Qidi X-Plus 4",
+ "sub_path": "machine/Qidi X-Plus 4.json"
+ },
{
"name": "Qidi Q1 Pro",
"sub_path": "machine/Qidi Q1 Pro.json"
@@ -138,6 +142,10 @@
"name": "0.12mm Fine @Qidi Q1 Pro",
"sub_path": "process/0.12mm Fine @Qidi Q1 Pro.json"
},
+ {
+ "name": "0.12mm Fine @Qidi XPlus4",
+ "sub_path": "process/0.12mm Fine @Qidi XPlus4.json"
+ },
{
"name": "0.16mm Optimal @Qidi X3",
"sub_path": "process/0.16mm Optimal @Qidi X3.json"
@@ -170,6 +178,10 @@
"name": "0.16mm Optimal @Qidi Q1 Pro",
"sub_path": "process/0.16mm Optimal @Qidi Q1 Pro.json"
},
+ {
+ "name": "0.16mm Optimal @Qidi XPlus4",
+ "sub_path": "process/0.16mm Optimal @Qidi XPlus4.json"
+ },
{
"name": "0.20mm Standard @Qidi X3",
"sub_path": "process/0.20mm Standard @Qidi X3.json"
@@ -202,6 +214,10 @@
"name": "0.20mm Standard @Qidi Q1 Pro",
"sub_path": "process/0.20mm Standard @Qidi Q1 Pro.json"
},
+ {
+ "name": "0.20mm Standard @Qidi XPlus4",
+ "sub_path": "process/0.20mm Standard @Qidi XPlus4.json"
+ },
{
"name": "0.24mm Draft @Qidi X3",
"sub_path": "process/0.24mm Draft @Qidi X3.json"
@@ -234,6 +250,10 @@
"name": "0.24mm Draft @Qidi Q1 Pro",
"sub_path": "process/0.24mm Draft @Qidi Q1 Pro.json"
},
+ {
+ "name": "0.24mm Draft @Qidi XPlus4",
+ "sub_path": "process/0.24mm Draft @Qidi XPlus4.json"
+ },
{
"name": "0.28mm Extra Draft @Qidi X3",
"sub_path": "process/0.28mm Extra Draft @Qidi X3.json"
@@ -266,6 +286,30 @@
"name": "0.28mm Extra Draft @Qidi Q1 Pro",
"sub_path": "process/0.28mm Extra Draft @Qidi Q1 Pro.json"
},
+ {
+ "name": "0.28mm Extra Draft @Qidi XPlus4",
+ "sub_path": "process/0.28mm Extra Draft @Qidi XPlus4.json"
+ },
+ {
+ "name": "0.06mm Standard @Qidi XPlus4 0.2 nozzle",
+ "sub_path": "process/0.06mm Standard @Qidi XPlus4 0.2 nozzle.json"
+ },
+ {
+ "name": "0.08mm Standard @Qidi XPlus4 0.2 nozzle",
+ "sub_path": "process/0.08mm Standard @Qidi XPlus4 0.2 nozzle.json"
+ },
+ {
+ "name": "0.10mm Standard @Qidi XPlus4 0.2 nozzle",
+ "sub_path": "process/0.10mm Standard @Qidi XPlus4 0.2 nozzle.json"
+ },
+ {
+ "name": "0.12mm Standard @Qidi XPlus4 0.2 nozzle",
+ "sub_path": "process/0.12mm Standard @Qidi XPlus4 0.2 nozzle.json"
+ },
+ {
+ "name": "0.14mm Standard @Qidi XPlus4 0.2 nozzle",
+ "sub_path": "process/0.14mm Standard @Qidi XPlus4 0.2 nozzle.json"
+ },
{
"name": "0.06mm Standard @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "process/0.06mm Standard @Qidi Q1 Pro 0.2 nozzle.json"
@@ -346,6 +390,26 @@
"name": "0.14mm Standard @Qidi XSmart3 0.2 nozzle",
"sub_path": "process/0.14mm Standard @Qidi XSmart3 0.2 nozzle.json"
},
+ {
+ "name": "0.18mm Standard @Qidi XPlus4 0.6 nozzle",
+ "sub_path": "process/0.18mm Standard @Qidi XPlus4 0.6 nozzle.json"
+ },
+ {
+ "name": "0.24mm Standard @Qidi XPlus4 0.6 nozzle",
+ "sub_path": "process/0.24mm Standard @Qidi XPlus4 0.6 nozzle.json"
+ },
+ {
+ "name": "0.30mm Standard @Qidi XPlus4 0.6 nozzle",
+ "sub_path": "process/0.30mm Standard @Qidi XPlus4 0.6 nozzle.json"
+ },
+ {
+ "name": "0.36mm Standard @Qidi XPlus4 0.6 nozzle",
+ "sub_path": "process/0.36mm Standard @Qidi XPlus4 0.6 nozzle.json"
+ },
+ {
+ "name": "0.42mm Standard @Qidi XPlus4 0.6 nozzle",
+ "sub_path": "process/0.42mm Standard @Qidi XPlus4 0.6 nozzle.json"
+ },
{
"name": "0.18mm Standard @Qidi Q1 Pro 0.6 nozzle",
"sub_path": "process/0.18mm Standard @Qidi Q1 Pro 0.6 nozzle.json"
@@ -426,6 +490,26 @@
"name": "0.42mm Standard @Qidi XSmart3 0.6 nozzle",
"sub_path": "process/0.42mm Standard @Qidi XSmart3 0.6 nozzle.json"
},
+ {
+ "name": "0.24mm Standard @Qidi XPlus4 0.8 nozzle",
+ "sub_path": "process/0.24mm Standard @Qidi XPlus4 0.8 nozzle.json"
+ },
+ {
+ "name": "0.32mm Standard @Qidi XPlus4 0.8 nozzle",
+ "sub_path": "process/0.32mm Standard @Qidi XPlus4 0.8 nozzle.json"
+ },
+ {
+ "name": "0.40mm Standard @Qidi XPlus4 0.8 nozzle",
+ "sub_path": "process/0.40mm Standard @Qidi XPlus4 0.8 nozzle.json"
+ },
+ {
+ "name": "0.48mm Standard @Qidi XPlus4 0.8 nozzle",
+ "sub_path": "process/0.48mm Standard @Qidi XPlus4 0.8 nozzle.json"
+ },
+ {
+ "name": "0.56mm Standard @Qidi XPlus4 0.8 nozzle",
+ "sub_path": "process/0.56mm Standard @Qidi XPlus4 0.8 nozzle.json"
+ },
{
"name": "0.24mm Standard @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "process/0.24mm Standard @Qidi Q1 Pro 0.8 nozzle.json"
@@ -548,6 +632,22 @@
"name": "Qidi Generic ABS",
"sub_path": "filament/Qidi Generic ABS.json"
},
+ {
+ "name": "Qidi Generic ABS @Qidi X-Plus 4 0.2 nozzle",
+ "sub_path": "filament/Qidi Generic ABS @Qidi X-Plus 4 0.2 nozzle.json"
+ },
+ {
+ "name": "Qidi Generic ABS @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/Qidi Generic ABS @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "Qidi Generic ABS @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/Qidi Generic ABS @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "Qidi Generic ABS @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/Qidi Generic ABS @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "Qidi Generic ABS @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/Qidi Generic ABS @Qidi Q1 Pro 0.2 nozzle.json"
@@ -580,6 +680,22 @@
"name": "Qidi Generic PETG",
"sub_path": "filament/Qidi Generic PETG.json"
},
+ {
+ "name": "Qidi Generic PETG @Qidi X-Plus 4 0.2 nozzle",
+ "sub_path": "filament/Qidi Generic PETG @Qidi X-Plus 4 0.2 nozzle.json"
+ },
+ {
+ "name": "Qidi Generic PETG @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/Qidi Generic PETG @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "Qidi Generic PETG @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/Qidi Generic PETG @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "Qidi Generic PETG @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/Qidi Generic PETG @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "Qidi Generic PETG @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/Qidi Generic PETG @Qidi Q1 Pro 0.2 nozzle.json"
@@ -612,6 +728,22 @@
"name": "Qidi Generic PLA",
"sub_path": "filament/Qidi Generic PLA.json"
},
+ {
+ "name": "Qidi Generic PLA @Qidi X-Plus 4 0.2 nozzle",
+ "sub_path": "filament/Qidi Generic PLA @Qidi X-Plus 4 0.2 nozzle.json"
+ },
+ {
+ "name": "Qidi Generic PLA @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/Qidi Generic PLA @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "Qidi Generic PLA @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/Qidi Generic PLA @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "Qidi Generic PLA @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/Qidi Generic PLA @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "Qidi Generic PLA @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/Qidi Generic PLA @Qidi Q1 Pro 0.2 nozzle.json"
@@ -644,6 +776,10 @@
"name": "Qidi Generic TPU 95A",
"sub_path": "filament/Qidi Generic TPU 95A.json"
},
+ {
+ "name": "Qidi Generic TPU 95A @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/Qidi Generic TPU 95A @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "Qidi Generic TPU 95A @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/Qidi Generic TPU 95A @Qidi Q1 Pro 0.8 nozzle.json"
@@ -652,6 +788,22 @@
"name": "QIDI ABS Odorless",
"sub_path": "filament/QIDI ABS Odorless.json"
},
+ {
+ "name": "QIDI ABS Odorless @Qidi X-Plus 4 0.2 nozzle",
+ "sub_path": "filament/QIDI ABS Odorless @Qidi X-Plus 4 0.2 nozzle.json"
+ },
+ {
+ "name": "QIDI ABS Odorless @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/QIDI ABS Odorless @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "QIDI ABS Odorless @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/QIDI ABS Odorless @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "QIDI ABS Odorless @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/QIDI ABS Odorless @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "QIDI ABS Odorless @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/QIDI ABS Odorless @Qidi Q1 Pro 0.2 nozzle.json"
@@ -672,6 +824,10 @@
"name": "QIDI ABS Odorless @0.2 nozzle",
"sub_path": "filament/QIDI ABS Odorless @0.2 nozzle.json"
},
+ {
+ "name": "QIDI ABS Odorless @0.6 nozzle",
+ "sub_path": "filament/QIDI ABS Odorless @0.6 nozzle.json"
+ },
{
"name": "QIDI ABS Odorless @0.8 nozzle",
"sub_path": "filament/QIDI ABS Odorless @0.8 nozzle.json"
@@ -680,6 +836,22 @@
"name": "QIDI ABS Rapido",
"sub_path": "filament/QIDI ABS Rapido.json"
},
+ {
+ "name": "QIDI ABS Rapido @Qidi X-Plus 4 0.2 nozzle",
+ "sub_path": "filament/QIDI ABS Rapido @Qidi X-Plus 4 0.2 nozzle.json"
+ },
+ {
+ "name": "QIDI ABS Rapido @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/QIDI ABS Rapido @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "QIDI ABS Rapido @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/QIDI ABS Rapido @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "QIDI ABS Rapido @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/QIDI ABS Rapido @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "QIDI ABS Rapido @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/QIDI ABS Rapido @Qidi Q1 Pro 0.2 nozzle.json"
@@ -700,6 +872,10 @@
"name": "QIDI ABS Rapido 0.2 nozzle",
"sub_path": "filament/QIDI ABS Rapido 0.2 nozzle.json"
},
+ {
+ "name": "QIDI ABS Rapido 0.6 nozzle",
+ "sub_path": "filament/QIDI ABS Rapido 0.6 nozzle.json"
+ },
{
"name": "QIDI ABS Rapido 0.8 nozzle",
"sub_path": "filament/QIDI ABS Rapido 0.8 nozzle.json"
@@ -708,6 +884,18 @@
"name": "QIDI ABS-GF25",
"sub_path": "filament/QIDI ABS-GF25.json"
},
+ {
+ "name": "QIDI ABS-GF25 @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/QIDI ABS-GF25 @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "QIDI ABS-GF25 @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/QIDI ABS-GF25 @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "QIDI ABS-GF25 @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/QIDI ABS-GF25 @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "QIDI ABS-GF25 @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/QIDI ABS-GF25 @Qidi Q1 Pro 0.4 nozzle.json"
@@ -724,6 +912,22 @@
"name": "QIDI ASA",
"sub_path": "filament/QIDI ASA.json"
},
+ {
+ "name": "QIDI ASA @Qidi X-Plus 4 0.2 nozzle",
+ "sub_path": "filament/QIDI ASA @Qidi X-Plus 4 0.2 nozzle.json"
+ },
+ {
+ "name": "QIDI ASA @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/QIDI ASA @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "QIDI ASA @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/QIDI ASA @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "QIDI ASA @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/QIDI ASA @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "QIDI ASA @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/QIDI ASA @Qidi Q1 Pro 0.2 nozzle.json"
@@ -756,6 +960,10 @@
"name": "Qidi ASA-Aero",
"sub_path": "filament/Qidi ASA-Aero.json"
},
+ {
+ "name": "Qidi ASA-Aero @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/Qidi ASA-Aero @Qidi X-Plus 4 0.4 nozzle.json"
+ },
{
"name": "Qidi ASA-Aero @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/Qidi ASA-Aero @Qidi Q1 Pro 0.4 nozzle.json"
@@ -764,6 +972,18 @@
"name": "QIDI PA12-CF",
"sub_path": "filament/QIDI PA12-CF.json"
},
+ {
+ "name": "QIDI PA12-CF @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/QIDI PA12-CF @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "QIDI PA12-CF @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/QIDI PA12-CF @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "QIDI PA12-CF @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/QIDI PA12-CF @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "QIDI PA12-CF @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/QIDI PA12-CF @Qidi Q1 Pro 0.4 nozzle.json"
@@ -780,6 +1000,18 @@
"name": "QIDI PAHT-CF",
"sub_path": "filament/QIDI PAHT-CF.json"
},
+ {
+ "name": "QIDI PAHT-CF @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/QIDI PAHT-CF @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "QIDI PAHT-CF @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/QIDI PAHT-CF @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "QIDI PAHT-CF @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/QIDI PAHT-CF @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "QIDI PAHT-CF @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/QIDI PAHT-CF @Qidi Q1 Pro 0.4 nozzle.json"
@@ -796,6 +1028,18 @@
"name": "Qidi PC-ABS-FR",
"sub_path": "filament/Qidi PC-ABS-FR.json"
},
+ {
+ "name": "Qidi PC-ABS-FR @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/Qidi PC-ABS-FR @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "Qidi PC-ABS-FR @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/Qidi PC-ABS-FR @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "Qidi PC-ABS-FR @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/Qidi PC-ABS-FR @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "Qidi PC-ABS-FR @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/Qidi PC-ABS-FR @Qidi Q1 Pro 0.4 nozzle.json"
@@ -812,6 +1056,18 @@
"name": "QIDI PET-CF",
"sub_path": "filament/QIDI PET-CF.json"
},
+ {
+ "name": "QIDI PET-CF @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/QIDI PET-CF @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "QIDI PET-CF @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/QIDI PET-CF @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "QIDI PET-CF @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/QIDI PET-CF @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "QIDI PET-CF @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/QIDI PET-CF @Qidi Q1 Pro 0.4 nozzle.json"
@@ -828,6 +1084,22 @@
"name": "QIDI PETG Tough",
"sub_path": "filament/QIDI PETG Tough.json"
},
+ {
+ "name": "QIDI PETG Tough @Qidi X-Plus 4 0.2 nozzle",
+ "sub_path": "filament/QIDI PETG Tough @Qidi X-Plus 4 0.2 nozzle.json"
+ },
+ {
+ "name": "QIDI PETG Tough @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/QIDI PETG Tough @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "QIDI PETG Tough @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/QIDI PETG Tough @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "QIDI PETG Tough @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/QIDI PETG Tough @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "QIDI PETG Tough @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/QIDI PETG Tough @Qidi Q1 Pro 0.2 nozzle.json"
@@ -860,6 +1132,22 @@
"name": "QIDI PLA Rapido",
"sub_path": "filament/QIDI PLA Rapido.json"
},
+ {
+ "name": "QIDI PLA Rapido @Qidi X-Plus 4 0.2 nozzle",
+ "sub_path": "filament/QIDI PLA Rapido @Qidi X-Plus 4 0.2 nozzle.json"
+ },
+ {
+ "name": "QIDI PLA Rapido @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/QIDI PLA Rapido @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "QIDI PLA Rapido @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/QIDI PLA Rapido @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "QIDI PLA Rapido @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/QIDI PLA Rapido @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "QIDI PLA Rapido @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/QIDI PLA Rapido @Qidi Q1 Pro 0.2 nozzle.json"
@@ -892,6 +1180,22 @@
"name": "QIDI PLA Rapido Matte",
"sub_path": "filament/QIDI PLA Rapido Matte.json"
},
+ {
+ "name": "QIDI PLA Rapido Matte @Qidi X-Plus 4 0.2 nozzle",
+ "sub_path": "filament/QIDI PLA Rapido Matte @Qidi X-Plus 4 0.2 nozzle.json"
+ },
+ {
+ "name": "QIDI PLA Rapido Matte @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/QIDI PLA Rapido Matte @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "QIDI PLA Rapido Matte @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/QIDI PLA Rapido Matte @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "QIDI PLA Rapido Matte @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/QIDI PLA Rapido Matte @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "QIDI PLA Rapido Matte @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/QIDI PLA Rapido Matte @Qidi Q1 Pro 0.2 nozzle.json"
@@ -924,6 +1228,18 @@
"name": "Qidi PLA-CF",
"sub_path": "filament/Qidi PLA-CF.json"
},
+ {
+ "name": "QIDI PLA-CF @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/QIDI PLA-CF @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "QIDI PLA-CF @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/QIDI PLA-CF @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "QIDI PLA-CF @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/QIDI PLA-CF @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "QIDI PLA-CF @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/QIDI PLA-CF @Qidi Q1 Pro 0.4 nozzle.json"
@@ -948,6 +1264,18 @@
"name": "QIDI PA-Ultra",
"sub_path": "filament/QIDI PA-Ultra.json"
},
+ {
+ "name": "QIDI PA-Ultra @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/QIDI PA-Ultra @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "QIDI PA-Ultra @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/QIDI PA-Ultra @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "QIDI PA-Ultra @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/QIDI PA-Ultra @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "QIDI PA-Ultra @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/QIDI PA-Ultra @Qidi Q1 Pro 0.4 nozzle.json"
@@ -964,6 +1292,18 @@
"name": "QIDI ABS-GF10",
"sub_path": "filament/QIDI ABS-GF10.json"
},
+ {
+ "name": "QIDI ABS-GF10 @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/QIDI ABS-GF10 @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "QIDI ABS-GF10 @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/QIDI ABS-GF10 @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "QIDI ABS-GF10 @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/QIDI ABS-GF10 @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "QIDI ABS-GF10 @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/QIDI ABS-GF10 @Qidi Q1 Pro 0.4 nozzle.json"
@@ -984,6 +1324,10 @@
"name": "Qidi Generic TPU",
"sub_path": "filament/Qidi Generic TPU.json"
},
+ {
+ "name": "Qidi Generic TPU @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/Qidi Generic TPU @Qidi X-Plus 4 0.4 nozzle.json"
+ },
{
"name": "Qidi Generic TPU @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/Qidi Generic TPU @Qidi Q1 Pro 0.4 nozzle.json"
@@ -992,6 +1336,22 @@
"name": "Qidi Generic ASA",
"sub_path": "filament/Qidi Generic ASA.json"
},
+ {
+ "name": "Qidi Generic ASA @Qidi X-Plus 4 0.2 nozzle",
+ "sub_path": "filament/Qidi Generic ASA @Qidi X-Plus 4 0.2 nozzle.json"
+ },
+ {
+ "name": "Qidi Generic ASA @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/Qidi Generic ASA @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "Qidi Generic ASA @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/Qidi Generic ASA @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "Qidi Generic ASA @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/Qidi Generic ASA @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "Qidi Generic ASA @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/Qidi Generic ASA @Qidi Q1 Pro 0.2 nozzle.json"
@@ -1040,6 +1400,10 @@
"name": "Qidi Generic PLA Silk",
"sub_path": "filament/Qidi Generic PLA Silk.json"
},
+ {
+ "name": "Qidi Generic PLA Silk @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/Qidi Generic PLA Silk @Qidi X-Plus 4 0.4 nozzle.json"
+ },
{
"name": "Qidi Generic PLA Silk @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/Qidi Generic PLA Silk @Qidi Q1 Pro 0.4 nozzle.json"
@@ -1052,6 +1416,18 @@
"name": "QIDI ABS-GF",
"sub_path": "filament/QIDI ABS-GF.json"
},
+ {
+ "name": "QIDI ABS-GF @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/QIDI ABS-GF @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "QIDI ABS-GF @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/QIDI ABS-GF @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "QIDI ABS-GF @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/QIDI ABS-GF @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "QIDI ABS-GF @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/QIDI ABS-GF @Qidi Q1 Pro 0.4 nozzle.json"
@@ -1072,6 +1448,14 @@
"name": "Qidi TPU 95A-HF",
"sub_path": "filament/Qidi TPU 95A-HF.json"
},
+ {
+ "name": "Qidi TPU 95A-HF @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/Qidi TPU 95A-HF @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "Qidi TPU 95A-HF @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/Qidi TPU 95A-HF @Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "Qidi TPU 95A-HF @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/Qidi TPU 95A-HF @Qidi Q1 Pro 0.4 nozzle.json"
@@ -1079,6 +1463,34 @@
{
"name": "Qidi TPU 95A-HF @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/Qidi TPU 95A-HF @Qidi Q1 Pro 0.8 nozzle.json"
+ },
+ {
+ "name": "QIDI PPS-CF",
+ "sub_path": "filament/QIDI PPS-CF.json"
+ },
+ {
+ "name": "QIDI PPS-CF @Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "filament/QIDI PPS-CF @Qidi X-Plus 4 0.4 nozzle.json"
+ },
+ {
+ "name": "QIDI PPS-CF @Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "filament/QIDI PPS-CF @Qidi X-Plus 4 0.6 nozzle.json"
+ },
+ {
+ "name": "QIDI PPS-CF @Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "filament/QIDI PPS-CF @Qidi X-Plus 4 0.8 nozzle.json"
+ },
+ {
+ "name": "QIDI PPS-CF @Qidi Q1 Pro 0.4 nozzle",
+ "sub_path": "filament/QIDI PPS-CF @Qidi Q1 Pro 0.4 nozzle.json"
+ },
+ {
+ "name": "QIDI PPS-CF @Qidi Q1 Pro 0.6 nozzle",
+ "sub_path": "filament/QIDI PPS-CF @Qidi Q1 Pro 0.6 nozzle.json"
+ },
+ {
+ "name": "QIDI PPS-CF @Qidi Q1 Pro 0.8 nozzle",
+ "sub_path": "filament/QIDI PPS-CF @Qidi Q1 Pro 0.8 nozzle.json"
}
],
"machine_list": [
@@ -1122,6 +1534,10 @@
"name": "Qidi Q1 Pro 0.4 nozzle",
"sub_path": "machine/Qidi Q1 Pro 0.4 nozzle.json"
},
+ {
+ "name": "Qidi X-Plus 4 0.4 nozzle",
+ "sub_path": "machine/Qidi X-Plus 4 0.4 nozzle.json"
+ },
{
"name": "Qidi X-Smart 3 0.6 nozzle",
"sub_path": "machine/Qidi X-Smart 3 0.6 nozzle.json"
@@ -1138,6 +1554,10 @@
"name": "Qidi Q1 Pro 0.6 nozzle",
"sub_path": "machine/Qidi Q1 Pro 0.6 nozzle.json"
},
+ {
+ "name": "Qidi X-Plus 4 0.6 nozzle",
+ "sub_path": "machine/Qidi X-Plus 4 0.6 nozzle.json"
+ },
{
"name": "Qidi X-Smart 3 0.8 nozzle",
"sub_path": "machine/Qidi X-Smart 3 0.8 nozzle.json"
@@ -1154,6 +1574,10 @@
"name": "Qidi Q1 Pro 0.8 nozzle",
"sub_path": "machine/Qidi Q1 Pro 0.8 nozzle.json"
},
+ {
+ "name": "Qidi X-Plus 4 0.8 nozzle",
+ "sub_path": "machine/Qidi X-Plus 4 0.8 nozzle.json"
+ },
{
"name": "Qidi X-Smart 3 0.2 nozzle",
"sub_path": "machine/Qidi X-Smart 3 0.2 nozzle.json"
@@ -1169,6 +1593,10 @@
{
"name": "Qidi Q1 Pro 0.2 nozzle",
"sub_path": "machine/Qidi Q1 Pro 0.2 nozzle.json"
+ },
+ {
+ "name": "Qidi X-Plus 4 0.2 nozzle",
+ "sub_path": "machine/Qidi X-Plus 4 0.2 nozzle.json"
}
]
}
diff --git a/resources/profiles/Qidi/Qidi X-Plus 4_cover.png b/resources/profiles/Qidi/Qidi X-Plus 4_cover.png
new file mode 100644
index 0000000000..f12e16f4ea
Binary files /dev/null and b/resources/profiles/Qidi/Qidi X-Plus 4_cover.png differ
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Odorless @0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Odorless @0.6 nozzle.json
new file mode 100644
index 0000000000..313fb8a7ee
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS Odorless @0.6 nozzle.json
@@ -0,0 +1,23 @@
+{
+ "type": "filament",
+ "filament_id": "GFB99",
+ "setting_id": "GFSA04",
+ "name": "QIDI ABS Odorless @0.6 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "QIDI ABS Odorless",
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "pressure_advance": [
+ "0.014"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 0.6 nozzle",
+ "Qidi X-Max 0.6 nozzle",
+ "Qidi X-CF Pro 0.6 nozzle",
+ "Qidi X-Smart 3 0.6 nozzle",
+ "Qidi X-Plus 3 0.6 nozzle",
+ "Qidi X-Max 3 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Odorless @0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Odorless @0.8 nozzle.json
index 1ad2babeb7..96583d5cd6 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS Odorless @0.8 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS Odorless @0.8 nozzle.json
@@ -13,13 +13,13 @@
"1"
],
"pressure_advance": [
- "0.021"
+ "0.011"
],
"filament_max_volumetric_speed": [
"22"
],
"nozzle_temperature": [
- "270"
+ "260"
],
"slow_down_min_speed": [
"10"
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi Q1 Pro 0.2 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi Q1 Pro 0.2 nozzle.json
index 178a663941..2cc1788655 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi Q1 Pro 0.2 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi Q1 Pro 0.2 nozzle.json
@@ -4,7 +4,7 @@
"setting_id": "GFSA04",
"instantiation": "true",
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
@@ -38,7 +38,7 @@
"260"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"pressure_advance": [
"0.021"
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi Q1 Pro 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi Q1 Pro 0.4 nozzle.json
index 6bec26d1ec..3af7433472 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi Q1 Pro 0.4 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi Q1 Pro 0.4 nozzle.json
@@ -3,9 +3,6 @@
"filament_id": "GFB99",
"setting_id": "GFSA04",
"instantiation": "true",
- "activate_air_filtration":[
- "0"
- ],
"during_print_exhaust_fan_speed":[
"0"
],
@@ -25,7 +22,7 @@
"80"
],
"filament_max_volumetric_speed": [
- "24.5"
+ "22"
],
"from": "system",
"hot_plate_temp_initial_layer": [
@@ -38,10 +35,10 @@
"260"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"pressure_advance": [
- "0.035"
+ "0.023"
],
"slow_down_min_speed": [
"20"
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi Q1 Pro 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi Q1 Pro 0.6 nozzle.json
index 7577ba5d3f..80e2be306d 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi Q1 Pro 0.6 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi Q1 Pro 0.6 nozzle.json
@@ -4,7 +4,7 @@
"setting_id": "GFSA04",
"instantiation": "true",
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
@@ -38,10 +38,10 @@
"250"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"pressure_advance": [
- "0.014"
+ "0.016"
],
"slow_down_min_speed": [
"20"
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi Q1 Pro 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi Q1 Pro 0.8 nozzle.json
index bfd491d21c..c3429be113 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi Q1 Pro 0.8 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi Q1 Pro 0.8 nozzle.json
@@ -41,7 +41,7 @@
"100"
],
"pressure_advance": [
- "0.011"
+ "0.008"
],
"slow_down_min_speed": [
"10"
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi X-Plus 4 0.2 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi X-Plus 4 0.2 nozzle.json
new file mode 100644
index 0000000000..e689bf65e4
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi X-Plus 4 0.2 nozzle.json
@@ -0,0 +1,52 @@
+{
+ "type": "filament",
+ "filament_id": "GFB99",
+ "setting_id": "GFSA04",
+ "instantiation": "true",
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "filament_flow_ratio": [
+ "0.92"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "0"
+ ],
+ "fan_max_speed": [
+ "80"
+ ],
+ "filament_max_volumetric_speed": [
+ "2"
+ ],
+ "from": "system",
+ "hot_plate_temp_initial_layer": [
+ "90"
+ ],
+ "inherits": "QIDI ABS Odorless",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS Odorless @Qidi X-Plus 4 0.2 nozzle",
+ "nozzle_temperature": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "pressure_advance": [
+ "0.03"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+"Qidi X-Plus 4 0.2 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..67f46f5d1d
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,52 @@
+{
+ "type": "filament",
+ "filament_id": "GFB99",
+ "setting_id": "GFSA04",
+ "instantiation": "true",
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "filament_flow_ratio": [
+ "0.92"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_max_speed": [
+ "80"
+ ],
+ "filament_max_volumetric_speed": [
+ "24.5"
+ ],
+ "from": "system",
+ "hot_plate_temp_initial_layer": [
+ "90"
+ ],
+ "inherits": "QIDI ABS Odorless",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS Odorless @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "pressure_advance": [
+ "0.035"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+"Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..d8dad01f57
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,52 @@
+{
+ "type": "filament",
+ "filament_id": "GFB99",
+ "setting_id": "GFSA04",
+ "instantiation": "true",
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "filament_flow_ratio": [
+ "0.92"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_max_speed": [
+ "80"
+ ],
+ "filament_max_volumetric_speed": [
+ "24.5"
+ ],
+ "from": "system",
+ "hot_plate_temp_initial_layer": [
+ "90"
+ ],
+ "inherits": "QIDI ABS Odorless",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS Odorless @Qidi X-Plus 4 0.6 nozzle",
+ "nozzle_temperature": [
+ "250"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "pressure_advance": [
+ "0.014"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+"Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..3dc302c506
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS Odorless @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,52 @@
+{
+ "type": "filament",
+ "filament_id": "GFB99",
+ "setting_id": "GFSA04",
+ "instantiation": "true",
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "filament_flow_ratio": [
+ "0.92"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_max_speed": [
+ "80"
+ ],
+ "filament_max_volumetric_speed": [
+ "24.5"
+ ],
+ "from": "system",
+ "hot_plate_temp_initial_layer": [
+ "90"
+ ],
+ "inherits": "QIDI ABS Odorless",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS Odorless @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "250"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "pressure_advance": [
+ "0.011"
+ ],
+ "slow_down_min_speed": [
+ "10"
+ ],
+ "compatible_printers": [
+"Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Odorless.json b/resources/profiles/Qidi/filament/QIDI ABS Odorless.json
index 6a103b36b7..64f3af068f 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS Odorless.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS Odorless.json
@@ -25,13 +25,16 @@
"10"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"filament_density":[
"1.02"
],
"chamber_temperature": [
"55"
+ ],
+ "fan_cooling_layer_time": [
+ "60"
],
"compatible_printers": [
"Qidi X-Plus 0.4 nozzle",
@@ -39,12 +42,6 @@
"Qidi X-CF Pro 0.4 nozzle",
"Qidi X-Smart 3 0.4 nozzle",
"Qidi X-Plus 3 0.4 nozzle",
- "Qidi X-Max 3 0.4 nozzle",
- "Qidi X-Plus 0.6 nozzle",
- "Qidi X-Max 0.6 nozzle",
- "Qidi X-CF Pro 0.6 nozzle",
- "Qidi X-Smart 3 0.6 nozzle",
- "Qidi X-Plus 3 0.6 nozzle",
- "Qidi X-Max 3 0.6 nozzle"
+ "Qidi X-Max 3 0.4 nozzle"
]
}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Rapido 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Rapido 0.6 nozzle.json
new file mode 100644
index 0000000000..2674a937f4
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS Rapido 0.6 nozzle.json
@@ -0,0 +1,23 @@
+{
+ "type": "filament",
+ "filament_id": "GFB99",
+ "setting_id": "GFSA04",
+ "name": "QIDI ABS Rapido 0.6 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "QIDI ABS Rapido",
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "pressure_advance": [
+ "0.014"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 0.6 nozzle",
+ "Qidi X-Max 0.6 nozzle",
+ "Qidi X-CF Pro 0.6 nozzle",
+ "Qidi X-Smart 3 0.6 nozzle",
+ "Qidi X-Plus 3 0.6 nozzle",
+ "Qidi X-Max 3 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Rapido 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Rapido 0.8 nozzle.json
index 8a348e7acb..0303d2e62a 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS Rapido 0.8 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS Rapido 0.8 nozzle.json
@@ -13,13 +13,13 @@
"1"
],
"pressure_advance": [
- "0.021"
+ "0.011"
],
"filament_max_volumetric_speed": [
"22"
],
"nozzle_temperature": [
- "270"
+ "260"
],
"slow_down_min_speed": [
"10"
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi Q1 Pro 0.2 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi Q1 Pro 0.2 nozzle.json
index 9d22bb1937..e7a6af1811 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi Q1 Pro 0.2 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi Q1 Pro 0.2 nozzle.json
@@ -32,7 +32,7 @@
"260"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"pressure_advance": [
"0.021"
@@ -41,7 +41,7 @@
"20"
],
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi Q1 Pro 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi Q1 Pro 0.4 nozzle.json
index 64870649d9..6ce05ce8f2 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi Q1 Pro 0.4 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi Q1 Pro 0.4 nozzle.json
@@ -38,7 +38,7 @@
"260"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"pressure_advance": [
"0.035"
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi Q1 Pro 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi Q1 Pro 0.6 nozzle.json
index 297a516f62..07cb4409f5 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi Q1 Pro 0.6 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi Q1 Pro 0.6 nozzle.json
@@ -32,7 +32,7 @@
"250"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"pressure_advance": [
"0.014"
@@ -41,7 +41,7 @@
"20"
],
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi Q1 Pro 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi Q1 Pro 0.8 nozzle.json
index 67dfb153b1..a6c02fe585 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi Q1 Pro 0.8 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi Q1 Pro 0.8 nozzle.json
@@ -41,7 +41,7 @@
"10"
],
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi X-Plus 4 0.2 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi X-Plus 4 0.2 nozzle.json
new file mode 100644
index 0000000000..aab1658eba
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi X-Plus 4 0.2 nozzle.json
@@ -0,0 +1,52 @@
+{
+ "type": "filament",
+ "filament_id": "GFB99",
+ "setting_id": "GFSA04",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "0"
+ ],
+ "fan_max_speed": [
+ "80"
+ ],
+ "filament_max_volumetric_speed": [
+ "2"
+ ],
+ "from": "system",
+ "hot_plate_temp_initial_layer": [
+ "90"
+ ],
+ "inherits": "QIDI ABS Rapido",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS Rapido @Qidi X-Plus 4 0.2 nozzle",
+ "nozzle_temperature": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "pressure_advance": [
+ "0.03"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+"Qidi X-Plus 4 0.2 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..8decc192e9
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,52 @@
+{
+ "type": "filament",
+ "filament_id": "GFB99",
+ "setting_id": "GFSA04",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_max_speed": [
+ "80"
+ ],
+ "filament_max_volumetric_speed": [
+ "24.5"
+ ],
+ "from": "system",
+ "hot_plate_temp_initial_layer": [
+ "90"
+ ],
+ "inherits": "QIDI ABS Rapido",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS Rapido @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "pressure_advance": [
+ "0.03"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+"Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..a6ae3c4ffb
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,52 @@
+{
+ "type": "filament",
+ "filament_id": "GFB99",
+ "setting_id": "GFSA04",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_max_speed": [
+ "80"
+ ],
+ "filament_max_volumetric_speed": [
+ "24.5"
+ ],
+ "from": "system",
+ "hot_plate_temp_initial_layer": [
+ "90"
+ ],
+ "inherits": "QIDI ABS Rapido",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS Rapido @Qidi X-Plus 4 0.6 nozzle",
+ "nozzle_temperature": [
+ "250"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "pressure_advance": [
+ "0.014"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+"Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..4135c05365
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS Rapido @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,52 @@
+{
+ "type": "filament",
+ "filament_id": "GFB99",
+ "setting_id": "GFSA04",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_max_speed": [
+ "80"
+ ],
+ "filament_max_volumetric_speed": [
+ "24.5"
+ ],
+ "from": "system",
+ "hot_plate_temp_initial_layer": [
+ "90"
+ ],
+ "inherits": "QIDI ABS Rapido",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS Rapido @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "250"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "pressure_advance": [
+ "0.011"
+ ],
+ "slow_down_min_speed": [
+ "10"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+"Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS Rapido.json b/resources/profiles/Qidi/filament/QIDI ABS Rapido.json
index 377ae61cc7..ae0a541dac 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS Rapido.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS Rapido.json
@@ -25,13 +25,19 @@
"20"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"filament_density":[
"1.05"
],
"chamber_temperature": [
"55"
+ ],
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "slow_down_min_speed": [
+ "20"
],
"compatible_printers": [
"Qidi X-Plus 0.4 nozzle",
@@ -39,13 +45,7 @@
"Qidi X-CF Pro 0.4 nozzle",
"Qidi X-Smart 3 0.4 nozzle",
"Qidi X-Plus 3 0.4 nozzle",
- "Qidi X-Max 3 0.4 nozzle",
- "Qidi X-Plus 0.6 nozzle",
- "Qidi X-Max 0.6 nozzle",
- "Qidi X-CF Pro 0.6 nozzle",
- "Qidi X-Smart 3 0.6 nozzle",
- "Qidi X-Plus 3 0.6 nozzle",
- "Qidi X-Max 3 0.6 nozzle"
+ "Qidi X-Max 3 0.4 nozzle"
]
}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi Q1 Pro 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi Q1 Pro 0.4 nozzle.json
index fe72ee456c..583eed777e 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi Q1 Pro 0.4 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi Q1 Pro 0.4 nozzle.json
@@ -37,7 +37,7 @@
"260"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"pressure_advance": [
"0.035"
diff --git a/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi Q1 Pro 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi Q1 Pro 0.8 nozzle.json
index b81523c619..fbc52e1fb1 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi Q1 Pro 0.8 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi Q1 Pro 0.8 nozzle.json
@@ -37,7 +37,7 @@
"260"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"pressure_advance": [
"0.01"
diff --git a/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..547ba515d8
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,54 @@
+{ "type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_max_speed": [
+ "20"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "22"
+ ],
+ "filament_settings_id": [
+ "QIDI ABS-GF @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "inherits": "QIDI ABS-GF",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS-GF @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "260"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "pressure_advance": [
+ "0.03"
+ ],
+ "slow_down_layer_time": [
+ "5"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..067e42b537
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,54 @@
+{ "type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_max_speed": [
+ "20"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "22"
+ ],
+ "filament_settings_id": [
+ "QIDI ABS-GF @Qidi X-Plus 4 0.6 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "inherits": "QIDI ABS-GF",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS-GF @Qidi X-Plus 4 0.6 nozzle",
+ "nozzle_temperature": [
+ "260"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "pressure_advance": [
+ "0.01"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "slow_down_layer_time": [
+ "5"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..9f369e2326
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS-GF @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,51 @@
+{ "type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_max_speed": [
+ "20"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "22"
+ ],
+ "filament_settings_id": [
+ "QIDI ABS-GF @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "inherits": "QIDI ABS-GF",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS-GF @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "260"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "pressure_advance": [
+ "0.01"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS-GF.json b/resources/profiles/Qidi/filament/QIDI ABS-GF.json
index 2ac3b7c19a..9ab6deca8b 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS-GF.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS-GF.json
@@ -40,16 +40,25 @@
"100"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"filament_density":[
"1.15"
],
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "slow_down_min_speed": [
+ "20"
],
"compatible_printers": [
"Qidi X-Plus 0.4 nozzle",
diff --git a/resources/profiles/Qidi/filament/QIDI ABS-GF10 @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS-GF10 @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..504311bd6d
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS-GF10 @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,51 @@
+{ "type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_max_speed": [
+ "20"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "22"
+ ],
+ "filament_settings_id": [
+ "QIDI ABS-GF10 @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "inherits": "QIDI ABS-GF10",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS-GF10 @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "260"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "pressure_advance": [
+ "0.035"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS-GF10 @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS-GF10 @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..f2316cac04
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS-GF10 @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,51 @@
+{ "type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_max_speed": [
+ "20"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "22"
+ ],
+ "filament_settings_id": [
+ "QIDI ABS-GF10 @Qidi X-Plus 4 0.6 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "inherits": "QIDI ABS-GF10",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS-GF10 @Qidi X-Plus 4 0.6 nozzle",
+ "nozzle_temperature": [
+ "260"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "pressure_advance": [
+ "0.01"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS-GF10 @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS-GF10 @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..a2ef11c05e
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS-GF10 @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,51 @@
+{ "type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_max_speed": [
+ "20"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "22"
+ ],
+ "filament_settings_id": [
+ "QIDI ABS-GF10 @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "inherits": "QIDI ABS-GF10",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS-GF10 @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "260"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "pressure_advance": [
+ "0.01"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS-GF25 @Qidi Q1 Pro 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS-GF25 @Qidi Q1 Pro 0.6 nozzle.json
index b7cd33d00f..61b2c2826b 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS-GF25 @Qidi Q1 Pro 0.6 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS-GF25 @Qidi Q1 Pro 0.6 nozzle.json
@@ -34,7 +34,7 @@
"260"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"pressure_advance": [
"0.01"
diff --git a/resources/profiles/Qidi/filament/QIDI ABS-GF25 @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS-GF25 @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..87be74b6f1
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS-GF25 @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,48 @@
+{ "type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "fan_max_speed": [
+ "20"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "22"
+ ],
+ "filament_settings_id": [
+ "QIDI ABS-GF25 @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "inherits": "QIDI ABS-GF25",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS-GF25 @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "260"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "pressure_advance": [
+ "0.035"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS-GF25 @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS-GF25 @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..7f233c777a
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS-GF25 @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,48 @@
+{ "type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "fan_max_speed": [
+ "20"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "22"
+ ],
+ "filament_settings_id": [
+ "QIDI ABS-GF25 @Qidi X-Plus 4 0.6 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "inherits": "QIDI ABS-GF25",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS-GF25 @Qidi X-Plus 4 0.6 nozzle",
+ "nozzle_temperature": [
+ "260"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "pressure_advance": [
+ "0.01"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS-GF25 @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI ABS-GF25 @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..faa6c3e67b
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ABS-GF25 @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,48 @@
+{ "type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "fan_max_speed": [
+ "20"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "22"
+ ],
+ "filament_settings_id": [
+ "QIDI ABS-GF25 @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "inherits": "QIDI ABS-GF25",
+ "is_custom_defined": "0",
+ "name": "QIDI ABS-GF25 @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "260"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "pressure_advance": [
+ "0.01"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ABS-GF25.json b/resources/profiles/Qidi/filament/QIDI ABS-GF25.json
index aa7a6efaa1..78fe193eb5 100644
--- a/resources/profiles/Qidi/filament/QIDI ABS-GF25.json
+++ b/resources/profiles/Qidi/filament/QIDI ABS-GF25.json
@@ -43,7 +43,7 @@
"100"
],
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
diff --git a/resources/profiles/Qidi/filament/QIDI ASA @Qidi Q1 Pro 0.2 nozzle.json b/resources/profiles/Qidi/filament/QIDI ASA @Qidi Q1 Pro 0.2 nozzle.json
index 5c9663d148..2bbd2e856b 100644
--- a/resources/profiles/Qidi/filament/QIDI ASA @Qidi Q1 Pro 0.2 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ASA @Qidi Q1 Pro 0.2 nozzle.json
@@ -28,7 +28,7 @@
"0"
],
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
diff --git a/resources/profiles/Qidi/filament/QIDI ASA @Qidi Q1 Pro 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI ASA @Qidi Q1 Pro 0.4 nozzle.json
index d659463192..34b1fda0e8 100644
--- a/resources/profiles/Qidi/filament/QIDI ASA @Qidi Q1 Pro 0.4 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ASA @Qidi Q1 Pro 0.4 nozzle.json
@@ -37,7 +37,7 @@
"4"
],
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
diff --git a/resources/profiles/Qidi/filament/QIDI ASA @Qidi Q1 Pro 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI ASA @Qidi Q1 Pro 0.6 nozzle.json
index 9f4b864e22..830683a3ad 100644
--- a/resources/profiles/Qidi/filament/QIDI ASA @Qidi Q1 Pro 0.6 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ASA @Qidi Q1 Pro 0.6 nozzle.json
@@ -28,7 +28,7 @@
"250"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"pressure_advance": [
"0.014"
@@ -37,7 +37,7 @@
"4"
],
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
diff --git a/resources/profiles/Qidi/filament/QIDI ASA @Qidi Q1 Pro 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI ASA @Qidi Q1 Pro 0.8 nozzle.json
index 651b44bd36..a3004b206f 100644
--- a/resources/profiles/Qidi/filament/QIDI ASA @Qidi Q1 Pro 0.8 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI ASA @Qidi Q1 Pro 0.8 nozzle.json
@@ -28,7 +28,7 @@
"250"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"pressure_advance": [
"0.011"
@@ -37,11 +37,14 @@
"4"
],
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
],
+ "slow_down_min_speed": [
+ "10"
+ ],
"compatible_printers": [
"Qidi Q1 Pro 0.8 nozzle"
]
diff --git a/resources/profiles/Qidi/filament/QIDI ASA @Qidi X-Plus 4 0.2 nozzle.json b/resources/profiles/Qidi/filament/QIDI ASA @Qidi X-Plus 4 0.2 nozzle.json
new file mode 100644
index 0000000000..0baff92137
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ASA @Qidi X-Plus 4 0.2 nozzle.json
@@ -0,0 +1,39 @@
+{
+ "type": "filament",
+ "filament_id": "GFB99",
+ "setting_id": "GFSA04",
+ "name": "QIDI ASA @Qidi X-Plus 4 0.2 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "QIDI ASA",
+ "chamber_temperature": [
+ "0"
+ ],
+ "nozzle_temperature": [
+ "255"
+ ],
+ "filament_flow_ratio": [
+ "0.92"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "pressure_advance": [
+ "0.03"
+ ],
+ "filament_max_volumetric_speed": [
+ "2"
+ ],
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.2 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ASA @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI ASA @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..6f15a94881
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ASA @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,48 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_cooling_layer_time": [
+ "40"
+ ],
+ "filament_max_volumetric_speed": [
+ "16"
+ ],
+ "filament_settings_id": [
+ "Qidi Generic ASA @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI ASA",
+ "is_custom_defined": "0",
+ "name": "QIDI ASA @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "255"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "250"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "pressure_advance": [
+ "0.03"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ASA @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI ASA @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..da50348ebd
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ASA @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,48 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_cooling_layer_time": [
+ "40"
+ ],
+ "filament_max_volumetric_speed": [
+ "13"
+ ],
+ "filament_settings_id": [
+ "QIDI ASA @Qidi X-Plus 4 0.6 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI ASA",
+ "is_custom_defined": "0",
+ "name": "QIDI ASA @Qidi X-Plus 4 0.6 nozzle",
+ "nozzle_temperature": [
+ "255"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "250"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "pressure_advance": [
+ "0.014"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ASA @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI ASA @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..f8633c3b29
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI ASA @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,48 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_cooling_layer_time": [
+ "40"
+ ],
+ "filament_max_volumetric_speed": [
+ "13"
+ ],
+ "filament_settings_id": [
+ "QIDI ASA @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI ASA",
+ "is_custom_defined": "0",
+ "name": "QIDI ASA @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "255"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "250"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "pressure_advance": [
+ "0.011"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI ASA.json b/resources/profiles/Qidi/filament/QIDI ASA.json
index 2659ea9299..77aaf2e881 100644
--- a/resources/profiles/Qidi/filament/QIDI ASA.json
+++ b/resources/profiles/Qidi/filament/QIDI ASA.json
@@ -54,17 +54,20 @@
"fan_min_speed":[
"10"
],
- "filament_retraction_length": [
- "0.01"
- ],
"overhang_fan_speed": [
- "100"
+ "80"
],
"filament_density":[
"1.07"
],
"chamber_temperature": [
"55"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "fan_cooling_layer_time": [
+ "40"
],
"compatible_printers": [
"Qidi X-Plus 0.2 nozzle",
diff --git a/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi Q1 Pro 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi Q1 Pro 0.4 nozzle.json
index 7c7a3dc95e..a0f6b051ff 100644
--- a/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi Q1 Pro 0.4 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi Q1 Pro 0.4 nozzle.json
@@ -25,7 +25,7 @@
"is_custom_defined": "0",
"name": "QIDI PA-Ultra @Qidi Q1 Pro 0.4 nozzle",
"overhang_fan_speed": [
- "50"
+ "100"
],
"slow_down_min_speed": [
"20"
diff --git a/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi Q1 Pro 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi Q1 Pro 0.6 nozzle.json
index 9c7d962ddb..60a917d1bf 100644
--- a/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi Q1 Pro 0.6 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi Q1 Pro 0.6 nozzle.json
@@ -25,7 +25,7 @@
"is_custom_defined": "0",
"name": "QIDI PA-Ultra @Qidi Q1 Pro 0.6 nozzle",
"overhang_fan_speed": [
- "50"
+ "95"
],
"slow_down_min_speed": [
"20"
diff --git a/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..9e9e789046
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,36 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "4"
+ ],
+ "filament_settings_id": [
+ "QIDI PA-Ultra @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "80"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "80"
+ ],
+ "inherits": "QIDI PA-Ultra",
+ "is_custom_defined": "0",
+ "name": "QIDI PA-Ultra @Qidi X-Plus 4 0.4 nozzle",
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..0318d19967
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,36 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "4"
+ ],
+ "filament_settings_id": [
+ "QIDI PA-Ultra @Qidi X-Plus 4 0.6 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "80"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "80"
+ ],
+ "inherits": "QIDI PA-Ultra",
+ "is_custom_defined": "0",
+ "name": "QIDI PA-Ultra @Qidi X-Plus 4 0.6 nozzle",
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..676b2546c2
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PA-Ultra @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,36 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "4"
+ ],
+ "filament_settings_id": [
+ "QIDI PA-Ultra @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "80"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "80"
+ ],
+ "inherits": "QIDI PA-Ultra",
+ "is_custom_defined": "0",
+ "name": "QIDI PA-Ultra @Qidi X-Plus 4 0.8 nozzle",
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PA-Ultra.json b/resources/profiles/Qidi/filament/QIDI PA-Ultra.json
index 44eb6763ba..0f8f4fd3d1 100644
--- a/resources/profiles/Qidi/filament/QIDI PA-Ultra.json
+++ b/resources/profiles/Qidi/filament/QIDI PA-Ultra.json
@@ -1,70 +1,80 @@
{
- "type": "filament",
- "filament_id": "GFN99",
- "setting_id": "GFSN98",
- "name": "QIDI PA-Ultra",
- "from": "system",
- "instantiation": "true",
- "inherits": "fdm_filament_pa",
- "required_nozzle_HRC": [
- "3"
- ],
- "nozzle_temperature_initial_layer": [
- "280"
- ],
- "nozzle_temperature": [
- "280"
- ],
- "filament_max_volumetric_speed": [
- "3"
- ],
- "enable_pressure_advance": [
- "1"
+ "type": "filament",
+ "filament_id": "GFN99",
+ "setting_id": "GFSN98",
+ "name": "QIDI PA-Ultra",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_filament_pa",
+ "required_nozzle_HRC": [
+ "3"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "280"
+ ],
+ "nozzle_temperature": [
+ "280"
+ ],
+ "filament_max_volumetric_speed": [
+ "3"
+ ],
+ "enable_pressure_advance": [
+ "1"
],
"pressure_advance": [
- "0.03"
+ "0.03"
],
- "fan_max_speed":[
+ "fan_max_speed": [
"40"
-],
-"fan_min_speed":[
+ ],
+ "fan_min_speed": [
"20"
-],
-"hot_plate_temp_initial_layer" : [
- "80"
-],
-"hot_plate_temp" : [
-"80"
-],
-"slow_down_layer_time": [
-"15"
-],
-"filament_density":[
-"1.21"
-],
-"filament_flow_ratio": [
-"0.96"
-],
-"close_fan_the_first_x_layers": [
+ ],
+ "hot_plate_temp_initial_layer": [
+ "80"
+ ],
+ "hot_plate_temp": [
+ "80"
+ ],
+ "slow_down_layer_time": [
+ "15"
+ ],
+ "filament_density": [
+ "1.21"
+ ],
+ "filament_flow_ratio": [
+ "0.96"
+ ],
+ "close_fan_the_first_x_layers": [
"1"
-],
- "compatible_printers": [
- "Qidi X-Plus 0.4 nozzle",
- "Qidi X-Max 0.4 nozzle",
- "Qidi X-CF Pro 0.4 nozzle",
- "Qidi X-Smart 3 0.4 nozzle",
- "Qidi X-Plus 3 0.4 nozzle",
- "Qidi X-Max 3 0.4 nozzle",
- "Qidi X-Max 0.6 nozzle",
- "Qidi X-CF Pro 0.6 nozzle",
- "Qidi X-Smart 3 0.6 nozzle",
- "Qidi X-Plus 3 0.6 nozzle",
- "Qidi X-Max 3 0.6 nozzle",
- "Qidi X-Plus 0.8 nozzle",
- "Qidi X-Max 0.8 nozzle",
- "Qidi X-CF Pro 0.8 nozzle",
-"Qidi X-Smart 3 0.8 nozzle",
-"Qidi X-Plus 3 0.8 nozzle",
-"Qidi X-Max 3 0.8 nozzle"
- ]
+ ],
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "enable_overhang_bridge_fan": [
+ "0"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 0.4 nozzle",
+ "Qidi X-Max 0.4 nozzle",
+ "Qidi X-CF Pro 0.4 nozzle",
+ "Qidi X-Smart 3 0.4 nozzle",
+ "Qidi X-Plus 3 0.4 nozzle",
+ "Qidi X-Max 3 0.4 nozzle",
+ "Qidi X-Max 0.6 nozzle",
+ "Qidi X-CF Pro 0.6 nozzle",
+ "Qidi X-Smart 3 0.6 nozzle",
+ "Qidi X-Plus 3 0.6 nozzle",
+ "Qidi X-Max 3 0.6 nozzle",
+ "Qidi X-Plus 0.8 nozzle",
+ "Qidi X-Max 0.8 nozzle",
+ "Qidi X-CF Pro 0.8 nozzle",
+ "Qidi X-Smart 3 0.8 nozzle",
+ "Qidi X-Plus 3 0.8 nozzle",
+ "Qidi X-Max 3 0.8 nozzle"
+ ]
}
+
diff --git a/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi Q1 Pro 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi Q1 Pro 0.4 nozzle.json
index 407d78e206..53f6caa029 100644
--- a/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi Q1 Pro 0.4 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi Q1 Pro 0.4 nozzle.json
@@ -27,6 +27,9 @@
"slow_down_min_speed": [
"20"
],
+ "filament_max_volumetric_speed": [
+ "13"
+ ],
"compatible_printers": [
"Qidi Q1 Pro 0.4 nozzle"
]
diff --git a/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi Q1 Pro 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi Q1 Pro 0.6 nozzle.json
index 0674bacba6..fa0c8309b4 100644
--- a/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi Q1 Pro 0.6 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi Q1 Pro 0.6 nozzle.json
@@ -22,7 +22,7 @@
"280"
],
"overhang_fan_speed": [
- "50"
+ "40"
],
"pressure_advance": [
"0.035"
diff --git a/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi Q1 Pro 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi Q1 Pro 0.8 nozzle.json
index f7ee899480..a91149ba35 100644
--- a/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi Q1 Pro 0.8 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi Q1 Pro 0.8 nozzle.json
@@ -22,7 +22,7 @@
"280"
],
"overhang_fan_speed": [
- "50"
+ "40"
],
"pressure_advance": [
"0.035"
diff --git a/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..8c4d572a86
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,39 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_settings_id": [
+ "QIDI PA12-CF @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI PA12-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PA12-CF @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "280"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "280"
+ ],
+ "pressure_advance": [
+ "0.035"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "slow_down_layer_time": [
+ "5"
+ ],
+ "filament_max_volumetric_speed": [
+ "13"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..62478d047b
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,42 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_settings_id": [
+ "QIDI PA12-CF @Qidi X-Plus 4 0.6 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI PA12-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PA12-CF @Qidi X-Plus 4 0.6 nozzle",
+ "nozzle_temperature": [
+ "280"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "280"
+ ],
+ "overhang_fan_speed": [
+ "40"
+ ],
+ "pressure_advance": [
+ "0.035"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "13"
+ ],
+ "slow_down_layer_time": [
+ "5"
+],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..f4b77df0f6
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PA12-CF @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,42 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_settings_id": [
+ "QIDI PA12-CF @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI PA12-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PA12-CF @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "280"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "280"
+ ],
+ "overhang_fan_speed": [
+ "40"
+ ],
+ "pressure_advance": [
+ "0.035"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "13"
+ ],
+ "slow_down_layer_time": [
+ "5"
+],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PA12-CF.json b/resources/profiles/Qidi/filament/QIDI PA12-CF.json
index 4180216c8e..c7b977463a 100644
--- a/resources/profiles/Qidi/filament/QIDI PA12-CF.json
+++ b/resources/profiles/Qidi/filament/QIDI PA12-CF.json
@@ -28,10 +28,10 @@
"0%"
],
"overhang_fan_speed": [
- "50"
+ "40"
],
"fan_cooling_layer_time": [
- "5"
+ "10"
],
"full_fan_speed_layer": [
"0"
@@ -49,7 +49,7 @@
"80"
],
"slow_down_layer_time": [
- "5"
+ "8"
],
"filament_density":[
"1.09"
diff --git a/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi Q1 Pro 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi Q1 Pro 0.4 nozzle.json
index b1e941182d..9441b30a33 100644
--- a/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi Q1 Pro 0.4 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi Q1 Pro 0.4 nozzle.json
@@ -28,13 +28,13 @@
"300"
],
"overhang_fan_speed": [
- "50"
+ "40"
],
"pressure_advance": [
"0.032"
],
"slow_down_layer_time": [
- "5"
+ "8"
],
"slow_down_min_speed": [
"20"
diff --git a/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi Q1 Pro 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi Q1 Pro 0.6 nozzle.json
index 857aa45526..69396c83b7 100644
--- a/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi Q1 Pro 0.6 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi Q1 Pro 0.6 nozzle.json
@@ -28,13 +28,13 @@
"300"
],
"overhang_fan_speed": [
- "50"
+ "40"
],
"pressure_advance": [
"0.032"
],
"slow_down_layer_time": [
- "5"
+ "8"
],
"slow_down_min_speed": [
"20"
diff --git a/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi Q1 Pro 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi Q1 Pro 0.8 nozzle.json
index 91d06fc311..5ae08546f4 100644
--- a/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi Q1 Pro 0.8 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi Q1 Pro 0.8 nozzle.json
@@ -28,13 +28,13 @@
"300"
],
"overhang_fan_speed": [
- "50"
+ "40"
],
"pressure_advance": [
"0.032"
],
"slow_down_layer_time": [
- "5"
+ "8"
],
"slow_down_min_speed": [
"20"
diff --git a/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..da6927747a
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,45 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_cooling_layer_time": [
+ "10"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "14"
+ ],
+ "filament_settings_id": [
+ "QIDI PAHT-CF @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI PAHT-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PAHT-CF @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "300"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "300"
+ ],
+ "overhang_fan_speed": [
+ "40"
+ ],
+ "pressure_advance": [
+ "0.032"
+ ],
+ "slow_down_layer_time": [
+ "5"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..621901064e
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,45 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_cooling_layer_time": [
+ "10"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "14"
+ ],
+ "filament_settings_id": [
+ "QIDI PAHT-CF @Qidi X-Plus 4 0.6 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI PAHT-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PAHT-CF @Qidi X-Plus 4 0.6 nozzle",
+ "nozzle_temperature": [
+ "300"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "300"
+ ],
+ "overhang_fan_speed": [
+ "40"
+ ],
+ "pressure_advance": [
+ "0.032"
+ ],
+ "slow_down_layer_time": [
+ "5"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..f885c4e0c1
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PAHT-CF @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,45 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_cooling_layer_time": [
+ "10"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "14"
+ ],
+ "filament_settings_id": [
+ "QIDI PAHT-CF @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI PAHT-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PAHT-CF @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "300"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "300"
+ ],
+ "overhang_fan_speed": [
+ "40"
+ ],
+ "pressure_advance": [
+ "0.032"
+ ],
+ "slow_down_layer_time": [
+ "5"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PAHT-CF.json b/resources/profiles/Qidi/filament/QIDI PAHT-CF.json
index 3136318a08..582a3a2c45 100644
--- a/resources/profiles/Qidi/filament/QIDI PAHT-CF.json
+++ b/resources/profiles/Qidi/filament/QIDI PAHT-CF.json
@@ -31,7 +31,7 @@
"50"
],
"fan_cooling_layer_time": [
- "5"
+ "10"
],
"full_fan_speed_layer": [
"0"
@@ -49,14 +49,20 @@
"80"
],
"slow_down_layer_time": [
- "5"
+ "8"
],
"filament_density":[
"1.20"
],
+"temperature_vitrification": [
+ "180"
+ ],
"filament_flow_ratio": [
"0.96"
],
+"slow_down_min_speed": [
+ "20"
+ ],
"compatible_printers": [
"Qidi X-Plus 0.4 nozzle",
"Qidi X-Max 0.4 nozzle",
diff --git a/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi Q1 Pro 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi Q1 Pro 0.4 nozzle.json
index bb3ec481e1..7c1f7a4c8e 100644
--- a/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi Q1 Pro 0.4 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi Q1 Pro 0.4 nozzle.json
@@ -25,17 +25,20 @@
"280"
],
"overhang_fan_speed": [
- "50"
+ "40"
],
"pressure_advance": [
- "0.01"
+ "0.032"
],
"slow_down_layer_time": [
- "5"
+ "8"
],
"slow_down_min_speed": [
"20"
],
+ "filament_max_volumetric_speed": [
+ "15"
+ ],
"compatible_printers": [
"Qidi Q1 Pro 0.4 nozzle"
]
diff --git a/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi Q1 Pro 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi Q1 Pro 0.6 nozzle.json
index efaefef830..45be465aa7 100644
--- a/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi Q1 Pro 0.6 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi Q1 Pro 0.6 nozzle.json
@@ -25,13 +25,13 @@
"280"
],
"overhang_fan_speed": [
- "50"
+ "40"
],
"pressure_advance": [
"0.025"
],
"slow_down_layer_time": [
- "5"
+ "8"
],
"slow_down_min_speed": [
"20"
diff --git a/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi Q1 Pro 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi Q1 Pro 0.8 nozzle.json
index 60f34525f3..533e4a4839 100644
--- a/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi Q1 Pro 0.8 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi Q1 Pro 0.8 nozzle.json
@@ -25,13 +25,13 @@
"280"
],
"overhang_fan_speed": [
- "50"
+ "40"
],
"pressure_advance": [
"0.025"
],
"slow_down_layer_time": [
- "5"
+ "8"
],
"slow_down_min_speed": [
"20"
diff --git a/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..b53cd49f62
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,45 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_cooling_layer_time": [
+ "10"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_settings_id": [
+ "QIDI PET-CF @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI PET-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PET-CF @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "280"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "280"
+ ],
+ "overhang_fan_speed": [
+ "40"
+ ],
+ "pressure_advance": [
+ "0.032"
+ ],
+ "slow_down_layer_time": [
+ "5"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "15"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..07a849de2b
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,45 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_cooling_layer_time": [
+ "10"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_settings_id": [
+ "QIDI PET-CF @Qidi X-Plus 4 0.6 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI PET-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PET-CF @Qidi X-Plus 4 0.6 nozzle",
+ "nozzle_temperature": [
+ "280"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "280"
+ ],
+ "overhang_fan_speed": [
+ "40"
+ ],
+ "pressure_advance": [
+ "0.025"
+ ],
+ "slow_down_layer_time": [
+ "5"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "15"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..43a0326e2c
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PET-CF @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,45 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_cooling_layer_time": [
+ "10"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_settings_id": [
+ "QIDI PET-CF @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI PET-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PET-CF @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "280"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "280"
+ ],
+ "overhang_fan_speed": [
+ "40"
+ ],
+ "pressure_advance": [
+ "0.025"
+ ],
+ "slow_down_layer_time": [
+ "5"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "15"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PET-CF.json b/resources/profiles/Qidi/filament/QIDI PET-CF.json
index 10aa857c25..b658c35133 100644
--- a/resources/profiles/Qidi/filament/QIDI PET-CF.json
+++ b/resources/profiles/Qidi/filament/QIDI PET-CF.json
@@ -28,10 +28,10 @@
"0%"
],
"overhang_fan_speed": [
- "50"
+ "40"
],
"fan_cooling_layer_time": [
- "5"
+ "10"
],
"full_fan_speed_layer": [
"0"
@@ -49,7 +49,7 @@
"80"
],
"slow_down_layer_time": [
- "5"
+ "8"
],
"filament_density":[
"1.30"
@@ -57,6 +57,9 @@
"filament_flow_ratio": [
"1"
],
+"slow_down_min_speed": [
+ "20"
+ ],
"compatible_printers": [
"Qidi X-Plus 0.4 nozzle",
"Qidi X-Max 0.4 nozzle",
diff --git a/resources/profiles/Qidi/filament/QIDI PETG Tough 0.2 nozzle.json b/resources/profiles/Qidi/filament/QIDI PETG Tough 0.2 nozzle.json
index 78aa5e9048..d9f8782409 100644
--- a/resources/profiles/Qidi/filament/QIDI PETG Tough 0.2 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PETG Tough 0.2 nozzle.json
@@ -16,10 +16,10 @@
"30"
],
"overhang_fan_speed": [
- "100"
+ "90"
],
"overhang_fan_threshold": [
- "25%"
+ "10%"
],
"fan_max_speed": [
"40"
@@ -43,7 +43,7 @@
"0.04"
],
"filament_max_volumetric_speed": [
- "16"
+ "1"
],
"compatible_printers": [
"Qidi X-Plus 0.2 nozzle",
diff --git a/resources/profiles/Qidi/filament/QIDI PETG Tough 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PETG Tough 0.6 nozzle.json
index 7f4da85e59..ebd6bb353a 100644
--- a/resources/profiles/Qidi/filament/QIDI PETG Tough 0.6 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PETG Tough 0.6 nozzle.json
@@ -16,10 +16,10 @@
"30"
],
"overhang_fan_speed": [
- "100"
+ "90"
],
"overhang_fan_threshold": [
- "25%"
+ "10%"
],
"slow_down_min_speed": [
"20"
diff --git a/resources/profiles/Qidi/filament/QIDI PETG Tough 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI PETG Tough 0.8 nozzle.json
index a99c52e8be..f6f5c6f319 100644
--- a/resources/profiles/Qidi/filament/QIDI PETG Tough 0.8 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PETG Tough 0.8 nozzle.json
@@ -16,10 +16,10 @@
"30"
],
"overhang_fan_speed": [
- "100"
+ "90"
],
"overhang_fan_threshold": [
- "25%"
+ "10%"
],
"slow_down_min_speed": [
"10"
diff --git a/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi Q1 Pro 0.2 nozzle.json b/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi Q1 Pro 0.2 nozzle.json
index eb65ae3ef3..da0aab46e1 100644
--- a/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi Q1 Pro 0.2 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi Q1 Pro 0.2 nozzle.json
@@ -22,7 +22,7 @@
"is_custom_defined": "0",
"name": "QIDI PETG Tough @Qidi Q1 Pro 0.2 nozzle",
"overhang_fan_speed": [
- "100"
+ "90"
],
"pressure_advance": [
"0.04"
diff --git a/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi Q1 Pro 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi Q1 Pro 0.4 nozzle.json
index 26def59c54..cc7f52319f 100644
--- a/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi Q1 Pro 0.4 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi Q1 Pro 0.4 nozzle.json
@@ -25,7 +25,7 @@
"100"
],
"pressure_advance": [
- "0.086"
+ "0.042"
],
"compatible_printers": [
"Qidi Q1 Pro 0.4 nozzle"
diff --git a/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi Q1 Pro 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi Q1 Pro 0.6 nozzle.json
index 6183243f5c..771f82223b 100644
--- a/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi Q1 Pro 0.6 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi Q1 Pro 0.6 nozzle.json
@@ -22,7 +22,10 @@
"is_custom_defined": "0",
"name": "QIDI PETG Tough @Qidi Q1 Pro 0.6 nozzle",
"overhang_fan_speed": [
- "100"
+ "90"
+ ],
+ "pressure_advance": [
+ "0.032"
],
"compatible_printers": [
"Qidi Q1 Pro 0.6 nozzle"
diff --git a/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi Q1 Pro 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi Q1 Pro 0.8 nozzle.json
index 5ca1cbdec1..80ddd6bcbe 100644
--- a/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi Q1 Pro 0.8 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi Q1 Pro 0.8 nozzle.json
@@ -22,10 +22,10 @@
"is_custom_defined": "0",
"name": "QIDI PETG Tough @Qidi Q1 Pro 0.8 nozzle",
"overhang_fan_speed": [
- "100"
+ "90"
],
"pressure_advance": [
- "0.04"
+ "0.024"
],
"compatible_printers": [
"Qidi Q1 Pro 0.8 nozzle"
diff --git a/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi X-Plus 4 0.2 nozzle.json b/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi X-Plus 4 0.2 nozzle.json
new file mode 100644
index 0000000000..13fdf9e2dc
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi X-Plus 4 0.2 nozzle.json
@@ -0,0 +1,33 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_max_volumetric_speed": [
+ "1"
+ ],
+ "filament_settings_id": [
+ "QIDI PETG Tough @Qidi X-Plus 4 0.2 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp_initial_layer": [
+ "80"
+ ],
+ "inherits": "QIDI PETG Tough",
+ "is_custom_defined": "0",
+ "name": "QIDI PETG Tough @Qidi X-Plus 4 0.2 nozzle",
+ "overhang_fan_speed": [
+ "90"
+ ],
+ "pressure_advance": [
+ "0.056"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.2 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..e13a575227
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,33 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_max_volumetric_speed": [
+ "13"
+ ],
+ "filament_settings_id": [
+ "QIDI PETG Tough @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp_initial_layer": [
+ "80"
+ ],
+ "inherits": "QIDI PETG Tough",
+ "is_custom_defined": "0",
+ "name": "QIDI PETG Tough @Qidi X-Plus 4 0.4 nozzle",
+ "overhang_fan_speed": [
+ "90"
+ ],
+ "pressure_advance": [
+ "0.056"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..1ac113737f
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,30 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_max_volumetric_speed": [
+ "13"
+ ],
+ "filament_settings_id": [
+ "QIDI PETG Tough @Qidi X-Plus 4 0.6 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp_initial_layer": [
+ "80"
+ ],
+ "inherits": "QIDI PETG Tough",
+ "is_custom_defined": "0",
+ "name": "QIDI PETG Tough @Qidi X-Plus 4 0.6 nozzle",
+ "overhang_fan_speed": [
+ "90"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..3dd32fa8aa
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PETG Tough @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,33 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_max_volumetric_speed": [
+ "13"
+ ],
+ "filament_settings_id": [
+ "QIDI PETG Tough @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp_initial_layer": [
+ "80"
+ ],
+ "inherits": "QIDI PETG Tough",
+ "is_custom_defined": "0",
+ "name": "QIDI PETG Tough @Qidi X-Plus 4 0.8 nozzle",
+ "overhang_fan_speed": [
+ "90"
+ ],
+ "pressure_advance": [
+ "0.04"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PETG Tough.json b/resources/profiles/Qidi/filament/QIDI PETG Tough.json
index c0f3a7ad46..4affddb2d6 100644
--- a/resources/profiles/Qidi/filament/QIDI PETG Tough.json
+++ b/resources/profiles/Qidi/filament/QIDI PETG Tough.json
@@ -16,10 +16,10 @@
"30"
],
"overhang_fan_speed": [
- "100"
+ "90"
],
"overhang_fan_threshold": [
- "25%"
+ "10%"
],
"fan_max_speed": [
"40"
diff --git a/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi Q1 Pro 0.2 nozzle.json b/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi Q1 Pro 0.2 nozzle.json
index 4e6b1dcbb7..f2b961f821 100644
--- a/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi Q1 Pro 0.2 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi Q1 Pro 0.2 nozzle.json
@@ -40,7 +40,7 @@
"210"
],
"pressure_advance": [
- "0.036"
+ "0.042"
],
"slow_down_min_speed": [
"20"
diff --git a/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi Q1 Pro 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi Q1 Pro 0.4 nozzle.json
index 38487b03cf..7b6125d09e 100644
--- a/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi Q1 Pro 0.4 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi Q1 Pro 0.4 nozzle.json
@@ -6,7 +6,7 @@
"1"
],
"additional_cooling_fan_speed": [
- "0"
+ "100"
],
"close_fan_the_first_x_layers": [
"1"
@@ -40,7 +40,7 @@
"210"
],
"pressure_advance": [
- "0.036"
+ "0.042"
],
"slow_down_min_speed": [
"20"
diff --git a/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi Q1 Pro 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi Q1 Pro 0.6 nozzle.json
index f5fc9e3264..36f5477f39 100644
--- a/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi Q1 Pro 0.6 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi Q1 Pro 0.6 nozzle.json
@@ -9,7 +9,7 @@
"0"
],
"close_fan_the_first_x_layers": [
- "3"
+ "1"
],
"during_print_exhaust_fan_speed": [
"100"
diff --git a/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi Q1 Pro 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi Q1 Pro 0.8 nozzle.json
index 42df71e5e7..cdeae5e012 100644
--- a/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi Q1 Pro 0.8 nozzle.json
+++ b/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi Q1 Pro 0.8 nozzle.json
@@ -9,7 +9,7 @@
"0"
],
"close_fan_the_first_x_layers": [
- "3"
+ "1"
],
"during_print_exhaust_fan_speed": [
"100"
diff --git a/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi X-Plus 4 0.2 nozzle.json b/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi X-Plus 4 0.2 nozzle.json
new file mode 100644
index 0000000000..61b4953572
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi X-Plus 4 0.2 nozzle.json
@@ -0,0 +1,51 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_air_filtration": [
+ "1"
+ ],
+ "additional_cooling_fan_speed": [
+ "0"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "during_print_exhaust_fan_speed": [
+ "100"
+ ],
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "filament_max_volumetric_speed": [
+ "2"
+ ],
+ "filament_settings_id": [
+ "QIDI PLA Rapido @Qidi X-Plus 4 0.2 nozzle"
+ ],
+ "from": "system",
+ "full_fan_speed_layer": [
+ "3"
+ ],
+ "hot_plate_temp": [
+ "60"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "60"
+ ],
+ "inherits": "QIDI PLA Rapido",
+ "is_custom_defined": "0",
+ "name": "QIDI PLA Rapido @Qidi X-Plus 4 0.2 nozzle",
+ "nozzle_temperature": [
+ "210"
+ ],
+ "pressure_advance": [
+ "0.034"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.2 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..64253b9f77
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,51 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_air_filtration": [
+ "1"
+ ],
+ "additional_cooling_fan_speed": [
+ "100"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "during_print_exhaust_fan_speed": [
+ "100"
+ ],
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "filament_max_volumetric_speed": [
+ "24.5"
+ ],
+ "filament_settings_id": [
+ "QIDI PLA Rapido @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "full_fan_speed_layer": [
+ "3"
+ ],
+ "hot_plate_temp": [
+ "60"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "60"
+ ],
+ "inherits": "QIDI PLA Rapido",
+ "is_custom_defined": "0",
+ "name": "QIDI PLA Rapido @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "210"
+ ],
+ "pressure_advance": [
+ "0.034"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..2f7fe7698c
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,51 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_air_filtration": [
+ "1"
+ ],
+ "additional_cooling_fan_speed": [
+ "0"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "during_print_exhaust_fan_speed": [
+ "100"
+ ],
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "filament_max_volumetric_speed": [
+ "24.5"
+ ],
+ "filament_settings_id": [
+ "QIDI PLA Rapido @Qidi X-Plus 4 0.6 nozzle"
+ ],
+ "from": "system",
+ "full_fan_speed_layer": [
+ "3"
+ ],
+ "hot_plate_temp": [
+ "60"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "60"
+ ],
+ "inherits": "QIDI PLA Rapido",
+ "is_custom_defined": "0",
+ "name": "QIDI PLA Rapido @Qidi X-Plus 4 0.6 nozzle",
+ "nozzle_temperature": [
+ "210"
+ ],
+ "pressure_advance": [
+ "0.016"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..2e6983920c
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PLA Rapido @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,51 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_air_filtration": [
+ "1"
+ ],
+ "additional_cooling_fan_speed": [
+ "0"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "during_print_exhaust_fan_speed": [
+ "100"
+ ],
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "filament_max_volumetric_speed": [
+ "24.5"
+ ],
+ "filament_settings_id": [
+ "QIDI PLA Rapido @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "full_fan_speed_layer": [
+ "3"
+ ],
+ "hot_plate_temp": [
+ "60"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "60"
+ ],
+ "inherits": "QIDI PLA Rapido",
+ "is_custom_defined": "0",
+ "name": "QIDI PLA Rapido @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "210"
+ ],
+ "pressure_advance": [
+ "0.008"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PLA Rapido Matte @Qidi X-Plus 4 0.2 nozzle.json b/resources/profiles/Qidi/filament/QIDI PLA Rapido Matte @Qidi X-Plus 4 0.2 nozzle.json
new file mode 100644
index 0000000000..72580ceb07
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PLA Rapido Matte @Qidi X-Plus 4 0.2 nozzle.json
@@ -0,0 +1,54 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_air_filtration": [
+ "1"
+ ],
+ "additional_cooling_fan_speed": [
+ "0"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "during_print_exhaust_fan_speed": [
+ "100"
+ ],
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "filament_max_volumetric_speed": [
+ "2"
+ ],
+ "filament_settings_id": [
+ "QIDI PLA Rapido Matte @Qidi X-Plus 4 0.2 nozzle"
+ ],
+ "from": "system",
+ "full_fan_speed_layer": [
+ "3"
+ ],
+ "hot_plate_temp": [
+ "60"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "60"
+ ],
+ "inherits": "QIDI PLA Rapido Matte",
+ "is_custom_defined": "0",
+ "name": "QIDI PLA Rapido Matte @Qidi X-Plus 4 0.2 nozzle",
+ "nozzle_temperature": [
+ "200"
+ ],
+ "pressure_advance": [
+ "0.034"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "200"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.2 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PLA Rapido Matte @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI PLA Rapido Matte @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..5e4c83d227
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PLA Rapido Matte @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,54 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_air_filtration": [
+ "1"
+ ],
+ "additional_cooling_fan_speed": [
+ "0"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "during_print_exhaust_fan_speed": [
+ "100"
+ ],
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "filament_max_volumetric_speed": [
+ "24.5"
+ ],
+ "filament_settings_id": [
+ "QIDI PLA Rapido Matte @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "full_fan_speed_layer": [
+ "3"
+ ],
+ "hot_plate_temp": [
+ "60"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "60"
+ ],
+ "inherits": "QIDI PLA Rapido Matte",
+ "is_custom_defined": "0",
+ "name": "QIDI PLA Rapido Matte @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "200"
+ ],
+ "pressure_advance": [
+ "0.034"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "200"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PLA Rapido Matte @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PLA Rapido Matte @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..143631fb4b
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PLA Rapido Matte @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,54 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_air_filtration": [
+ "1"
+ ],
+ "additional_cooling_fan_speed": [
+ "0"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "during_print_exhaust_fan_speed": [
+ "100"
+ ],
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "filament_max_volumetric_speed": [
+ "24.5"
+ ],
+ "filament_settings_id": [
+ "QIDI PLA Rapido Matte @Qidi X-Plus 4 0.6 nozzle"
+ ],
+ "from": "system",
+ "full_fan_speed_layer": [
+ "3"
+ ],
+ "hot_plate_temp": [
+ "60"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "60"
+ ],
+ "inherits": "QIDI PLA Rapido Matte",
+ "is_custom_defined": "0",
+ "name": "QIDI PLA Rapido Matte @Qidi X-Plus 4 0.6 nozzle",
+ "nozzle_temperature": [
+ "200"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "200"
+ ],
+ "pressure_advance": [
+ "0.016"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PLA Rapido Matte @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI PLA Rapido Matte @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..77420deac6
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PLA Rapido Matte @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,54 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_air_filtration": [
+ "1"
+ ],
+ "additional_cooling_fan_speed": [
+ "0"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "during_print_exhaust_fan_speed": [
+ "100"
+ ],
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "filament_max_volumetric_speed": [
+ "24.5"
+ ],
+ "filament_settings_id": [
+ "QIDI PLA Rapido Matte @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "full_fan_speed_layer": [
+ "3"
+ ],
+ "hot_plate_temp": [
+ "60"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "60"
+ ],
+ "inherits": "QIDI PLA Rapido Matte",
+ "is_custom_defined": "0",
+ "name": "QIDI PLA Rapido Matte @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "200"
+ ],
+ "pressure_advance": [
+ "0.008"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "200"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PLA-CF @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI PLA-CF @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..62aba10d49
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PLA-CF @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,33 @@
+{"type": "filament",
+"filament_id": "GFL98",
+"setting_id": "GFSL98",
+"instantiation": "true",
+ "filament_flow_ratio": [
+ "0.93"
+ ],
+ "first_layer_temperature": [
+ "220"
+ ],
+ "filament_max_volumetric_speed": [
+ "15"
+ ],
+ "filament_settings_id": [
+ "QIDI PLA-CF @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "inherits": "Qidi PLA-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PLA-CF @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "220"
+ ],
+ "pressure_advance": [
+ "0.034"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "220"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PLA-CF @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PLA-CF @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..32b39844b8
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PLA-CF @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,30 @@
+{"type": "filament",
+"filament_id": "GFL98",
+"setting_id": "GFSL98",
+"instantiation": "true",
+ "filament_flow_ratio": [
+ "0.93"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "220"
+ ],
+ "filament_max_volumetric_speed": [
+ "15"
+ ],
+ "filament_settings_id": [
+ "QIDI PLA-CF @Qidi X-Plus 4 0.6 nozzle"
+ ],
+ "from": "system",
+ "inherits": "Qidi PLA-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PLA-CF @Qidi X-Plus 4 0.6 nozzle",
+ "nozzle_temperature": [
+ "220"
+ ],
+ "pressure_advance": [
+ "0.012"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PLA-CF @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI PLA-CF @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..96f14f686c
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PLA-CF @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,30 @@
+{"type": "filament",
+"filament_id": "GFL98",
+"setting_id": "GFSL98",
+"instantiation": "true",
+ "filament_flow_ratio": [
+ "0.93"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "220"
+ ],
+ "filament_max_volumetric_speed": [
+ "18"
+ ],
+ "filament_settings_id": [
+ "QIDI PLA-CF @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "inherits": "Qidi PLA-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PLA-CF @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "220"
+ ],
+ "pressure_advance": [
+ "0.008"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi Q1 Pro 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi Q1 Pro 0.4 nozzle.json
new file mode 100644
index 0000000000..c8f030183d
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi Q1 Pro 0.4 nozzle.json
@@ -0,0 +1,45 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_cooling_layer_time": [
+ "10"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "5"
+ ],
+ "filament_settings_id": [
+ "QIDI PPS-CF @Qidi Q1 Pro 0.4 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI PPS-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PPS-CF @Qidi Q1 Pro 0.4 nozzle",
+ "nozzle_temperature": [
+ "340"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "340"
+ ],
+ "overhang_fan_speed": [
+ "50"
+ ],
+ "pressure_advance": [
+ "0.032"
+ ],
+ "slow_down_layer_time": [
+ "5"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi Q1 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi Q1 Pro 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi Q1 Pro 0.6 nozzle.json
new file mode 100644
index 0000000000..718770f18d
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi Q1 Pro 0.6 nozzle.json
@@ -0,0 +1,45 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_cooling_layer_time": [
+ "10"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "5"
+ ],
+ "filament_settings_id": [
+ "QIDI PPS-CF @Qidi Q1 Pro 0.6 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI PPS-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PPS-CF @Qidi Q1 Pro 0.6 nozzle",
+ "nozzle_temperature": [
+ "340"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "340"
+ ],
+ "overhang_fan_speed": [
+ "50"
+ ],
+ "pressure_advance": [
+ "0.032"
+ ],
+ "slow_down_layer_time": [
+ "5"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi Q1 Pro 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi Q1 Pro 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi Q1 Pro 0.8 nozzle.json
new file mode 100644
index 0000000000..a6f74ae2cd
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi Q1 Pro 0.8 nozzle.json
@@ -0,0 +1,45 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_cooling_layer_time": [
+ "10"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "5"
+ ],
+ "filament_settings_id": [
+ "QIDI PPS-CF @Qidi Q1 Pro 0.8 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI PPS-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PPS-CF @Qidi Q1 Pro 0.8 nozzle",
+ "nozzle_temperature": [
+ "340"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "340"
+ ],
+ "overhang_fan_speed": [
+ "50"
+ ],
+ "pressure_advance": [
+ "0.032"
+ ],
+ "slow_down_layer_time": [
+ "5"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi Q1 Pro 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..14265a8960
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,45 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_cooling_layer_time": [
+ "10"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "5"
+ ],
+ "filament_settings_id": [
+ "QIDI PPS-CF @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI PPS-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PPS-CF @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "340"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "340"
+ ],
+ "overhang_fan_speed": [
+ "50"
+ ],
+ "pressure_advance": [
+ "0.032"
+ ],
+ "slow_down_layer_time": [
+ "5"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..b2d54e415b
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,45 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_cooling_layer_time": [
+ "10"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "5"
+ ],
+ "filament_settings_id": [
+ "QIDI PPS-CF @Qidi X-Plus 4 0.6 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI PPS-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PPS-CF @Qidi X-Plus 4 0.6 nozzle",
+ "nozzle_temperature": [
+ "340"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "340"
+ ],
+ "overhang_fan_speed": [
+ "50"
+ ],
+ "pressure_advance": [
+ "0.032"
+ ],
+ "slow_down_layer_time": [
+ "5"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..1a44eaa55f
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PPS-CF @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,45 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_cooling_layer_time": [
+ "10"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "5"
+ ],
+ "filament_settings_id": [
+ "QIDI PPS-CF @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "inherits": "QIDI PPS-CF",
+ "is_custom_defined": "0",
+ "name": "QIDI PPS-CF @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "340"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "340"
+ ],
+ "overhang_fan_speed": [
+ "50"
+ ],
+ "pressure_advance": [
+ "0.032"
+ ],
+ "slow_down_layer_time": [
+ "5"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/QIDI PPS-CF.json b/resources/profiles/Qidi/filament/QIDI PPS-CF.json
new file mode 100644
index 0000000000..25d748c1be
--- /dev/null
+++ b/resources/profiles/Qidi/filament/QIDI PPS-CF.json
@@ -0,0 +1,82 @@
+{
+ "type": "filament",
+ "filament_id": "GFN98",
+ "setting_id": "GFSN99",
+ "name": "QIDI PPS-CF",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_filament_pa",
+ "filament_type": [
+ "PA-CF"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "340"
+ ],
+ "nozzle_temperature": [
+ "340"
+ ],
+ "filament_max_volumetric_speed": [
+ "5"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "overhang_fan_threshold": [
+ "0%"
+ ],
+ "overhang_fan_speed": [
+ "50"
+ ],
+ "fan_cooling_layer_time": [
+ "5"
+ ],
+ "full_fan_speed_layer": [
+ "0"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "pressure_advance": [
+ "0.01"
+ ],
+ "hot_plate_temp_initial_layer" : [
+ "100"
+],
+"hot_plate_temp" : [
+ "100"
+],
+"slow_down_layer_time": [
+ "5"
+],
+"filament_density":[
+ "1.20"
+],
+"chamber_temperature": [
+ "60"
+ ],
+"filament_flow_ratio": [
+ "0.96"
+],
+ "compatible_printers": [
+ "Qidi X-Plus 0.4 nozzle",
+ "Qidi X-Max 0.4 nozzle",
+ "Qidi X-CF Pro 0.4 nozzle",
+ "Qidi X-Smart 3 0.4 nozzle",
+ "Qidi X-Plus 3 0.4 nozzle",
+ "Qidi X-Max 3 0.4 nozzle",
+ "Qidi X-Max 0.6 nozzle",
+ "Qidi X-CF Pro 0.6 nozzle",
+ "Qidi X-Smart 3 0.6 nozzle",
+ "Qidi X-Plus 3 0.6 nozzle",
+ "Qidi X-Max 3 0.6 nozzle",
+ "Qidi X-Plus 0.8 nozzle",
+ "Qidi X-Max 0.8 nozzle",
+ "Qidi X-CF Pro 0.8 nozzle",
+"Qidi X-Smart 3 0.8 nozzle",
+"Qidi X-Plus 3 0.8 nozzle",
+"Qidi X-Max 3 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi ASA-Aero @Qidi Q1 Pro 0.4 nozzle.json b/resources/profiles/Qidi/filament/Qidi ASA-Aero @Qidi Q1 Pro 0.4 nozzle.json
index f0243921ae..c701d15d55 100644
--- a/resources/profiles/Qidi/filament/Qidi ASA-Aero @Qidi Q1 Pro 0.4 nozzle.json
+++ b/resources/profiles/Qidi/filament/Qidi ASA-Aero @Qidi Q1 Pro 0.4 nozzle.json
@@ -22,7 +22,7 @@
"260"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"slow_down_layer_time": [
"4"
@@ -31,7 +31,7 @@
"20"
],
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
diff --git a/resources/profiles/Qidi/filament/Qidi ASA-Aero @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/Qidi ASA-Aero @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..328d324466
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi ASA-Aero @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,42 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "60"
+ ],
+ "fan_cooling_layer_time": [
+ "40"
+ ],
+ "filament_settings_id": [
+ "Qidi ASA-Aero @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "inherits": "Qidi ASA-Aero",
+ "is_custom_defined": "0",
+ "name": "Qidi ASA-Aero @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi ASA-Aero.json b/resources/profiles/Qidi/filament/Qidi ASA-Aero.json
index fe344d1a98..7c0ca96869 100644
--- a/resources/profiles/Qidi/filament/Qidi ASA-Aero.json
+++ b/resources/profiles/Qidi/filament/Qidi ASA-Aero.json
@@ -58,13 +58,19 @@
"10"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"filament_density":[
"1.03"
],
"chamber_temperature": [
"60"
+ ],
+ "fan_cooling_layer_time": [
+ "40"
+ ],
+ "slow_down_layer_time": [
+ "4"
],
"compatible_printers": [
"Qidi X-Plus 0.4 nozzle",
diff --git a/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi Q1 Pro 0.2 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi Q1 Pro 0.2 nozzle.json
index 59e2f45506..23e3c95293 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi Q1 Pro 0.2 nozzle.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi Q1 Pro 0.2 nozzle.json
@@ -22,7 +22,7 @@
"250"
],
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
diff --git a/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi Q1 Pro 0.4 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi Q1 Pro 0.4 nozzle.json
index bd298230fd..a503841c3c 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi Q1 Pro 0.4 nozzle.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi Q1 Pro 0.4 nozzle.json
@@ -25,7 +25,7 @@
"250"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"slow_down_layer_time": [
"4"
@@ -34,11 +34,14 @@
"20"
],
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
],
+ "pressure_advance": [
+ "0.035"
+ ],
"compatible_printers": [
"Qidi Q1 Pro 0.4 nozzle"
]
diff --git a/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi Q1 Pro 0.6 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi Q1 Pro 0.6 nozzle.json
index 853c7c934c..538cb5291a 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi Q1 Pro 0.6 nozzle.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi Q1 Pro 0.6 nozzle.json
@@ -22,7 +22,7 @@
"250"
],
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
diff --git a/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi Q1 Pro 0.8 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi Q1 Pro 0.8 nozzle.json
index 5ce32da3da..98a5c874d4 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi Q1 Pro 0.8 nozzle.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi Q1 Pro 0.8 nozzle.json
@@ -22,7 +22,7 @@
"250"
],
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
diff --git a/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi X-Plus 4 0.2 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi X-Plus 4 0.2 nozzle.json
new file mode 100644
index 0000000000..56a0b6a0cd
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi X-Plus 4 0.2 nozzle.json
@@ -0,0 +1,33 @@
+{
+ "type": "filament",
+ "filament_id": "GFB99",
+ "setting_id": "GFSA04",
+ "name": "Qidi Generic ABS @Qidi X-Plus 4 0.2 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "Qidi Generic ABS",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "pressure_advance": [
+ "0.03"
+ ],
+ "filament_max_volumetric_speed": [
+ "2"
+ ],
+ "nozzle_temperature": [
+ "250"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.2 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..412ac76fcf
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,48 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_max_speed": [
+ "80"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_settings_id": [
+ "Qidi Generic ABS @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "pressure_advance": [
+ "0.03"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "90"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "90"
+ ],
+ "inherits": "Qidi Generic ABS",
+ "is_custom_defined": "0",
+ "name": "Qidi Generic ABS @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "250"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..a3220d053e
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,33 @@
+{
+ "type": "filament",
+ "filament_id": "GFB99",
+ "setting_id": "GFSA04",
+ "name": "Qidi Generic ABS @Qidi X-Plus 4 0.6 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "Qidi Generic ABS",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "pressure_advance": [
+ "0.014"
+ ],
+ "filament_max_volumetric_speed": [
+ "24.5"
+ ],
+ "nozzle_temperature": [
+ "250"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..7848e43541
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic ABS @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,33 @@
+{
+ "type": "filament",
+ "filament_id": "GFB99",
+ "setting_id": "GFSA04",
+ "name": "Qidi Generic ABS @Qidi X-Plus 4 0.8 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "Qidi Generic ABS",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "pressure_advance": [
+ "0.011"
+ ],
+ "filament_max_volumetric_speed": [
+ "24.5"
+ ],
+ "nozzle_temperature": [
+ "250"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic ABS.json b/resources/profiles/Qidi/filament/Qidi Generic ABS.json
index 1928c7fda1..22f114ebd5 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic ABS.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic ABS.json
@@ -28,13 +28,25 @@
"10"
],
"overhang_fan_speed": [
- "100"
+ "80"
],
"filament_density":[
"1.04"
],
"activate_chamber_temp_control": [
"0"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "nozzle_temperature": [
+ "260"
],
"compatible_printers": [
"Qidi X-Plus 0.2 nozzle",
diff --git a/resources/profiles/Qidi/filament/Qidi Generic ASA @Qidi X-Plus 4 0.2 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic ASA @Qidi X-Plus 4 0.2 nozzle.json
new file mode 100644
index 0000000000..abd10b146c
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic ASA @Qidi X-Plus 4 0.2 nozzle.json
@@ -0,0 +1,30 @@
+{
+ "type": "filament",
+ "filament_id": "GFB99",
+ "setting_id": "GFSA04",
+ "name": "Qidi Generic ASA @Qidi X-Plus 4 0.2 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "Qidi Generic ASA",
+ "filament_flow_ratio": [
+ "0.92"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "pressure_advance": [
+ "0.021"
+ ],
+ "filament_max_volumetric_speed": [
+ "2"
+ ],
+ "activate_air_filtration":[
+ "0"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.2 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic ASA @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic ASA @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..0bbc4910ac
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic ASA @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,48 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_cooling_layer_time": [
+ "40"
+ ],
+ "filament_max_volumetric_speed": [
+ "16"
+ ],
+ "filament_settings_id": [
+ "Qidi Generic ASA @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "inherits": "Qidi Generic ASA",
+ "is_custom_defined": "0",
+ "name": "Qidi Generic ASA @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "270"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "250"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "pressure_advance": [
+ "0.035"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "activate_air_filtration":[
+ "0"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic ASA @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic ASA @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..7f6e6cea15
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic ASA @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,48 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_cooling_layer_time": [
+ "40"
+ ],
+ "filament_max_volumetric_speed": [
+ "13"
+ ],
+ "filament_settings_id": [
+ "Qidi Generic ASA @Qidi X-Plus 4 0.6 nozzle"
+ ],
+ "from": "system",
+ "inherits": "Qidi Generic ASA",
+ "is_custom_defined": "0",
+ "name": "Qidi Generic ASA @Qidi X-Plus 4 0.6 nozzle",
+ "nozzle_temperature": [
+ "255"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "250"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "pressure_advance": [
+ "0.014"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "activate_air_filtration":[
+ "0"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic ASA @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic ASA @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..1f63d37533
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic ASA @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,48 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_cooling_layer_time": [
+ "40"
+ ],
+ "filament_max_volumetric_speed": [
+ "13"
+ ],
+ "filament_settings_id": [
+ "Qidi Generic ASA @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "inherits": "Qidi Generic ASA",
+ "is_custom_defined": "0",
+ "name": "Qidi Generic ASA @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "255"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "250"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "pressure_advance": [
+ "0.011"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "activate_air_filtration":[
+ "0"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PA-CF.json b/resources/profiles/Qidi/filament/Qidi Generic PA-CF.json
index 3d64c5d792..a4ebdc97de 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic PA-CF.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic PA-CF.json
@@ -62,6 +62,9 @@
"Qidi X-Max 3 0.8 nozzle",
"Qidi Q1 Pro 0.4 nozzle",
"Qidi Q1 Pro 0.6 nozzle",
- "Qidi Q1 Pro 0.8 nozzle"
+ "Qidi Q1 Pro 0.8 nozzle",
+ "Qidi X-Plus 4 0.4 nozzle",
+ "Qidi X-Plus 4 0.6 nozzle",
+ "Qidi X-Plus 4 0.8 nozzle"
]
}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PA.json b/resources/profiles/Qidi/filament/Qidi Generic PA.json
index d747a1b299..f8d989e699 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic PA.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic PA.json
@@ -44,6 +44,9 @@
"Qidi X-Max 3 0.8 nozzle",
"Qidi Q1 Pro 0.4 nozzle",
"Qidi Q1 Pro 0.6 nozzle",
- "Qidi Q1 Pro 0.8 nozzle"
+ "Qidi Q1 Pro 0.8 nozzle",
+ "Qidi X-Plus 4 0.4 nozzle",
+ "Qidi X-Plus 4 0.6 nozzle",
+ "Qidi X-Plus 4 0.8 nozzle"
]
}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PC.json b/resources/profiles/Qidi/filament/Qidi Generic PC.json
index 43a1594b49..ed3cbe5b30 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic PC.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic PC.json
@@ -44,6 +44,9 @@
"Qidi X-Max 3 0.8 nozzle",
"Qidi Q1 Pro 0.4 nozzle",
"Qidi Q1 Pro 0.6 nozzle",
- "Qidi Q1 Pro 0.8 nozzle"
+ "Qidi Q1 Pro 0.8 nozzle",
+ "Qidi X-Plus 4 0.4 nozzle",
+ "Qidi X-Plus 4 0.6 nozzle",
+ "Qidi X-Plus 4 0.8 nozzle"
]
}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi Q1 Pro 0.2 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi Q1 Pro 0.2 nozzle.json
index 16bf02d8ec..7724727786 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi Q1 Pro 0.2 nozzle.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi Q1 Pro 0.2 nozzle.json
@@ -16,10 +16,10 @@
"30"
],
"overhang_fan_speed": [
- "100"
+ "90"
],
"overhang_fan_threshold": [
- "25%"
+ "10%"
],
"fan_max_speed": [
"40"
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi Q1 Pro 0.4 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi Q1 Pro 0.4 nozzle.json
index b699fb1a4c..596251d5c9 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi Q1 Pro 0.4 nozzle.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi Q1 Pro 0.4 nozzle.json
@@ -10,9 +10,6 @@
],
"fan_cooling_layer_time": [
"30"
-],
-"overhang_fan_threshold": [
- "25%"
],
"fan_max_speed": [
"40"
@@ -31,7 +28,7 @@
"is_custom_defined": "0",
"name": "Qidi Generic PETG @Qidi Q1 Pro 0.4 nozzle",
"overhang_fan_speed": [
- "100"
+ "90"
],
"slow_down_min_speed": [
"20"
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi Q1 Pro 0.6 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi Q1 Pro 0.6 nozzle.json
index bdf952339b..67ddb70cc1 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi Q1 Pro 0.6 nozzle.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi Q1 Pro 0.6 nozzle.json
@@ -16,10 +16,10 @@
"30"
],
"overhang_fan_speed": [
- "100"
+ "90"
],
"overhang_fan_threshold": [
- "25%"
+ "10%"
],
"fan_max_speed": [
"40"
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi Q1 Pro 0.8 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi Q1 Pro 0.8 nozzle.json
index bb48060f5e..14d7458e63 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi Q1 Pro 0.8 nozzle.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi Q1 Pro 0.8 nozzle.json
@@ -19,7 +19,7 @@
"90"
],
"overhang_fan_threshold": [
- "25%"
+ "10%"
],
"fan_max_speed": [
"40"
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Max 3 0.2 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Max 3 0.2 nozzle.json
index 242c0f01f7..f2d26874b3 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Max 3 0.2 nozzle.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Max 3 0.2 nozzle.json
@@ -16,10 +16,10 @@
"30"
],
"overhang_fan_speed": [
- "100"
+ "90"
],
"overhang_fan_threshold": [
- "25%"
+ "10%"
],
"fan_max_speed": [
"40"
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Plus 3 0.2 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Plus 3 0.2 nozzle.json
index d96fb21557..19f747cb5c 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Plus 3 0.2 nozzle.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Plus 3 0.2 nozzle.json
@@ -16,10 +16,10 @@
"30"
],
"overhang_fan_speed": [
- "100"
+ "90"
],
"overhang_fan_threshold": [
- "25%"
+ "10%"
],
"fan_max_speed": [
"40"
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Plus 4 0.2 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Plus 4 0.2 nozzle.json
new file mode 100644
index 0000000000..b9c1e8ff70
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Plus 4 0.2 nozzle.json
@@ -0,0 +1,51 @@
+{
+ "type": "filament",
+ "filament_id": "GFG99",
+ "setting_id": "GFSG99",
+ "name": "Qidi Generic PETG @Qidi X-Plus 4 0.2 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "Qidi Generic PETG",
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_for_layer_cooling": [
+ "1"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "overhang_fan_speed": [
+ "90"
+ ],
+ "overhang_fan_threshold": [
+ "10%"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "slow_down_layer_time": [
+ "12"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "pressure_advance": [
+ "0.056"
+ ],
+ "filament_max_volumetric_speed": [
+ "1"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.2 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..d9a067a082
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,57 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+"reduce_fan_stop_start_freq": [
+ "1"
+],
+"slow_down_for_layer_cooling": [
+ "1"
+],
+"fan_cooling_layer_time": [
+ "30"
+],
+"overhang_fan_threshold": [
+ "10%"
+],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_settings_id": [
+ "Qidi Generic PETG @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp_initial_layer": [
+ "80"
+ ],
+ "inherits": "Qidi Generic PETG",
+ "is_custom_defined": "0",
+ "name": "Qidi Generic PETG @Qidi X-Plus 4 0.4 nozzle",
+ "overhang_fan_speed": [
+ "90"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "slow_down_layer_time": [
+ "12"
+],
+ "pressure_advance":[
+ "0.056"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..195aa5b2c4
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,51 @@
+{
+ "type": "filament",
+ "filament_id": "GFG99",
+ "setting_id": "GFSG99",
+ "name": "Qidi Generic PETG @Qidi X-Plus 4 0.6 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "Qidi Generic PETG",
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_for_layer_cooling": [
+ "1"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "overhang_fan_speed": [
+ "90"
+ ],
+ "overhang_fan_threshold": [
+ "10%"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "slow_down_layer_time": [
+ "12"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "pressure_advance": [
+ "0.04"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..1b57571c2a
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,54 @@
+{
+ "type": "filament",
+ "filament_id": "GFG99",
+ "setting_id": "GFSG99",
+ "name": "Qidi Generic PETG @Qidi X-Plus 4 0.8 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "Qidi Generic PETG",
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_for_layer_cooling": [
+ "1"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "overhang_fan_speed": [
+ "90"
+ ],
+ "overhang_fan_threshold": [
+ "10%"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "slow_down_layer_time": [
+ "12"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "pressure_advance": [
+ "0.04"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "hot_plate_temp_initial_layer" : [
+ "80"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Smart 3 0.2 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Smart 3 0.2 nozzle.json
index 98e60a99d1..5d5767decf 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Smart 3 0.2 nozzle.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic PETG @Qidi X-Smart 3 0.2 nozzle.json
@@ -16,10 +16,10 @@
"30"
],
"overhang_fan_speed": [
- "100"
+ "90"
],
"overhang_fan_threshold": [
- "25%"
+ "10%"
],
"fan_max_speed": [
"40"
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PETG-CF.json b/resources/profiles/Qidi/filament/Qidi Generic PETG-CF.json
index f112205505..f083c1c4ba 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic PETG-CF.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic PETG-CF.json
@@ -118,6 +118,10 @@
"Qidi Q1 Pro 0.2 nozzle",
"Qidi Q1 Pro 0.4 nozzle",
"Qidi Q1 Pro 0.6 nozzle",
- "Qidi Q1 Pro 0.8 nozzle"
+ "Qidi Q1 Pro 0.8 nozzle",
+ "Qidi X-Plus 4 0.2 nozzle",
+ "Qidi X-Plus 4 0.4 nozzle",
+ "Qidi X-Plus 4 0.6 nozzle",
+ "Qidi X-Plus 4 0.8 nozzle"
]
}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PETG.json b/resources/profiles/Qidi/filament/Qidi Generic PETG.json
index f23903b871..25c51af0bd 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic PETG.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic PETG.json
@@ -16,10 +16,10 @@
"30"
],
"overhang_fan_speed": [
- "100"
+ "90"
],
"overhang_fan_threshold": [
- "25%"
+ "10%"
],
"fan_max_speed": [
"40"
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PLA @Qidi Q1 Pro 0.2 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PLA @Qidi Q1 Pro 0.2 nozzle.json
index 5f279fe8b7..54bf2b93ef 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic PLA @Qidi Q1 Pro 0.2 nozzle.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic PLA @Qidi Q1 Pro 0.2 nozzle.json
@@ -16,7 +16,7 @@
"1"
],
"pressure_advance": [
- "0.036"
+ "0.042"
],
"filament_max_volumetric_speed": [
"14"
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PLA @Qidi X-Plus 4 0.2 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PLA @Qidi X-Plus 4 0.2 nozzle.json
new file mode 100644
index 0000000000..ccf305459e
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic PLA @Qidi X-Plus 4 0.2 nozzle.json
@@ -0,0 +1,30 @@
+{
+ "type": "filament",
+ "filament_id": "GFL99",
+ "setting_id": "GFSL99",
+ "name": "Qidi Generic PLA @Qidi X-Plus 4 0.2 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "Qidi Generic PLA",
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "pressure_advance": [
+ "0.034"
+ ],
+ "filament_max_volumetric_speed": [
+ "2"
+ ],
+ "nozzle_temperature": [
+ "210"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.2 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PLA @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PLA @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..5a4ae0e7ca
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic PLA @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,36 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "filament_max_volumetric_speed": [
+ "14"
+ ],
+ "pressure_advance": [
+ "0.034"
+ ],
+ "filament_settings_id": [
+ "Qidi Generic PLA @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "full_fan_speed_layer": [
+ "3"
+ ],
+ "hot_plate_temp": [
+ "60"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "60"
+ ],
+ "inherits": "Qidi Generic PLA",
+ "is_custom_defined": "0",
+ "name": "Qidi Generic PLA @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "210"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PLA @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PLA @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..f59342ff14
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic PLA @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,30 @@
+{
+ "type": "filament",
+ "filament_id": "GFL99",
+ "setting_id": "GFSL99",
+ "name": "Qidi Generic PLA @Qidi X-Plus 4 0.6 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "Qidi Generic PLA",
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "pressure_advance": [
+ "0.016"
+ ],
+ "filament_max_volumetric_speed": [
+ "14"
+ ],
+ "nozzle_temperature": [
+ "210"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PLA @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PLA @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..84d16add50
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic PLA @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,30 @@
+{
+ "type": "filament",
+ "filament_id": "GFL99",
+ "setting_id": "GFSL99",
+ "name": "Qidi Generic PLA @Qidi X-Plus 4 0.8 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "Qidi Generic PLA",
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "pressure_advance": [
+ "0.008"
+ ],
+ "filament_max_volumetric_speed": [
+ "14"
+ ],
+ "nozzle_temperature": [
+ "210"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PLA Silk @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic PLA Silk @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..35d49dd1fd
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic PLA Silk @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,37 @@
+{
+ "type": "filament",
+ "filament_id": "GFA05",
+ "setting_id": "GFSL99_01",
+ "name": "Qidi Generic PLA Silk @Qidi X-Plus 4 0.4 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "Qidi Generic PLA Silk",
+ "enable_pressure_advance":"1",
+ "pressure_advance": [
+ "0.032"
+ ],
+ "nozzle_temperature_initial_layer":[
+ "220"
+ ],
+ "filament_max_volumetric_speed": [
+ "7.5"
+ ],
+ "filament_retraction_length": [
+ "0.5"
+ ],
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "hot_plate_temp_initial_layer" : [
+ "55"
+ ],
+ "hot_plate_temp" : [
+ "55"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PLA Silk.json b/resources/profiles/Qidi/filament/Qidi Generic PLA Silk.json
index e57df57286..e448c680aa 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic PLA Silk.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic PLA Silk.json
@@ -8,7 +8,7 @@
"inherits": "fdm_filament_pla",
"enable_pressure_advance":"1",
"pressure_advance": [
- "0.024"
+ "0.014"
],
"nozzle_temperature_initial_layer":[
"220"
@@ -33,12 +33,6 @@
"55"
],
"compatible_printers": [
- "Qidi X-Plus 0.2 nozzle",
- "Qidi X-Max 0.2 nozzle",
- "Qidi X-CF Pro 0.2 nozzle",
- "Qidi X-Smart 3 0.2 nozzle",
- "Qidi X-Plus 3 0.2 nozzle",
- "Qidi X-Max 3 0.2 nozzle",
"Qidi X-Plus 0.4 nozzle",
"Qidi X-Max 0.4 nozzle",
"Qidi X-CF Pro 0.4 nozzle",
@@ -57,8 +51,9 @@
"Qidi X-Smart 3 0.8 nozzle",
"Qidi X-Plus 3 0.8 nozzle",
"Qidi X-Max 3 0.8 nozzle",
- "Qidi Q1 Pro 0.2 nozzle",
"Qidi Q1 Pro 0.6 nozzle",
- "Qidi Q1 Pro 0.8 nozzle"
+ "Qidi Q1 Pro 0.8 nozzle",
+ "Qidi X-Plus 4 0.6 nozzle",
+ "Qidi X-Plus 4 0.8 nozzle"
]
}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PLA-CF.json b/resources/profiles/Qidi/filament/Qidi Generic PLA-CF.json
index c1cf194a38..31b85396e0 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic PLA-CF.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic PLA-CF.json
@@ -61,6 +61,10 @@
"Qidi Q1 Pro 0.2 nozzle",
"Qidi Q1 Pro 0.4 nozzle",
"Qidi Q1 Pro 0.6 nozzle",
- "Qidi Q1 Pro 0.8 nozzle"
+ "Qidi Q1 Pro 0.8 nozzle",
+ "Qidi X-Plus 4 0.2 nozzle",
+ "Qidi X-Plus 4 0.4 nozzle",
+ "Qidi X-Plus 4 0.6 nozzle",
+ "Qidi X-Plus 4 0.8 nozzle"
]
}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/filament/Qidi Generic PVA.json b/resources/profiles/Qidi/filament/Qidi Generic PVA.json
index 93bb0e381a..31d7fcbbb1 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic PVA.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic PVA.json
@@ -46,6 +46,10 @@
"Qidi Q1 Pro 0.2 nozzle",
"Qidi Q1 Pro 0.4 nozzle",
"Qidi Q1 Pro 0.6 nozzle",
- "Qidi Q1 Pro 0.8 nozzle"
+ "Qidi Q1 Pro 0.8 nozzle",
+ "Qidi X-Plus 4 0.2 nozzle",
+ "Qidi X-Plus 4 0.4 nozzle",
+ "Qidi X-Plus 4 0.6 nozzle",
+ "Qidi X-Plus 4 0.8 nozzle"
]
}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/filament/Qidi Generic TPU 95A @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic TPU 95A @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..ab6365036b
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic TPU 95A @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,39 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "filament_max_volumetric_speed": [
+ "4"
+ ],
+ "filament_settings_id": [
+ "Qidi Generic TPU 95A @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "60"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "60"
+ ],
+ "inherits": "Qidi Generic TPU 95A",
+ "is_custom_defined": "0",
+ "name": "Qidi Generic TPU 95A @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "220"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "230"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "pressure_advance": [
+ "0.1"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic TPU 95A.json b/resources/profiles/Qidi/filament/Qidi Generic TPU 95A.json
index b27676fa35..42c608ac6e 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic TPU 95A.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic TPU 95A.json
@@ -46,6 +46,8 @@
"Qidi X-Plus 3 0.8 nozzle",
"Qidi X-Max 3 0.8 nozzle",
"Qidi Q1 Pro 0.4 nozzle",
- "Qidi Q1 Pro 0.6 nozzle"
+ "Qidi Q1 Pro 0.6 nozzle",
+ "Qidi X-Plus 4 0.4 nozzle",
+ "Qidi X-Plus 4 0.6 nozzle"
]
}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic TPU @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/Qidi Generic TPU @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..b650127f8f
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi Generic TPU @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,28 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "filament_max_volumetric_speed": [
+ "4"
+ ],
+ "filament_settings_id": [
+ "Qidi Generic TPU @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "inherits": "Qidi Generic TPU",
+ "is_custom_defined": "0",
+ "name": "Qidi Generic TPU @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "230"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "230"
+ ],
+
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi Generic TPU.json b/resources/profiles/Qidi/filament/Qidi Generic TPU.json
index cba0ef43d2..0b9b7a7ea4 100644
--- a/resources/profiles/Qidi/filament/Qidi Generic TPU.json
+++ b/resources/profiles/Qidi/filament/Qidi Generic TPU.json
@@ -40,6 +40,8 @@
"Qidi X-Plus 3 0.8 nozzle",
"Qidi X-Max 3 0.8 nozzle",
"Qidi Q1 Pro 0.6 nozzle",
- "Qidi Q1 Pro 0.8 nozzle"
+ "Qidi Q1 Pro 0.8 nozzle",
+ "Qidi X-Plus 4 0.6 nozzle",
+ "Qidi X-Plus 4 0.8 nozzle"
]
}
diff --git a/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi Q1 Pro 0.4 nozzle.json b/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi Q1 Pro 0.4 nozzle.json
index 8791c08f3c..7d243caf54 100644
--- a/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi Q1 Pro 0.4 nozzle.json
+++ b/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi Q1 Pro 0.4 nozzle.json
@@ -31,7 +31,7 @@
"250"
],
"pressure_advance": [
- "0.04"
+ "0.042"
],
"slow_down_layer_time": [
"4"
diff --git a/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi Q1 Pro 0.6 nozzle.json b/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi Q1 Pro 0.6 nozzle.json
index b628dda74a..4dae9d5d23 100644
--- a/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi Q1 Pro 0.6 nozzle.json
+++ b/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi Q1 Pro 0.6 nozzle.json
@@ -31,7 +31,7 @@
"250"
],
"pressure_advance": [
- "0.082"
+ "0.028"
],
"slow_down_layer_time": [
"4"
@@ -43,7 +43,7 @@
"8"
],
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
diff --git a/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi Q1 Pro 0.8 nozzle.json b/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi Q1 Pro 0.8 nozzle.json
index 104cc9ee46..59acfaf6b6 100644
--- a/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi Q1 Pro 0.8 nozzle.json
+++ b/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi Q1 Pro 0.8 nozzle.json
@@ -31,7 +31,7 @@
"250"
],
"pressure_advance": [
- "0.04"
+ "0.012"
],
"slow_down_layer_time": [
"4"
@@ -43,7 +43,7 @@
"8"
],
"activate_air_filtration":[
- "0"
+ "1"
],
"during_print_exhaust_fan_speed":[
"0"
diff --git a/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..b19900c0cc
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,51 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_settings_id": [
+ "Qidi PC-ABS-FR @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "inherits": "Qidi PC-ABS-FR",
+ "is_custom_defined": "0",
+ "name": "Qidi PC-ABS-FR @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "250"
+ ],
+ "pressure_advance": [
+ "0.042"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..c896e4bc3a
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,54 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_settings_id": [
+ "Qidi PC-ABS-FR @Qidi X-Plus 4 0.6 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "inherits": "Qidi PC-ABS-FR",
+ "is_custom_defined": "0",
+ "name": "Qidi PC-ABS-FR @Qidi X-Plus 4 0.6 nozzle",
+ "nozzle_temperature": [
+ "250"
+ ],
+ "pressure_advance": [
+ "0.082"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "8"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..64607d39c7
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi PC-ABS-FR @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,54 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "activate_chamber_temp_control": [
+ "0"
+ ],
+ "chamber_temperature": [
+ "55"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_settings_id": [
+ "Qidi PC-ABS-FR @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "inherits": "Qidi PC-ABS-FR",
+ "is_custom_defined": "0",
+ "name": "Qidi PC-ABS-FR @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "250"
+ ],
+ "pressure_advance": [
+ "0.082"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "8"
+ ],
+ "activate_air_filtration":[
+ "1"
+ ],
+ "during_print_exhaust_fan_speed":[
+ "0"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi PC-ABS-FR.json b/resources/profiles/Qidi/filament/Qidi PC-ABS-FR.json
index 42e4515943..52c4f0984d 100644
--- a/resources/profiles/Qidi/filament/Qidi PC-ABS-FR.json
+++ b/resources/profiles/Qidi/filament/Qidi PC-ABS-FR.json
@@ -19,7 +19,7 @@
"0.04"
],
"overhang_fan_speed": [
- "60"
+ "90"
],
"fan_max_speed":[
"40"
@@ -41,6 +41,12 @@
],
"chamber_temperature": [
"55"
+ ],
+ "overhang_fan_threshold": [
+ "75%"
+ ],
+ "slow_down_min_speed": [
+ "20"
],
"compatible_printers": [
"Qidi X-Plus 0.4 nozzle",
diff --git a/resources/profiles/Qidi/filament/Qidi PLA-CF.json b/resources/profiles/Qidi/filament/Qidi PLA-CF.json
index ff6fec8cf2..95e1667841 100644
--- a/resources/profiles/Qidi/filament/Qidi PLA-CF.json
+++ b/resources/profiles/Qidi/filament/Qidi PLA-CF.json
@@ -27,7 +27,15 @@
"pressure_advance": [
"0.02"
],
-
+ "enable_overhang_bridge_fan": [
+ "1"
+ ],
+ "overhang_fan_threshold": [
+ "50%"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
"compatible_printers": [
"Qidi X-Plus 0.4 nozzle",
"Qidi X-Max 0.4 nozzle",
diff --git a/resources/profiles/Qidi/filament/Qidi TPU 95A-HF @Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/filament/Qidi TPU 95A-HF @Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..975753ae9f
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi TPU 95A-HF @Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,33 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "filament_max_volumetric_speed": [
+ "4"
+ ],
+ "filament_settings_id": [
+ "Qidi TPU 95A-HF @Qidi X-Plus 4 0.4 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "60"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "60"
+ ],
+ "inherits": "Qidi TPU 95A-HF",
+ "is_custom_defined": "0",
+ "name": "Qidi TPU 95A-HF @Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_temperature": [
+ "230"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "230"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi TPU 95A-HF @Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/filament/Qidi TPU 95A-HF @Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..9af8e249fa
--- /dev/null
+++ b/resources/profiles/Qidi/filament/Qidi TPU 95A-HF @Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,39 @@
+{"type": "filament",
+"filament_id": "GFB99",
+"setting_id": "GFSA04",
+"instantiation": "true",
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "filament_max_volumetric_speed": [
+ "4"
+ ],
+ "filament_settings_id": [
+ "Qidi TPU 95A-HF @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "from": "system",
+ "hot_plate_temp": [
+ "60"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "60"
+ ],
+ "inherits": "Qidi TPU 95A-HF",
+ "is_custom_defined": "0",
+ "name": "Qidi TPU 95A-HF @Qidi X-Plus 4 0.8 nozzle",
+ "nozzle_temperature": [
+ "230"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "230"
+ ],
+ "enable_pressure_advance": [
+ "1"
+ ],
+ "pressure_advance": [
+ "0.1"
+ ],
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/filament/Qidi TPU 95A-HF.json b/resources/profiles/Qidi/filament/Qidi TPU 95A-HF.json
index c17dcfb87a..6f990a28e0 100644
--- a/resources/profiles/Qidi/filament/Qidi TPU 95A-HF.json
+++ b/resources/profiles/Qidi/filament/Qidi TPU 95A-HF.json
@@ -39,6 +39,7 @@
"Qidi X-Smart 3 0.8 nozzle",
"Qidi X-Plus 3 0.8 nozzle",
"Qidi X-Max 3 0.8 nozzle",
- "Qidi Q1 Pro 0.6 nozzle"
+ "Qidi Q1 Pro 0.6 nozzle",
+ "Qidi X-Plus 4 0.6 nozzle"
]
}
diff --git a/resources/profiles/Qidi/filament/Tinmorry PETG-ECO.json b/resources/profiles/Qidi/filament/Tinmorry PETG-ECO.json
index dfdcd3ee72..eec1840d6e 100644
--- a/resources/profiles/Qidi/filament/Tinmorry PETG-ECO.json
+++ b/resources/profiles/Qidi/filament/Tinmorry PETG-ECO.json
@@ -82,18 +82,23 @@
"Qidi X-Smart 3 0.4 nozzle",
"Qidi X-Plus 3 0.4 nozzle",
"Qidi X-Max 3 0.4 nozzle",
+ "Qidi Q1 Pro 0.4 nozzle",
+ "Qidi X-Plus 4 0.4 nozzle",
"Qidi X-Smart 3 0.2 nozzle",
"Qidi X-Plus 3 0.2 nozzle",
"Qidi X-Max 3 0.2 nozzle",
"Qidi Q1 Pro 0.2 nozzle",
+ "Qidi X-Plus 4 0.2 nozzle",
"Qidi X-Smart 3 0.6 nozzle",
"Qidi X-Plus 3 0.6 nozzle",
"Qidi X-Max 3 0.6 nozzle",
"Qidi Q1 Pro 0.6 nozzle",
+ "Qidi X-Plus 4 0.6 nozzle",
"Qidi X-Smart 3 0.8 nozzle",
"Qidi X-Plus 3 0.8 nozzle",
"Qidi X-Max 3 0.8 nozzle",
"Qidi Q1 Pro 0.8 nozzle",
- "Qidi Q1 Pro 0.4 nozzle"
+ "Qidi X-Plus 4 0.8 nozzle"
+
]
}
diff --git a/resources/profiles/Qidi/filament/fdm_filament_asa.json b/resources/profiles/Qidi/filament/fdm_filament_asa.json
index 9b3c88e032..3930a97b17 100644
--- a/resources/profiles/Qidi/filament/fdm_filament_asa.json
+++ b/resources/profiles/Qidi/filament/fdm_filament_asa.json
@@ -89,7 +89,7 @@
"40"
],
"slow_down_min_speed": [
- "10"
+ "20"
],
"slow_down_layer_time": [
"3"
diff --git a/resources/profiles/Qidi/filament/fdm_filament_common.json b/resources/profiles/Qidi/filament/fdm_filament_common.json
index 4e8cdc5dbe..717c04d5f0 100644
--- a/resources/profiles/Qidi/filament/fdm_filament_common.json
+++ b/resources/profiles/Qidi/filament/fdm_filament_common.json
@@ -150,5 +150,8 @@
"complete_print_exhaust_fan_speed": [
"0"
],
+ "dont_slow_down_outer_wall": [
+ "1"
+ ],
"compatible_printers": []
}
diff --git a/resources/profiles/Qidi/filament/fdm_filament_pa.json b/resources/profiles/Qidi/filament/fdm_filament_pa.json
index 41b32f902f..7967d8d29a 100644
--- a/resources/profiles/Qidi/filament/fdm_filament_pa.json
+++ b/resources/profiles/Qidi/filament/fdm_filament_pa.json
@@ -77,7 +77,7 @@
"260"
],
"nozzle_temperature_range_high": [
- "300"
+ "350"
],
"slow_down_min_speed": [
"10"
diff --git a/resources/profiles/Qidi/filament/fdm_filament_pla.json b/resources/profiles/Qidi/filament/fdm_filament_pla.json
index 165abf66d6..eec890bf34 100644
--- a/resources/profiles/Qidi/filament/fdm_filament_pla.json
+++ b/resources/profiles/Qidi/filament/fdm_filament_pla.json
@@ -5,7 +5,7 @@
"instantiation": "false",
"inherits": "fdm_filament_common",
"fan_cooling_layer_time": [
- "100"
+ "60"
],
"filament_max_volumetric_speed": [
"12"
@@ -62,25 +62,25 @@
"100"
],
"overhang_fan_threshold": [
- "50%"
+ "95%"
],
"close_fan_the_first_x_layers": [
"1"
],
- "full_fan_speed_layer": [
+ "full_fan_speed_layer": [
"3"
],
"nozzle_temperature": [
"220"
],
"temperature_vitrification": [
- "60"
+ "45"
],
"nozzle_temperature_range_low": [
"190"
],
"nozzle_temperature_range_high": [
- "230"
+ "240"
],
"slow_down_min_speed": [
"20"
@@ -90,5 +90,18 @@
],
"additional_cooling_fan_speed": [
"0"
+ ],
+ "dont_slow_down_outer_wall": [
+ "1"
+ ],
+ "enable_overhang_bridge_fan": [
+ "0"
+ ],
+ "filament_z_hop_types": [
+ "Spiral Lift"
+ ],
+ "filament_wipe_distance": [
+ "2"
]
+
}
diff --git a/resources/profiles/Qidi/filament/fdm_filament_tpu.json b/resources/profiles/Qidi/filament/fdm_filament_tpu.json
index e182ee1c3f..846c39990d 100644
--- a/resources/profiles/Qidi/filament/fdm_filament_tpu.json
+++ b/resources/profiles/Qidi/filament/fdm_filament_tpu.json
@@ -23,13 +23,13 @@
"50"
],
"hot_plate_temp_initial_layer" : [
- "50"
+ "60"
],
"textured_plate_temp_initial_layer" : [
"50"
],
"fan_cooling_layer_time": [
- "100"
+ "60"
],
"filament_max_volumetric_speed": [
"15"
@@ -43,9 +43,6 @@
"filament_cost": [
"40"
],
- "filament_retraction_length": [
- "1"
- ],
"nozzle_temperature_initial_layer": [
"230"
],
@@ -65,7 +62,7 @@
"100"
],
"additional_cooling_fan_speed": [
- "70"
+ "0"
],
"close_fan_the_first_x_layers": [
"1"
@@ -74,12 +71,18 @@
"230"
],
"temperature_vitrification": [
- "99"
+ "30"
],
"nozzle_temperature_range_low": [
- "205"
+ "200"
],
"nozzle_temperature_range_high": [
"250"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "enable_overhang_bridge_fan": [
+ "0"
]
}
diff --git a/resources/profiles/Qidi/machine/Qidi Q1 Pro 0.4 nozzle.json b/resources/profiles/Qidi/machine/Qidi Q1 Pro 0.4 nozzle.json
index c67da91f1b..a3e9e9d018 100644
--- a/resources/profiles/Qidi/machine/Qidi Q1 Pro 0.4 nozzle.json
+++ b/resources/profiles/Qidi/machine/Qidi Q1 Pro 0.4 nozzle.json
@@ -21,11 +21,11 @@
"25x245",
"25x240",
"115x240",
- "115x245",
+ "115x245",
"208x245",
"208x240",
- "245x240",
- "245x245",
+ "245x240",
+ "245x245",
"208x245"
],
"printable_height": "240",
@@ -61,6 +61,21 @@
"160x160",
"112x112"
],
+ "machine_max_jerk_e": [
+ "2"
+ ],
+ "machine_max_jerk_x": [
+ "8"
+ ],
+ "machine_max_jerk_y": [
+ "8"
+ ],
+ "machine_max_jerk_z": [
+ "3"
+ ],
+ "extruder_clearance_radius": "70",
+ "extruder_clearance_height_to_rod": "40",
+ "extruder_clearance_height_to_lid": "120",
"layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nLOG_Z\nG92 E0\n",
"machine_end_gcode": "M141 S0\nM104 S0\nM140 S0\nG1 E-3 F1800\nG0 Z{min(max_print_height, max_layer_z + 3)} F600\nG0 X0 Y0 F12000\n{if max_layer_z < max_print_height / 2}G1 Z{max_print_height / 2 + 10} F600{else}G1 Z{min(max_print_height, max_layer_z + 3)}{endif}",
"machine_start_gcode": "PRINT_START BED=[hot_plate_temp_initial_layer] HOTEND=[nozzle_temperature_initial_layer] CHAMBER=[chamber_temperature]\nM83\nM140 S[hot_plate_temp_initial_layer]\nM104 S[nozzle_temperature_initial_layer]\nG4 P3000\nG0 X{max((min(print_bed_max[0], first_layer_print_min[0] + 80) - 85),0)} Y{max((min(print_bed_max[1] - 5, first_layer_print_min[1] + 80) - 85), 0)} Z5 F6000\nG0 Z[initial_layer_print_height] F600\nG1 E3 F1800\nG1 X{(min(print_bed_max[0], first_layer_print_min[0] + 80))} E{85 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 Y{max((min(print_bed_max[1] - 5, first_layer_print_min[1] + 80) - 85), 0) + 2} E{2 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 X{max((min(print_bed_max[0], first_layer_print_min[0] + 80) - 85), 0)} E{85 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 Y{max((min(print_bed_max[1] - 5, first_layer_print_min[1] + 80) - 85), 0) + 85} E{83 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 X{max((min(print_bed_max[0], first_layer_print_min[0] + 80) - 85), 0) + 2} E{2 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 Y{max((min(print_bed_max[1] - 5, first_layer_print_min[1] + 80) - 85), 0) + 3} E{82 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 X{max((min(print_bed_max[0], first_layer_print_min[0] + 80) - 85), 0) + 3} Z0\nG1 X{max((min(print_bed_max[0], first_layer_print_min[0] + 80) - 85), 0) + 6}\nG1 Z1 F600\n",
diff --git a/resources/profiles/Qidi/machine/Qidi X-Max 3 0.4 nozzle.json b/resources/profiles/Qidi/machine/Qidi X-Max 3 0.4 nozzle.json
index 6d15b376e0..b5fa7d947b 100644
--- a/resources/profiles/Qidi/machine/Qidi X-Max 3 0.4 nozzle.json
+++ b/resources/profiles/Qidi/machine/Qidi X-Max 3 0.4 nozzle.json
@@ -39,6 +39,9 @@
"deretraction_speed": [
"0"
],
+ "extruder_clearance_radius": "70",
+ "extruder_clearance_height_to_rod": "30",
+ "extruder_clearance_height_to_lid": "118",
"single_extruder_multi_material": "0",
"change_filament_gcode": "",
"machine_pause_gcode": "M0",
diff --git a/resources/profiles/Qidi/machine/Qidi X-Plus 4 0.2 nozzle.json b/resources/profiles/Qidi/machine/Qidi X-Plus 4 0.2 nozzle.json
new file mode 100644
index 0000000000..3ce6c5d0ef
--- /dev/null
+++ b/resources/profiles/Qidi/machine/Qidi X-Plus 4 0.2 nozzle.json
@@ -0,0 +1,26 @@
+{
+ "type": "machine",
+ "setting_id": "GM008",
+ "name": "Qidi X-Plus 4 0.2 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_diameter": [
+ "0.2"
+ ],
+ "printer_model": "Qidi X-Plus 4",
+ "printer_variant": "0.2",
+ "default_filament_profile": [
+ "Qidi Generic PLA @Qidi X-Plus 4 0.2 nozzle"
+ ],
+ "default_print_profile": "0.10mm Standard @Qidi XPlus4 0.2 nozzle",
+ "max_layer_height": [
+ "0.14"
+ ],
+ "min_layer_height": [
+ "0.04"
+ ],
+ "retraction_length": [
+ "0.4"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/machine/Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/Qidi/machine/Qidi X-Plus 4 0.4 nozzle.json
new file mode 100644
index 0000000000..cc96c53a75
--- /dev/null
+++ b/resources/profiles/Qidi/machine/Qidi X-Plus 4 0.4 nozzle.json
@@ -0,0 +1,96 @@
+{
+ "type": "machine",
+ "setting_id": "GM001",
+ "name": "Qidi X-Plus 4 0.4 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_qidi_x3_common",
+ "printer_model": "Qidi X-Plus 4",
+ "gcode_flavor": "klipper",
+ "default_print_profile": "0.20mm Standard @Qidi XPlus4",
+ "nozzle_diameter": [
+ "0.4"
+ ],
+ "printable_area": [
+ "0x0",
+ "305x0",
+ "305x305",
+ "0x305"
+ ],
+ "bed_exclude_area": [
+ "0x305",
+ "0x300",
+ "50x300",
+ "50x305",
+ "305x305",
+ "305x305",
+ "305x305",
+ "305x10",
+ "293x10",
+ "293x0",
+ "305x0",
+ "305x10",
+ "305x305"
+ ],
+ "printable_height": "280",
+ "nozzle_type": "hardened_steel",
+ "max_layer_height": [
+ "0.28"
+ ],
+ "min_layer_height": [
+ "0.08"
+ ],
+ "printer_settings_id": "Qidi",
+ "retraction_minimum_travel": [
+ "1"
+ ],
+ "retraction_length": [
+ "0.8"
+ ],
+ "retract_length_toolchange": [
+ "2"
+ ],
+ "deretraction_speed": [
+ "0"
+ ],
+ "retract_before_wipe": [
+ "0%"
+ ],
+ "wipe_distance": [
+ "2"],
+ "single_extruder_multi_material": "0",
+ "change_filament_gcode": "",
+ "machine_pause_gcode": "M0",
+ "thumbnails": [
+ "272x272",
+ "96x96"
+ ],
+ "machine_max_jerk_e": [
+ "4"
+ ],
+ "machine_max_jerk_x": [
+ "9"
+ ],
+ "machine_max_jerk_y": [
+ "9"
+ ],
+ "machine_max_jerk_z": [
+ "4"
+ ],
+ "machine_max_acceleration_retracting": [
+ "20000"
+ ],
+ "machine_max_speed_z": [
+ "20"
+ ],
+ "extruder_clearance_radius": "72",
+ "extruder_clearance_height_to_rod": "32",
+ "extruder_clearance_height_to_lid": "135",
+ "layer_change_gcode": "G92 E0\nSET_PRINT_STATS_INFO CURRENT_LAYER={layer_num + 1}",
+ "machine_end_gcode": "M141 S0\nM104 S0\nM140 S0\nG1 E-3 F1800\nG0 Z{min(max_print_height, max_layer_z + 3)} F600\nG0 X0 Y0 F12000\n{if max_layer_z < max_print_height / 2}G1 Z{max_print_height / 2 + 10} F600{else}G1 Z{min(max_print_height, max_layer_z + 3)}{endif}",
+ "machine_start_gcode": "PRINT_START BED=[hot_plate_temp_initial_layer] HOTEND=[nozzle_temperature_initial_layer] CHAMBER=[chamber_temperature]\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\nM83\nM140 S[hot_plate_temp_initial_layer]\nM104 S[nozzle_temperature_initial_layer]\nG4 P3000\nG0 X{max((min(print_bed_max[0] - 12, first_layer_print_min[0] + 80) - 85), 0)} Y{max((min(print_bed_max[1] - 5, first_layer_print_min[1] + 80) - 85), 0)} Z5 F6000\nG0 Z[initial_layer_print_height] F600\nG1 E3 F1800\nG1 X{(min(print_bed_max[0] - 12, first_layer_print_min[0] + 80))} E{85 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 Y{max((min(print_bed_max[1] - 5, first_layer_print_min[1] + 80) - 85), 0) + 2} E{2 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 X{max((min(print_bed_max[0] - 12, first_layer_print_min[0] + 80) - 85), 0)} E{85 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 Y{max((min(print_bed_max[1] - 5, first_layer_print_min[1] + 80) - 85), 0) + 85} E{83 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 X{max((min(print_bed_max[0] - 12, first_layer_print_min[0] + 80) - 85), 0) + 2} E{2 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 Y{max((min(print_bed_max[1] - 5, first_layer_print_min[1] + 80) - 85), 0) + 3} E{82 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 X{max((min(print_bed_max[0] - 12, first_layer_print_min[0] + 80) - 85), 0) + 3} Z0\nG1 X{max((min(print_bed_max[0] - 12, first_layer_print_min[0] + 80) - 85), 0) + 6}\nG1 Z1 F600\nSET_PRINT_STATS_INFO CURRENT_LAYER=1\n",
+ "thumbnails_format": "PNG",
+ "default_filament_profile": [
+ "Qidi Generic PLA @Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/machine/Qidi X-Plus 4 0.6 nozzle.json b/resources/profiles/Qidi/machine/Qidi X-Plus 4 0.6 nozzle.json
new file mode 100644
index 0000000000..49b75fbc4a
--- /dev/null
+++ b/resources/profiles/Qidi/machine/Qidi X-Plus 4 0.6 nozzle.json
@@ -0,0 +1,29 @@
+{
+ "type": "machine",
+ "setting_id": "GM008",
+ "name": "Qidi X-Plus 4 0.6 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_diameter": [
+ "0.6"
+ ],
+ "printer_model": "Qidi X-Plus 4",
+ "printer_variant": "0.6",
+ "default_filament_profile": [
+ "Qidi Generic PLA @Qidi X-Plus 4 0.6 nozzle"
+ ],
+ "default_print_profile": "0.30mm Standard @Qidi XPlus4 0.6 nozzle",
+ "max_layer_height": [
+ "0.42"
+ ],
+ "min_layer_height": [
+ "0.12"
+ ],
+ "retraction_length": [
+ "1.4"
+ ],
+ "retraction_minimum_travel": [
+ "3"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/machine/Qidi X-Plus 4 0.8 nozzle.json b/resources/profiles/Qidi/machine/Qidi X-Plus 4 0.8 nozzle.json
new file mode 100644
index 0000000000..5946d0ce8d
--- /dev/null
+++ b/resources/profiles/Qidi/machine/Qidi X-Plus 4 0.8 nozzle.json
@@ -0,0 +1,29 @@
+{
+ "type": "machine",
+ "setting_id": "GM008",
+ "name": "Qidi X-Plus 4 0.8 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "Qidi X-Plus 4 0.4 nozzle",
+ "nozzle_diameter": [
+ "0.8"
+ ],
+ "printer_model": "Qidi X-Plus 4",
+ "printer_variant": "0.8",
+ "default_filament_profile": [
+ "Qidi Generic PLA @Qidi X-Plus 4 0.8 nozzle"
+ ],
+ "default_print_profile": "0.40mm Standard @Qidi XPlus4 0.8 nozzle",
+ "max_layer_height": [
+ "0.56"
+ ],
+ "min_layer_height": [
+ "0.16"
+ ],
+ "retract_length_toolchange": [
+ "10"
+ ],
+ "retraction_length": [
+ "3"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/machine/Qidi X-Plus 4.json b/resources/profiles/Qidi/machine/Qidi X-Plus 4.json
new file mode 100644
index 0000000000..ea5f3d8ceb
--- /dev/null
+++ b/resources/profiles/Qidi/machine/Qidi X-Plus 4.json
@@ -0,0 +1,12 @@
+{
+ "type": "machine_model",
+ "name": "Qidi X-Plus 4",
+ "model_id": "Qidi-XPlus-4",
+ "nozzle_diameter": "0.4;0.2;0.6;0.8",
+ "machine_tech": "FFF",
+ "family": "Qidi",
+ "bed_model": "qidi_xplus4_buildplate_model.stl",
+ "bed_texture": "qidi_xplus4_buildplate_texture.png",
+ "hotend_model": "qidi_xseries_gen3_hotend.stl",
+ "default_materials": "QIDI PLA Rapido @Qidi X-Plus 4 0.4 nozzle;QIDI PLA Rapido @Qidi X-Plus 4 0.2 nozzle;QIDI PLA Rapido @Qidi X-Plus 4 0.6 nozzle;QIDI PLA Rapido @Qidi X-Plus 4 0.8 nozzle;QIDI ABS Rapido @Qidi X-Plus 4 0.4 nozzle;QIDI ABS Rapido @Qidi X-Plus 4 0.2 nozzle;QIDI ABS Rapido @Qidi X-Plus 4 0.6 nozzle;QIDI ABS Rapido @Qidi X-Plus 4 0.8 nozzle;QIDI PETG Tough @Qidi X-Plus 4 0.4 nozzle;QIDI PETG Tough @Qidi X-Plus 4 0.2 nozzle;QIDI PETG Tough @Qidi X-Plus 4 0.6 nozzle;QIDI PETG Tough @Qidi X-Plus 4 0.8 nozzle;QIDI PLA Rapido Matte @Qidi X-Plus 4 0.4 nozzle;QIDI PLA Rapido Matte @Qidi X-Plus 4 0.2 nozzle;QIDI PLA Rapido Matte @Qidi X-Plus 4 0.6 nozzle;QIDI PLA Rapido Matte @Qidi X-Plus 4 0.8 nozzle;QIDI ASA @Qidi X-Plus 4 0.4 nozzle;QIDI ASA @Qidi X-Plus 4 0.2 nozzle;QIDI ASA @Qidi X-Plus 4 0.6 nozzle;QIDI ASA @Qidi X-Plus 4 0.8 nozzle;Qidi Generic PETG @Qidi X-Plus 4 0.4 nozzle;Qidi Generic PETG @Qidi X-Plus 4 0.2 nozzle;Qidi Generic PETG @Qidi X-Plus 4 0.6 nozzle;Qidi Generic PETG @Qidi X-Plus 4 0.8 nozzle;Qidi Generic PLA Silk @Qidi X-Plus 4 0.4 nozzle;Qidi Generic PLA @Qidi X-Plus 4 0.4 nozzle;Qidi Generic PLA @Qidi X-Plus 4 0.2 nozzle;Qidi Generic PLA @Qidi X-Plus 4 0.6 nozzle;Qidi Generic PLA @Qidi X-Plus 4 0.8 nozzle"
+}
diff --git a/resources/profiles/Qidi/machine/Qidi X-Smart 3 0.4 nozzle.json b/resources/profiles/Qidi/machine/Qidi X-Smart 3 0.4 nozzle.json
index 9be818086f..722663d736 100644
--- a/resources/profiles/Qidi/machine/Qidi X-Smart 3 0.4 nozzle.json
+++ b/resources/profiles/Qidi/machine/Qidi X-Smart 3 0.4 nozzle.json
@@ -40,10 +40,10 @@
"0"
],
"thumbnails": [
- "205x205/COLPIC",
- "140x140/COLPIC",
- "110x110/PNG"
- ],
+ "205x205/COLPIC",
+ "140x140/COLPIC",
+ "110x110/PNG"
+ ],
"single_extruder_multi_material": "0",
"change_filament_gcode": "",
"machine_pause_gcode": "M0",
diff --git a/resources/profiles/Qidi/machine/fdm_machine_common.json b/resources/profiles/Qidi/machine/fdm_machine_common.json
index bdfb8dd658..5012955107 100644
--- a/resources/profiles/Qidi/machine/fdm_machine_common.json
+++ b/resources/profiles/Qidi/machine/fdm_machine_common.json
@@ -110,7 +110,7 @@
"wipe": [
"1"
],
- "z_lift_type": "NormalLift",
+ "z_lift_type": "AutoLift",
"default_print_profile": "",
"before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n",
"machine_start_gcode": "G28\nG0 Z50 F600\nM190 S[first_layer_bed_temperature]\nG28 Z\nG29 ; mesh bed leveling ,comment this code to close it\nG0 X0 Y0 Z50 F6000\nM109 S[first_layer_temperature]\nM83\nG0 Z5 F1200\nG0 X{first_layer_print_min[0]} Y{max(0, first_layer_print_min[1] - 2)} F12000\nG0 Z0.2 F600\nG1 E3 F1800\nG0 Z0.3 F600\nG1 X{min(first_layer_print_min[0] + 30,print_bed_max[0])} E6 F600",
diff --git a/resources/profiles/Qidi/machine/fdm_qidi_common.json b/resources/profiles/Qidi/machine/fdm_qidi_common.json
index 2cf38b4e64..412423dc3c 100644
--- a/resources/profiles/Qidi/machine/fdm_qidi_common.json
+++ b/resources/profiles/Qidi/machine/fdm_qidi_common.json
@@ -135,7 +135,5 @@
"layer_change_gcode": "",
"scan_first_layer": "0",
"nozzle_type": "undefine",
- "auxiliary_fan": "0",
- "z_hop_types": "Normal Lift"
-
+ "auxiliary_fan": "0"
}
diff --git a/resources/profiles/Qidi/process/0.06mm Standard @Qidi XPlus4 0.2 nozzle.json b/resources/profiles/Qidi/process/0.06mm Standard @Qidi XPlus4 0.2 nozzle.json
new file mode 100644
index 0000000000..882fae6900
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.06mm Standard @Qidi XPlus4 0.2 nozzle.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP024",
+ "name": "0.06mm Standard @Qidi XPlus4 0.2 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_QIDI_0.06_nozzle_0.2",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.2 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/process/0.08mm Standard @Qidi XPlus4 0.2 nozzle.json b/resources/profiles/Qidi/process/0.08mm Standard @Qidi XPlus4 0.2 nozzle.json
new file mode 100644
index 0000000000..18e089c23c
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.08mm Standard @Qidi XPlus4 0.2 nozzle.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP025",
+ "name": "0.08mm Standard @Qidi XPlus4 0.2 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_QIDI_0.08_nozzle_0.2",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.2 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/process/0.10mm Standard @Qidi XPlus4 0.2 nozzle.json b/resources/profiles/Qidi/process/0.10mm Standard @Qidi XPlus4 0.2 nozzle.json
new file mode 100644
index 0000000000..63075ed095
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.10mm Standard @Qidi XPlus4 0.2 nozzle.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP007",
+ "name": "0.10mm Standard @Qidi XPlus4 0.2 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_QIDI_0.10_nozzle_0.2",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.2 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus4.json b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus4.json
new file mode 100644
index 0000000000..adaecc56c2
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus4.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.12mm Fine @Qidi XPlus4",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "0.12mm Fine @Qidi X3",
+"compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+]
+}
diff --git a/resources/profiles/Qidi/process/0.12mm Standard @Qidi XPlus4 0.2 nozzle.json b/resources/profiles/Qidi/process/0.12mm Standard @Qidi XPlus4 0.2 nozzle.json
new file mode 100644
index 0000000000..c8cb63c9c1
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.12mm Standard @Qidi XPlus4 0.2 nozzle.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP026",
+ "name": "0.12mm Standard @Qidi XPlus4 0.2 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_QIDI_0.12_nozzle_0.2",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.2 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/process/0.14mm Standard @Qidi XPlus4 0.2 nozzle.json b/resources/profiles/Qidi/process/0.14mm Standard @Qidi XPlus4 0.2 nozzle.json
new file mode 100644
index 0000000000..3ea446cfd9
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.14mm Standard @Qidi XPlus4 0.2 nozzle.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP027",
+ "name": "0.14mm Standard @Qidi XPlus4 0.2 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_QIDI_0.14_nozzle_0.2",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.2 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus4.json b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus4.json
new file mode 100644
index 0000000000..085d72400a
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus4.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.16mm Optimal @Qidi XPlus4",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "0.16mm Optimal @Qidi X3",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/process/0.18mm Standard @Qidi XPlus4 0.6 nozzle.json b/resources/profiles/Qidi/process/0.18mm Standard @Qidi XPlus4 0.6 nozzle.json
new file mode 100644
index 0000000000..774002afef
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.18mm Standard @Qidi XPlus4 0.6 nozzle.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP028",
+ "name": "0.18mm Standard @Qidi XPlus4 0.6 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_QIDI_0.18_nozzle_0.6",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus4.json b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus4.json
new file mode 100644
index 0000000000..ed4e12ea82
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus4.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.20mm Standard @Qidi XPlus4",
+ "from": "system",
+ "inherits": "0.20mm Standard @Qidi X3",
+ "instantiation": "true",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/process/0.24mm Draft @Qidi XPlus4.json b/resources/profiles/Qidi/process/0.24mm Draft @Qidi XPlus4.json
new file mode 100644
index 0000000000..b9125f3924
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.24mm Draft @Qidi XPlus4.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.24mm Draft @Qidi XPlus4",
+ "from": "system",
+ "inherits": "0.24mm Draft @Qidi X3",
+ "instantiation": "true",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/process/0.24mm Standard @Qidi XPlus4 0.6 nozzle.json b/resources/profiles/Qidi/process/0.24mm Standard @Qidi XPlus4 0.6 nozzle.json
new file mode 100644
index 0000000000..4200a71a60
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.24mm Standard @Qidi XPlus4 0.6 nozzle.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP029",
+ "name": "0.24mm Standard @Qidi XPlus4 0.6 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_QIDI_0.24_nozzle_0.6",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/process/0.24mm Standard @Qidi XPlus4 0.8 nozzle.json b/resources/profiles/Qidi/process/0.24mm Standard @Qidi XPlus4 0.8 nozzle.json
new file mode 100644
index 0000000000..a971611354
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.24mm Standard @Qidi XPlus4 0.8 nozzle.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP032",
+ "name": "0.24mm Standard @Qidi XPlus4 0.8 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_QIDI_0.24_nozzle_0.8",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus4.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus4.json
new file mode 100644
index 0000000000..40a2fe9ff0
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus4.json
@@ -0,0 +1,85 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.25mm Draft @Qidi XPlus4",
+ "from": "system",
+ "inherits": "fdm_process_qidi_x3_common",
+ "instantiation": "true",
+ "adaptive_layer_height": "1",
+ "reduce_crossing_wall": "0",
+ "layer_height": "0.25",
+ "max_travel_detour_distance": "0",
+ "bottom_surface_pattern": "monotonic",
+ "bottom_shell_layers": "3",
+ "bottom_shell_thickness": "0",
+ "bridge_flow": "1",
+ "brim_width": "0",
+ "brim_object_gap": "0",
+ "compatible_printers_condition": "",
+ "print_sequence": "by layer",
+ "bridge_no_support": "0",
+ "draft_shield": "disabled",
+ "elefant_foot_compensation": "0.1",
+ "outer_wall_line_width": "0.4",
+ "wall_infill_order": "inner wall/outer wall/infill",
+ "line_width": "0.42",
+ "infill_direction": "45",
+ "sparse_infill_density": "15%",
+ "sparse_infill_pattern": "grid",
+ "initial_layer_line_width": "0.5",
+ "initial_layer_print_height": "0.25",
+ "infill_combination": "0",
+ "sparse_infill_line_width": "0.45",
+ "infill_wall_overlap": "15%",
+ "interface_shells": "0",
+ "ironing_flow": "15%",
+ "ironing_spacing": "0.1",
+ "ironing_type": "no ironing",
+ "reduce_infill_retraction": "1",
+ "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode",
+ "detect_overhang_wall": "1",
+ "inner_wall_line_width": "0.45",
+ "wall_loops": "2",
+ "print_settings_id": "",
+ "raft_layers": "0",
+ "seam_position": "aligned",
+ "skirt_distance": "2",
+ "skirt_height": "1",
+ "skirt_loops": "2",
+ "minimum_sparse_infill_area": "10",
+ "internal_solid_infill_line_width": "0.42",
+ "spiral_mode": "0",
+ "standby_temperature_delta": "-5",
+ "enable_support": "0",
+ "resolution": "0.012",
+ "support_type": "normal(auto)",
+ "support_style": "grid",
+ "support_on_build_plate_only": "0",
+ "support_top_z_distance": "0.25",
+ "support_filament": "0",
+ "support_line_width": "0.42",
+ "support_interface_loop_pattern": "0",
+ "support_interface_filament": "0",
+ "support_interface_top_layers": "3",
+ "support_interface_bottom_layers": "-1",
+ "support_interface_spacing": "0.5",
+ "support_base_pattern": "rectilinear",
+ "support_base_pattern_spacing": "2.5",
+ "support_threshold_angle": "35",
+ "support_object_xy_distance": "50%",
+ "tree_support_branch_angle": "40",
+ "tree_support_wall_count": "0",
+ "detect_thin_wall": "1",
+ "top_surface_pattern": "monotonic",
+ "top_surface_line_width": "0.45",
+ "top_shell_layers": "4",
+ "top_shell_thickness": "0.8",
+ "enable_prime_tower": "0",
+ "wipe_tower_no_sparse_layers": "0",
+ "prime_tower_width": "60",
+ "xy_hole_compensation": "0",
+ "xy_contour_compensation": "0",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/process/0.28mm Extra Draft @Qidi XPlus4.json b/resources/profiles/Qidi/process/0.28mm Extra Draft @Qidi XPlus4.json
new file mode 100644
index 0000000000..8df52d1f8a
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.28mm Extra Draft @Qidi XPlus4.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.28mm Extra Draft @Qidi XPlus4",
+ "from": "system",
+ "inherits": "0.28mm Extra Draft @Qidi X3",
+ "instantiation": "true",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus4.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus4.json
new file mode 100644
index 0000000000..cf62148fce
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus4.json
@@ -0,0 +1,85 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.30mm Extra Draft @Qidi XPlus4",
+ "from": "system",
+ "inherits": "fdm_process_qidi_x3_common",
+ "instantiation": "true",
+ "adaptive_layer_height": "1",
+ "reduce_crossing_wall": "0",
+ "layer_height": "0.3",
+ "max_travel_detour_distance": "0",
+ "bottom_surface_pattern": "monotonic",
+ "bottom_shell_layers": "3",
+ "bottom_shell_thickness": "0",
+ "bridge_flow": "1",
+ "brim_width": "0",
+ "brim_object_gap": "0",
+ "compatible_printers_condition": "",
+ "print_sequence": "by layer",
+ "bridge_no_support": "0",
+ "draft_shield": "disabled",
+ "elefant_foot_compensation": "0.1",
+ "outer_wall_line_width": "0.4",
+ "wall_infill_order": "inner wall/outer wall/infill",
+ "line_width": "0.42",
+ "infill_direction": "45",
+ "sparse_infill_density": "15%",
+ "sparse_infill_pattern": "grid",
+ "initial_layer_line_width": "0.5",
+ "initial_layer_print_height": "0.3",
+ "infill_combination": "0",
+ "sparse_infill_line_width": "0.45",
+ "infill_wall_overlap": "15%",
+ "interface_shells": "0",
+ "ironing_flow": "15%",
+ "ironing_spacing": "0.1",
+ "ironing_type": "no ironing",
+ "reduce_infill_retraction": "1",
+ "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode",
+ "detect_overhang_wall": "1",
+ "inner_wall_line_width": "0.45",
+ "wall_loops": "2",
+ "print_settings_id": "",
+ "raft_layers": "0",
+ "seam_position": "aligned",
+ "skirt_distance": "2",
+ "skirt_height": "1",
+ "skirt_loops": "2",
+ "minimum_sparse_infill_area": "10",
+ "internal_solid_infill_line_width": "0",
+ "spiral_mode": "0",
+ "standby_temperature_delta": "-5",
+ "enable_support": "0",
+ "resolution": "0.012",
+ "support_type": "normal(auto)",
+ "support_style": "grid",
+ "support_on_build_plate_only": "0",
+ "support_top_z_distance": "0.3",
+ "support_filament": "0",
+ "support_line_width": "0.42",
+ "support_interface_loop_pattern": "0",
+ "support_interface_filament": "0",
+ "support_interface_top_layers": "3",
+ "support_interface_bottom_layers": "-1",
+ "support_interface_spacing": "0.5",
+ "support_base_pattern": "rectilinear",
+ "support_base_pattern_spacing": "2.5",
+ "support_threshold_angle": "40",
+ "support_object_xy_distance": "50%",
+ "tree_support_branch_angle": "40",
+ "tree_support_wall_count": "0",
+ "detect_thin_wall": "1",
+ "top_surface_pattern": "monotonic",
+ "top_surface_line_width": "0.45",
+ "top_shell_layers": "4",
+ "top_shell_thickness": "0.8",
+ "enable_prime_tower": "0",
+ "wipe_tower_no_sparse_layers": "0",
+ "prime_tower_width": "60",
+ "xy_hole_compensation": "0",
+ "xy_contour_compensation": "0",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/process/0.30mm Standard @Qidi XPlus4 0.6 nozzle.json b/resources/profiles/Qidi/process/0.30mm Standard @Qidi XPlus4 0.6 nozzle.json
new file mode 100644
index 0000000000..ecc5098039
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.30mm Standard @Qidi XPlus4 0.6 nozzle.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP010",
+ "name": "0.30mm Standard @Qidi XPlus4 0.6 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_QIDI_0.30_nozzle_0.6",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/process/0.32mm Standard @Qidi XPlus4 0.8 nozzle.json b/resources/profiles/Qidi/process/0.32mm Standard @Qidi XPlus4 0.8 nozzle.json
new file mode 100644
index 0000000000..62ccfc0743
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.32mm Standard @Qidi XPlus4 0.8 nozzle.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP033",
+ "name": "0.32mm Standard @Qidi XPlus4 0.8 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_QIDI_0.32_nozzle_0.8",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/process/0.36mm Standard @Qidi XPlus4 0.6 nozzle.json b/resources/profiles/Qidi/process/0.36mm Standard @Qidi XPlus4 0.6 nozzle.json
new file mode 100644
index 0000000000..4709856b5a
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.36mm Standard @Qidi XPlus4 0.6 nozzle.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP030",
+ "name": "0.36mm Standard @Qidi XPlus4 0.6 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_QIDI_0.36_nozzle_0.6",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/process/0.40mm Standard @Qidi XPlus4 0.8 nozzle.json b/resources/profiles/Qidi/process/0.40mm Standard @Qidi XPlus4 0.8 nozzle.json
new file mode 100644
index 0000000000..2f66d1a738
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.40mm Standard @Qidi XPlus4 0.8 nozzle.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP009",
+ "name": "0.40mm Standard @Qidi XPlus4 0.8 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_QIDI_0.40_nozzle_0.8",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/process/0.42mm Standard @Qidi XPlus4 0.6 nozzle.json b/resources/profiles/Qidi/process/0.42mm Standard @Qidi XPlus4 0.6 nozzle.json
new file mode 100644
index 0000000000..729a0f5805
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.42mm Standard @Qidi XPlus4 0.6 nozzle.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP031",
+ "name": "0.42mm Standard @Qidi XPlus4 0.6 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_QIDI_0.42_nozzle_0.6",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.6 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Qidi/process/0.48mm Standard @Qidi XPlus4 0.8 nozzle.json b/resources/profiles/Qidi/process/0.48mm Standard @Qidi XPlus4 0.8 nozzle.json
new file mode 100644
index 0000000000..953125082e
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.48mm Standard @Qidi XPlus4 0.8 nozzle.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP034",
+ "name": "0.48mm Standard @Qidi XPlus4 0.8 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_QIDI_0.48_nozzle_0.8",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/process/0.56mm Standard @Qidi XPlus4 0.8 nozzle.json b/resources/profiles/Qidi/process/0.56mm Standard @Qidi XPlus4 0.8 nozzle.json
new file mode 100644
index 0000000000..5880861076
--- /dev/null
+++ b/resources/profiles/Qidi/process/0.56mm Standard @Qidi XPlus4 0.8 nozzle.json
@@ -0,0 +1,11 @@
+{
+ "type": "process",
+ "setting_id": "GP035",
+ "name": "0.56mm Standard @Qidi XPlus4 0.8 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_QIDI_0.56_nozzle_0.8",
+ "compatible_printers": [
+ "Qidi X-Plus 4 0.8 nozzle"
+ ]
+}
diff --git a/resources/profiles/Qidi/process/fdm_process_qidi_x3_common.json b/resources/profiles/Qidi/process/fdm_process_qidi_x3_common.json
index ad8f202caf..67121750cb 100644
--- a/resources/profiles/Qidi/process/fdm_process_qidi_x3_common.json
+++ b/resources/profiles/Qidi/process/fdm_process_qidi_x3_common.json
@@ -112,7 +112,7 @@
"wall_generator": "classic",
"gcode_label_objects": "0",
"internal_bridge_speed": "50",
- "internal_solid_infill_pattern": "monotonic",
+ "internal_solid_infill_pattern": "zig-zag",
"initial_layer_travel_speed": "50%",
"filter_out_gap_fill": "2",
"notes": "If you want to use Orca's chamber temperature control feature, check that printer.cfg has added the following M191 macro.\nTo add it: go to Fluidd web interface--configuration, copy the following code to the top of the printer.cfg document, SAVE&RESATART \n\n[gcode_macro M191]\ngcode:\n {% set s = params.S|float %}\n {% if s == 0 %}\n # If target temperature is 0, do nothing\n M117 Chamber heating cancelled\n {% else %}\n SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={s}\n # Orca: uncomment the following line if you want to use heat bed to assist chamber heating\n M140 S90\n TEMPERATURE_WAIT SENSOR=\"heater_generic chamber_heater\" MINIMUM={s-1} MAXIMUM={s+1}\n M117 Chamber at target temperature\n {% endif %}",
diff --git a/resources/profiles/Qidi/qidi_xplus4_buildplate_model.stl b/resources/profiles/Qidi/qidi_xplus4_buildplate_model.stl
new file mode 100644
index 0000000000..caf59c8425
Binary files /dev/null and b/resources/profiles/Qidi/qidi_xplus4_buildplate_model.stl differ
diff --git a/resources/profiles/Qidi/qidi_xplus4_buildplate_texture.png b/resources/profiles/Qidi/qidi_xplus4_buildplate_texture.png
new file mode 100644
index 0000000000..900c09310d
Binary files /dev/null and b/resources/profiles/Qidi/qidi_xplus4_buildplate_texture.png differ
diff --git a/resources/profiles/Raise3D.json b/resources/profiles/Raise3D.json
index e5cd056b2e..15a8a7baea 100644
--- a/resources/profiles/Raise3D.json
+++ b/resources/profiles/Raise3D.json
@@ -1,7 +1,7 @@
{
"name": "Raise3D",
"url": "",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Raise3D configurations",
"machine_model_list": [
diff --git a/resources/profiles/Ratrig.json b/resources/profiles/Ratrig.json
index f58b289ce5..3519738f1e 100644
--- a/resources/profiles/Ratrig.json
+++ b/resources/profiles/Ratrig.json
@@ -1,6 +1,6 @@
{
"name": "RatRig",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "RatRig configurations",
"machine_model_list": [
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 300 0.4 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 300 0.4 nozzle.json
index ca065917b4..bee5029db6 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 300 0.4 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 300 0.4 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 300 0.5 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 300 0.5 nozzle.json
index 8f78b122fe..94c11a1bbe 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 300 0.5 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 300 0.5 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 300 0.6 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 300 0.6 nozzle.json
index 1383d316a2..b603367869 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 300 0.6 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 300 0.6 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 400 0.4 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 400 0.4 nozzle.json
index 4b065733f1..f01c8a7c82 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 400 0.4 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 400 0.4 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 400 0.5 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 400 0.5 nozzle.json
index c6c81a73eb..a43e8c82d5 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 400 0.5 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 400 0.5 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 400 0.6 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 400 0.6 nozzle.json
index 2efa2e53cf..b47ecf033b 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 400 0.6 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 400 0.6 nozzle.json
@@ -39,7 +39,7 @@
"retraction_minimum_travel": ["2"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 500 0.4 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 500 0.4 nozzle.json
index e34c326e7f..b1d3c11ff3 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 500 0.4 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 500 0.4 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 500 0.5 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 500 0.5 nozzle.json
index 6bc08fb473..46643c68c8 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 500 0.5 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 500 0.5 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 500 0.6 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 500 0.6 nozzle.json
index 7c27538c58..aef0823eac 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 500 0.6 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 500 0.6 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 300 0.4 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 300 0.4 nozzle.json
index d72a3a5b2d..a568701371 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 300 0.4 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 300 0.4 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 300 0.5 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 300 0.5 nozzle.json
index bf8651e3ff..d4277f7761 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 300 0.5 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 300 0.5 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 300 0.6 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 300 0.6 nozzle.json
index e40e4beaf1..9f5d69299a 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 300 0.6 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 300 0.6 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 400 0.4 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 400 0.4 nozzle.json
index d6e8b028fd..40c56a1db0 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 400 0.4 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 400 0.4 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 400 0.5 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 400 0.5 nozzle.json
index 29d095b567..ca97393502 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 400 0.5 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 400 0.5 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 400 0.6 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 400 0.6 nozzle.json
index 95e1bbf29c..f26750c4f4 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 400 0.6 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 400 0.6 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 500 0.4 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 500 0.4 nozzle.json
index d2ded5365f..08eae27e32 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 500 0.4 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 500 0.4 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 500 0.5 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 500 0.5 nozzle.json
index 83428f708b..58a7ef937e 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 500 0.5 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 500 0.5 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 500 0.6 nozzle.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 500 0.6 nozzle.json
index 38797ef1e2..05c5c9c075 100644
--- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 500 0.6 nozzle.json
+++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 500 0.6 nozzle.json
@@ -38,7 +38,7 @@
"deretraction_speed": ["120"],
"wipe": ["0"],
"retract_before_wipe": ["0%"],
- "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nTOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
+ "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
"before_layer_change_gcode": ";[layer_z]",
"change_filament_gcode": "M600",
diff --git a/resources/profiles/RolohaunDesign.json b/resources/profiles/RolohaunDesign.json
index 9d4ae7caed..39ded5d9d3 100644
--- a/resources/profiles/RolohaunDesign.json
+++ b/resources/profiles/RolohaunDesign.json
@@ -1,6 +1,6 @@
{
"name": "RolohaunDesign",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "RolohaunDesign Printer Profiles",
"machine_model_list": [
diff --git a/resources/profiles/SecKit.json b/resources/profiles/SecKit.json
index 4363125f3d..5bad1f50ab 100644
--- a/resources/profiles/SecKit.json
+++ b/resources/profiles/SecKit.json
@@ -1,6 +1,6 @@
{
"name": "SecKit",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "SecKit configurations",
"machine_model_list": [
diff --git a/resources/profiles/Snapmaker.json b/resources/profiles/Snapmaker.json
index fbe1801b5e..0fd90b48db 100644
--- a/resources/profiles/Snapmaker.json
+++ b/resources/profiles/Snapmaker.json
@@ -1,6 +1,6 @@
{
"name": "Snapmaker",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Snapmaker configurations",
"machine_model_list": [
diff --git a/resources/profiles/Sovol.json b/resources/profiles/Sovol.json
index f8d6dbe79a..a20d039300 100644
--- a/resources/profiles/Sovol.json
+++ b/resources/profiles/Sovol.json
@@ -1,7 +1,7 @@
{
"name": "Sovol",
"url": "",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Sovol configurations",
"machine_model_list": [
diff --git a/resources/profiles/Tronxy.json b/resources/profiles/Tronxy.json
index d9583b5223..84a866fdc1 100644
--- a/resources/profiles/Tronxy.json
+++ b/resources/profiles/Tronxy.json
@@ -1,6 +1,6 @@
{
"name": "Tronxy",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Tronxy configurations",
"machine_model_list": [
diff --git a/resources/profiles/TwoTrees.json b/resources/profiles/TwoTrees.json
index f4e01eb3e6..1d298d0c7d 100644
--- a/resources/profiles/TwoTrees.json
+++ b/resources/profiles/TwoTrees.json
@@ -1,6 +1,6 @@
{
"name": "TwoTrees",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "1",
"description": "TwoTrees configurations",
"machine_model_list": [
diff --git a/resources/profiles/UltiMaker.json b/resources/profiles/UltiMaker.json
index 0515c99951..77cf89c906 100644
--- a/resources/profiles/UltiMaker.json
+++ b/resources/profiles/UltiMaker.json
@@ -1,7 +1,7 @@
{
"name": "UltiMaker",
"url": "",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "UltiMaker configurations",
"machine_model_list": [
diff --git a/resources/profiles/Vivedino.json b/resources/profiles/Vivedino.json
index b83c78bb83..2b8fc227ba 100644
--- a/resources/profiles/Vivedino.json
+++ b/resources/profiles/Vivedino.json
@@ -1,6 +1,6 @@
{
"name": "Vivedino",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Vivedino configurations",
"machine_model_list": [
diff --git a/resources/profiles/Voron.json b/resources/profiles/Voron.json
index f429f136b4..f01dcf518a 100644
--- a/resources/profiles/Voron.json
+++ b/resources/profiles/Voron.json
@@ -1,6 +1,6 @@
{
"name": "Voron",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Voron configurations",
"machine_model_list": [
diff --git a/resources/profiles/Voxelab.json b/resources/profiles/Voxelab.json
index 054dd2cd4a..d840eeed91 100644
--- a/resources/profiles/Voxelab.json
+++ b/resources/profiles/Voxelab.json
@@ -1,7 +1,7 @@
{
"name": "Voxelab",
"url": "",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Voxelab configurations",
"machine_model_list": [
diff --git a/resources/profiles/Vzbot.json b/resources/profiles/Vzbot.json
index e4aa759e24..48b18e6834 100644
--- a/resources/profiles/Vzbot.json
+++ b/resources/profiles/Vzbot.json
@@ -1,6 +1,6 @@
{
"name": "Vzbot",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Vzbot configurations",
"machine_model_list": [
diff --git a/resources/profiles/Wanhao.json b/resources/profiles/Wanhao.json
index ebfe37cfea..f10064f125 100644
--- a/resources/profiles/Wanhao.json
+++ b/resources/profiles/Wanhao.json
@@ -1,6 +1,6 @@
{
"name": "Wanhao",
- "version": "02.02.00.00",
+ "version": "02.02.00.01",
"force_update": "0",
"description": "Wanhao configurations",
"machine_model_list": [
diff --git a/src/libslic3r/Algorithm/LineSplit.cpp b/src/libslic3r/Algorithm/LineSplit.cpp
new file mode 100644
index 0000000000..c532e08349
--- /dev/null
+++ b/src/libslic3r/Algorithm/LineSplit.cpp
@@ -0,0 +1,316 @@
+#include "LineSplit.hpp"
+
+#include "AABBTreeLines.hpp"
+#include "SVG.hpp"
+#include "Utils.hpp"
+
+//#define DEBUG_SPLIT_LINE
+
+namespace Slic3r {
+namespace Algorithm {
+
+#ifdef DEBUG_SPLIT_LINE
+static std::atomic g_dbg_id = 0;
+#endif
+
+// Z for points from clip polygon
+static constexpr auto CLIP_IDX = std::numeric_limits::max();
+
+static void cb_split_line(const ClipperZUtils::ZPoint& e1bot,
+ const ClipperZUtils::ZPoint& e1top,
+ const ClipperZUtils::ZPoint& e2bot,
+ const ClipperZUtils::ZPoint& e2top,
+ ClipperZUtils::ZPoint& pt)
+{
+ coord_t zs[4]{e1bot.z(), e1top.z(), e2bot.z(), e2top.z()};
+ std::sort(zs, zs + 4);
+ pt.z() = -(zs[0] + 1);
+}
+
+static bool is_src(const ClipperZUtils::ZPoint& p) { return p.z() >= 0 && p.z() != CLIP_IDX; }
+static bool is_clip(const ClipperZUtils::ZPoint& p) { return p.z() == CLIP_IDX; }
+static bool is_new(const ClipperZUtils::ZPoint& p) { return p.z() < 0; }
+static size_t to_src_idx(const ClipperZUtils::ZPoint& p)
+{
+ assert(!is_clip(p));
+ if (is_src(p)) {
+ return p.z();
+ } else {
+ return -p.z() - 1;
+ }
+}
+
+static Point to_point(const ClipperZUtils::ZPoint& p) { return {p.x(), p.y()}; }
+
+using SplitNode = std::vector;
+
+// Note: p cannot be one of the line end
+static bool point_on_line(const Point& p, const Line& l)
+{
+ // Check collinear
+ const auto d1 = l.b - l.a;
+ const auto d2 = p - l.a;
+ if (d1.x() * d2.y() != d1.y() * d2.x()) {
+ return false;
+ }
+
+ // Make sure p is in between line.a and line.b
+ if (l.a.x() != l.b.x())
+ return (p.x() > l.a.x()) == (p.x() < l.b.x());
+ else
+ return (p.y() > l.a.y()) == (p.y() < l.b.y());
+}
+
+SplittedLine do_split_line(const ClipperZUtils::ZPath& path, const ExPolygons& clip, bool closed)
+{
+ assert(path.size() > 1);
+#ifdef DEBUG_SPLIT_LINE
+ const auto dbg_path_points = ClipperZUtils::from_zpath(path);
+ BoundingBox dbg_bbox = get_extents(clip);
+ dbg_bbox.merge(get_extents(dbg_path_points));
+ dbg_bbox.offset(scale_(1.));
+ const std::uint32_t dbg_id = g_dbg_id++;
+ {
+ ::Slic3r::SVG svg(debug_out_path("do_split_line_%d_input.svg", dbg_id).c_str(), dbg_bbox);
+ svg.draw(clip, "red", 0.5);
+ svg.draw_outline(clip, "red");
+ svg.draw(Polyline{dbg_path_points});
+ svg.draw(dbg_path_points);
+ svg.Close();
+ }
+#endif
+
+ ClipperZUtils::ZPaths intersections;
+ // Perform an intersection
+ {
+ // Convert clip polygon to closed contours
+ ClipperZUtils::ZPaths clip_path;
+ for (const auto& exp : clip) {
+ clip_path.emplace_back(ClipperZUtils::to_zpath(exp.contour.points, CLIP_IDX));
+ for (const Polygon& hole : exp.holes)
+ clip_path.emplace_back(ClipperZUtils::to_zpath(hole.points, CLIP_IDX));
+ }
+
+ ClipperLib_Z::Clipper zclipper;
+ zclipper.PreserveCollinear(true);
+ zclipper.ZFillFunction(cb_split_line);
+ zclipper.AddPaths(clip_path, ClipperLib_Z::ptClip, true);
+ zclipper.AddPath(path, ClipperLib_Z::ptSubject, false);
+ ClipperLib_Z::PolyTree polytree;
+ zclipper.Execute(ClipperLib_Z::ctIntersection, polytree, ClipperLib_Z::pftNonZero, ClipperLib_Z::pftNonZero);
+ ClipperLib_Z::PolyTreeToPaths(std::move(polytree), intersections);
+ }
+ if (intersections.empty()) {
+ return {};
+ }
+
+#ifdef DEBUG_SPLIT_LINE
+ {
+ int i = 0;
+ for (const auto& segment : intersections) {
+ ::Slic3r::SVG svg(debug_out_path("do_split_line_%d_seg_%d.svg", dbg_id, i).c_str(), dbg_bbox);
+ svg.draw(clip, "red", 0.5);
+ svg.draw_outline(clip, "red");
+ const auto segment_points = ClipperZUtils::from_zpath(segment);
+ svg.draw(Polyline{segment_points});
+ for (const ClipperZUtils::ZPoint& p : segment) {
+ const auto z = p.z();
+ if (is_new(p)) {
+ svg.draw(to_point(p), "yellow");
+ } else if (is_clip(p)) {
+ svg.draw(to_point(p), "red");
+ } else {
+ svg.draw(to_point(p), "black");
+ }
+ }
+ svg.Close();
+ i++;
+ }
+ }
+#endif
+
+ // Connect the intersection back to the remaining loop
+ std::vector split_chain;
+ {
+ // AABBTree over source paths.
+ // Only built if necessary, that is if any of the clipped segment has first point came from clip polygon,
+ // and we need to find out which source edge that point came from.
+ AABBTreeLines::LinesDistancer aabb_tree;
+ const auto resolve_clip_point = [&path, &aabb_tree](ClipperZUtils::ZPoint& zp) {
+ if (!is_clip(zp)) {
+ return;
+ }
+
+ if (aabb_tree.get_lines().empty()) {
+ Lines lines;
+ lines.reserve(path.size() - 1);
+ for (auto it = path.begin() + 1; it != path.end(); ++it) {
+ lines.emplace_back(to_point(it[-1]), to_point(*it));
+ }
+ aabb_tree = AABBTreeLines::LinesDistancer(lines);
+ }
+
+ const Point p = to_point(zp);
+ const auto possible_edges = aabb_tree.all_lines_in_radius(p, SCALED_EPSILON);
+ assert(!possible_edges.empty());
+ for (const size_t l : possible_edges) {
+ // Check if the point is on the line
+ const Line line(to_point(path[l]), to_point(path[l + 1]));
+ if (p == line.a) {
+ zp.z() = path[l].z();
+ break;
+ }
+ if (p == line.b) {
+ zp.z() = path[l + 1].z();
+ break;
+ }
+ if (point_on_line(p, line)) {
+ zp.z() = -(path[l].z() + 1);
+ break;
+ }
+ }
+ if (is_clip(zp)) {
+ // Too bad! Couldn't find the src edge, so we just pick the first one and hope it works
+ zp.z() = -(path[possible_edges[0]].z() + 1);
+ }
+ };
+
+ split_chain.assign(path.size(), {});
+ for (ClipperZUtils::ZPath& segment : intersections) {
+ assert(segment.size() >= 2);
+ // Resolve all clip points
+ std::for_each(segment.begin(), segment.end(), resolve_clip_point);
+
+ // Ensure the point order in segment
+ std::sort(segment.begin(), segment.end(), [&path](const ClipperZUtils::ZPoint& a, const ClipperZUtils::ZPoint& b) -> bool {
+ if (is_new(a) && is_new(b) && a.z() == b.z()) {
+ // Make sure a point is closer to the src point than b
+ const auto src = to_point(path[-a.z() - 1]);
+ return (to_point(a) - src).squaredNorm() < (to_point(b) - src).squaredNorm();
+ }
+ const auto a_idx = to_src_idx(a);
+ const auto b_idx = to_src_idx(b);
+ if (a_idx == b_idx) {
+ // On same line, prefer the src point first
+ return is_src(a);
+ } else {
+ return a_idx < b_idx;
+ }
+ });
+
+ // Chain segment back to the original path
+ ClipperZUtils::ZPoint& front = segment.front();
+ const ClipperZUtils::ZPoint* previous_src_point;
+ if (is_src(front)) {
+ // The segment starts with a point from src path, which means apart from the last point,
+ // all other points on this segment should come from the src path or the clip polygon
+
+ // Connect the segment to the src path
+ auto& node = split_chain[front.z()];
+ node.insert(node.begin(), &segment);
+
+ previous_src_point = &front;
+ } else if (is_new(front)) {
+ const auto id = -front.z() - 1; // Get the src path index
+ const ClipperZUtils::ZPoint& src_p = path[id]; // Get the corresponding src point
+ const auto dist2 = (front - src_p).block<2, 1>(0,0).squaredNorm(); // Distance between the src point and current point
+ // Find the place on the src line that current point should lie on
+ auto& node = split_chain[id];
+ auto it = std::find_if(node.begin(), node.end(), [dist2, &src_p](const ClipperZUtils::ZPath* p) {
+ const ClipperZUtils::ZPoint& p_front = p->front();
+ if (is_src(p_front)) {
+ return false;
+ }
+
+ const auto dist2_2 = (p_front - src_p).block<2, 1>(0, 0).squaredNorm();
+ return dist2_2 > dist2;
+ });
+ // Insert this split
+ node.insert(it, &segment);
+
+ previous_src_point = &src_p;
+ } else {
+ assert(false);
+ }
+
+ // Once we figured out the start point, we can then normalize the remaining points on the segment
+ for (ClipperZUtils::ZPoint& p : segment) {
+ assert(!is_new(p) || p == front || p == segment.back()); // Only the first and last point can be a new intersection
+ if (is_src(p)) {
+ previous_src_point = &p;
+ } else if (is_clip(p)) {
+ // Treat point from clip polygon as new point
+ p.z() = -(previous_src_point->z() + 1);
+ }
+ }
+ }
+ }
+
+ // Now we reconstruct the final path by connecting splits
+ SplittedLine result;
+ size_t idx = 0;
+ while (idx < split_chain.size()) {
+ const ClipperZUtils::ZPoint& p = path[idx];
+ const auto& node = split_chain[idx];
+ if (node.empty()) {
+ result.emplace_back(to_point(p), false, idx);
+ idx++;
+ } else {
+ if (!is_src(node.front()->front())) {
+ const auto& last = result.back();
+ if (result.empty() || last.get_src_index() != to_src_idx(p)) {
+ result.emplace_back(to_point(p), false, idx);
+ }
+ }
+ for (const auto segment : node) {
+ for (const ClipperZUtils::ZPoint& sp : *segment) {
+ assert(!is_clip(sp.z()));
+ result.emplace_back(to_point(sp), true, sp.z());
+ }
+ result.back().clipped = false; // Mark the end of the clipped line
+ }
+
+ // Determine the next start point
+ const auto back = result.back().src_idx;
+ if (back < 0) {
+ auto next_idx = -back - 1;
+ if (next_idx == idx) {
+ next_idx++;
+ } else if (split_chain[next_idx].empty()) {
+ next_idx++;
+ }
+ idx = next_idx;
+ } else {
+ result.pop_back();
+ idx = back;
+ }
+ }
+ }
+
+
+#ifdef DEBUG_SPLIT_LINE
+ {
+ ::Slic3r::SVG svg(debug_out_path("do_split_line_%d_result.svg", dbg_id).c_str(), dbg_bbox);
+ svg.draw(clip, "red", 0.5);
+ svg.draw_outline(clip, "red");
+ for (auto it = result.begin() + 1; it != result.end(); ++it) {
+ const auto& a = *(it - 1);
+ const auto& b = *it;
+ const bool clipped = a.clipped;
+ const Line l(a.p, b.p);
+ svg.draw(l, clipped ? "yellow" : "black");
+ }
+ svg.Close();
+ }
+#endif
+
+ if (closed) {
+ // Remove last point which was duplicated
+ result.pop_back();
+ }
+
+ return result;
+}
+
+} // Algorithm
+} // Slic3r
diff --git a/src/libslic3r/Algorithm/LineSplit.hpp b/src/libslic3r/Algorithm/LineSplit.hpp
new file mode 100644
index 0000000000..102ed62bd9
--- /dev/null
+++ b/src/libslic3r/Algorithm/LineSplit.hpp
@@ -0,0 +1,71 @@
+#ifndef SRC_LIBSLIC3R_ALGORITHM_LINE_SPLIT_HPP_
+#define SRC_LIBSLIC3R_ALGORITHM_LINE_SPLIT_HPP_
+
+#include "clipper2/clipper.core.h"
+#include "ClipperZUtils.hpp"
+
+namespace Slic3r {
+namespace Algorithm {
+
+struct SplitLineJunction
+{
+ Point p;
+
+ // true if the line between this point and the next point is inside the clip polygon (or on the edge of the clip polygon)
+ bool clipped;
+
+ // Index from the original input.
+ // - If this junction is presented in the source polygon/polyline, this is the index of the point with in the source;
+ // - if this point in a new point that caused by the intersection, this will be -(1+index of the first point of the source line involved in this intersection);
+ // - if this junction came from the clip polygon, it will be treated as new point.
+ int64_t src_idx;
+
+ SplitLineJunction(const Point& p, bool clipped, int64_t src_idx)
+ : p(p)
+ , clipped(clipped)
+ , src_idx(src_idx) {}
+
+ bool is_src() const { return src_idx >= 0; }
+ size_t get_src_index() const
+ {
+ if (is_src()) {
+ return src_idx;
+ } else {
+ return -src_idx - 1;
+ }
+ }
+};
+
+using SplittedLine = std::vector;
+
+SplittedLine do_split_line(const ClipperZUtils::ZPath& path, const ExPolygons& clip, bool closed);
+
+// Return the splitted line, or empty if no intersection found
+template
+SplittedLine split_line(const PathType& path, const ExPolygons& clip, bool closed)
+{
+ if (path.empty()) {
+ return {};
+ }
+
+ // Convert the input path into an open ZPath
+ ClipperZUtils::ZPath p;
+ p.reserve(path.size() + closed ? 1 : 0);
+ ClipperLib_Z::cInt z = 0;
+ for (const auto& point : path) {
+ p.emplace_back(point.x(), point.y(), z);
+ z++;
+ }
+ if (closed) {
+ // duplicate the first point at the end to make a closed path open
+ p.emplace_back(p.front());
+ p.back().z() = z;
+ }
+
+ return do_split_line(p, clip, closed);
+}
+
+} // Algorithm
+} // Slic3r
+
+#endif /* SRC_LIBSLIC3R_ALGORITHM_LINE_SPLIT_HPP_ */
diff --git a/src/libslic3r/Arachne/utils/ExtrusionJunction.hpp b/src/libslic3r/Arachne/utils/ExtrusionJunction.hpp
index 146525185f..942f828b3b 100644
--- a/src/libslic3r/Arachne/utils/ExtrusionJunction.hpp
+++ b/src/libslic3r/Arachne/utils/ExtrusionJunction.hpp
@@ -40,6 +40,10 @@ struct ExtrusionJunction
ExtrusionJunction(const Point p, const coord_t w, const coord_t perimeter_index);
bool operator==(const ExtrusionJunction& other) const;
+
+ coord_t x() const { return p.x(); }
+ coord_t y() const { return p.y(); }
+ coord_t z() const { return w; }
};
inline Point operator-(const ExtrusionJunction& a, const ExtrusionJunction& b)
diff --git a/src/libslic3r/Arachne/utils/ExtrusionLine.hpp b/src/libslic3r/Arachne/utils/ExtrusionLine.hpp
index ee783fbeba..8438a4c003 100644
--- a/src/libslic3r/Arachne/utils/ExtrusionLine.hpp
+++ b/src/libslic3r/Arachne/utils/ExtrusionLine.hpp
@@ -194,27 +194,8 @@ struct ExtrusionLine
double area() const;
};
-static inline Slic3r::ThickPolyline to_thick_polyline(const Arachne::ExtrusionLine &line_junctions)
-{
- assert(line_junctions.size() >= 2);
- Slic3r::ThickPolyline out;
- out.points.emplace_back(line_junctions.front().p);
- out.width.emplace_back(line_junctions.front().w);
- out.points.emplace_back(line_junctions[1].p);
- out.width.emplace_back(line_junctions[1].w);
-
- auto it_prev = line_junctions.begin() + 1;
- for (auto it = line_junctions.begin() + 2; it != line_junctions.end(); ++it) {
- out.points.emplace_back(it->p);
- out.width.emplace_back(it_prev->w);
- out.width.emplace_back(it->w);
- it_prev = it;
- }
-
- return out;
-}
-
-static inline Slic3r::ThickPolyline to_thick_polyline(const ClipperLib_Z::Path &path)
+template
+static inline Slic3r::ThickPolyline to_thick_polyline(const PathType &path)
{
assert(path.size() >= 2);
Slic3r::ThickPolyline out;
diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt
index 52b38af4f8..d3c08bacc6 100644
--- a/src/libslic3r/CMakeLists.txt
+++ b/src/libslic3r/CMakeLists.txt
@@ -30,6 +30,8 @@ set(lisbslic3r_sources
AABBTreeLines.hpp
AABBMesh.hpp
AABBMesh.cpp
+ Algorithm/LineSplit.hpp
+ Algorithm/LineSplit.cpp
Algorithm/PathSorting.hpp
Algorithm/RegionExpansion.hpp
Algorithm/RegionExpansion.cpp
diff --git a/src/libslic3r/ClipperUtils.cpp b/src/libslic3r/ClipperUtils.cpp
index dc91e39d10..b9a63e37e7 100644
--- a/src/libslic3r/ClipperUtils.cpp
+++ b/src/libslic3r/ClipperUtils.cpp
@@ -557,6 +557,8 @@ Slic3r::ExPolygons offset_ex(const Slic3r::ExPolygons &expolygons, const float d
{ return PolyTreeToExPolygons(expolygons_offset_pt(expolygons, delta, joinType, miterLimit)); }
Slic3r::ExPolygons offset_ex(const Slic3r::Surfaces &surfaces, const float delta, ClipperLib::JoinType joinType, double miterLimit)
{ return PolyTreeToExPolygons(expolygons_offset_pt(surfaces, delta, joinType, miterLimit)); }
+Slic3r::ExPolygons offset_ex(const Slic3r::SurfacesPtr &surfaces, const float delta, ClipperLib::JoinType joinType, double miterLimit)
+ { return PolyTreeToExPolygons(expolygons_offset_pt(surfaces, delta, joinType, miterLimit)); }
Polygons offset2(const ExPolygons &expolygons, const float delta1, const float delta2, ClipperLib::JoinType joinType, double miterLimit)
{
diff --git a/src/libslic3r/ClipperUtils.hpp b/src/libslic3r/ClipperUtils.hpp
index 49648db679..167449dc21 100644
--- a/src/libslic3r/ClipperUtils.hpp
+++ b/src/libslic3r/ClipperUtils.hpp
@@ -344,6 +344,7 @@ Slic3r::ExPolygons offset_ex(const Slic3r::Polygons &polygons, const float delta
Slic3r::ExPolygons offset_ex(const Slic3r::ExPolygon &expolygon, const float delta, ClipperLib::JoinType joinType = DefaultJoinType, double miterLimit = DefaultMiterLimit);
Slic3r::ExPolygons offset_ex(const Slic3r::ExPolygons &expolygons, const float delta, ClipperLib::JoinType joinType = DefaultJoinType, double miterLimit = DefaultMiterLimit);
Slic3r::ExPolygons offset_ex(const Slic3r::Surfaces &surfaces, const float delta, ClipperLib::JoinType joinType = DefaultJoinType, double miterLimit = DefaultMiterLimit);
+Slic3r::ExPolygons offset_ex(const Slic3r::SurfacesPtr &surfaces, const float delta, ClipperLib::JoinType joinType = DefaultJoinType, double miterLimit = DefaultMiterLimit);
// BBS
inline Slic3r::ExPolygons offset_ex(const Slic3r::Polygon &polygon, const float delta, ClipperLib::JoinType joinType = DefaultJoinType, double miterLimit = DefaultMiterLimit)
{
diff --git a/src/libslic3r/ClipperZUtils.hpp b/src/libslic3r/ClipperZUtils.hpp
index 001a3f2daa..7465bd31a4 100644
--- a/src/libslic3r/ClipperZUtils.hpp
+++ b/src/libslic3r/ClipperZUtils.hpp
@@ -6,6 +6,7 @@
#include
#include
+#include
namespace Slic3r {
diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp
index d1f813bd92..572bbcc55b 100644
--- a/src/libslic3r/GCode.cpp
+++ b/src/libslic3r/GCode.cpp
@@ -602,34 +602,16 @@ static std::vector get_path_of_change_filament(const Print& print)
toolchange_gcode_str = toolchange_retract_str + toolchange_gcode_str;
// BBS
{
+ // BBS: current position and fan_speed is unclear after interting change_filament_gcode
check_add_eol(toolchange_gcode_str);
- // BBS: gcode writer doesn't know fan speed after inserting tool change gcode
toolchange_gcode_str += ";_FORCE_RESUME_FAN_SPEED\n";
-
- // BBS: check whether custom gcode changes the axis positions. Update if changed.
- bool position_changed = false;
- Vec3d new_pos = gcodegen.writer().get_position();
-
- double temp_x_after_toolchange_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(toolchange_gcode_str, 0, temp_x_after_toolchange_gcode)) {
- new_pos(0) = temp_x_after_toolchange_gcode;
- position_changed = true;
- }
-
- double temp_y_after_toolchange_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(toolchange_gcode_str, 1, temp_y_after_toolchange_gcode)) {
- new_pos(1) = temp_y_after_toolchange_gcode;
- position_changed = true;
- }
-
- double temp_z_after_toolchange_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(toolchange_gcode_str, 2, temp_z_after_toolchange_gcode)) {
- new_pos(2) = temp_z_after_toolchange_gcode;
- position_changed = true;
- }
-
- if (position_changed) {
- gcodegen.writer().set_position(new_pos);
+ gcodegen.writer().set_current_position_clear(false);
+ // BBS: check whether custom gcode changes the z position. Update if changed
+ double temp_z_after_tool_change;
+ if (GCodeProcessor::get_last_z_from_gcode(toolchange_gcode_str, temp_z_after_tool_change)) {
+ Vec3d pos = gcodegen.writer().get_position();
+ pos(2) = temp_z_after_tool_change;
+ gcodegen.writer().set_position(pos);
}
}
@@ -1821,6 +1803,8 @@ static BambuBedType to_bambu_bed_type(BedType type)
bambu_bed_type = bbtHighTemperaturePlate;
else if (type == btPTE)
bambu_bed_type = bbtTexturedPEIPlate;
+ else if (type == btPCT)
+ bambu_bed_type = bbtCoolPlate;
return bambu_bed_type;
}
@@ -3396,7 +3380,7 @@ namespace Skirt {
static std::map> make_skirt_loops_per_extruder_1st_layer(
const Print &print,
- const ExtrusionEntityCollection &skirt,
+ const ExtrusionEntityCollection &skirt,
const LayerTools &layer_tools,
// Heights (print_z) at which the skirt has already been extruded.
std::vector &skirt_done)
@@ -3687,37 +3671,17 @@ LayerResult GCode::process_layer(
gcode += this->change_layer(print_z); // this will increase m_layer_index
m_layer = &layer;
m_object_layer_over_raft = false;
- // insert timelapse_gcode when traditional mode is not used (smooth mode)
if(is_BBL_Printer()){
if (printer_structure == PrinterStructure::psI3 && !need_insert_timelapse_gcode_for_traditional && !m_spiral_vase && print.config().print_sequence == PrintSequence::ByLayer) {
-
- std::string timelapse_gcode = insert_timelapse_gcode();
- gcode += timelapse_gcode;
-
- //BBS: check whether custom gcode changes the axis positions. Update if changed.
- bool position_changed = false;
- Vec3d new_pos = m_writer.get_position();
-
- double temp_x_after_timelapse_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(timelapse_gcode, 0, temp_x_after_timelapse_gcode)) {
- new_pos(0) = temp_x_after_timelapse_gcode;
- position_changed = true;
- }
-
- double temp_y_after_timelapse_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(timelapse_gcode, 1, temp_y_after_timelapse_gcode)) {
- new_pos(1) = temp_y_after_timelapse_gcode;
- position_changed = true;
- }
-
- double temp_z_after_timelapse_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(timelapse_gcode, 2, temp_z_after_timelapse_gcode)) {
- new_pos(2) = temp_z_after_timelapse_gcode;
- position_changed = true;
- }
-
- if (position_changed) {
- m_writer.set_position(new_pos);
+ std::string timepals_gcode = insert_timelapse_gcode();
+ gcode += timepals_gcode;
+ m_writer.set_current_position_clear(false);
+ //BBS: check whether custom gcode changes the z position. Update if changed
+ double temp_z_after_timepals_gcode;
+ if (GCodeProcessor::get_last_z_from_gcode(timepals_gcode, temp_z_after_timepals_gcode)) {
+ Vec3d pos = m_writer.get_position();
+ pos(2) = temp_z_after_timepals_gcode;
+ m_writer.set_position(pos);
}
}
} else {
@@ -4065,40 +4029,21 @@ LayerResult GCode::process_layer(
// Extrude the skirt, brim, support, perimeters, infill ordered by the extruders.
for (unsigned int extruder_id : layer_tools.extruders)
{
- // insert timelapse_gcode when wipe tower is enabled and traditional mode is used
if (has_wipe_tower) {
if (!m_wipe_tower->is_empty_wipe_tower_gcode(*this, extruder_id, extruder_id == layer_tools.extruders.back())) {
if (need_insert_timelapse_gcode_for_traditional && !has_insert_timelapse_gcode) {
- gcode += this->retract(false, false, LiftType::SpiralLift);
+ gcode += this->retract(false, false, LiftType::NormalLift);
m_writer.add_object_change_labels(gcode);
- std::string timelapse_gcode = insert_timelapse_gcode();
- gcode += timelapse_gcode;
-
- //BBS: check whether custom gcode changes the axis positions. Update if changed.
- bool position_changed = false;
- Vec3d new_pos = m_writer.get_position();
-
- double temp_x_after_timelapse_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(timelapse_gcode, 0, temp_x_after_timelapse_gcode)) {
- new_pos(0) = temp_x_after_timelapse_gcode;
- position_changed = true;
- }
-
- double temp_y_after_timelapse_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(timelapse_gcode, 1, temp_y_after_timelapse_gcode)) {
- new_pos(1) = temp_y_after_timelapse_gcode;
- position_changed = true;
- }
-
- double temp_z_after_timelapse_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(timelapse_gcode, 2, temp_z_after_timelapse_gcode)) {
- new_pos(2) = temp_z_after_timelapse_gcode;
- position_changed = true;
- }
-
- if (position_changed) {
- m_writer.set_position(new_pos);
+ std::string timepals_gcode = insert_timelapse_gcode();
+ gcode += timepals_gcode;
+ m_writer.set_current_position_clear(false);
+ //BBS: check whether custom gcode changes the z position. Update if changed
+ double temp_z_after_timepals_gcode;
+ if (GCodeProcessor::get_last_z_from_gcode(timepals_gcode, temp_z_after_timepals_gcode)) {
+ Vec3d pos = m_writer.get_position();
+ pos(2) = temp_z_after_timepals_gcode;
+ m_writer.set_position(pos);
}
has_insert_timelapse_gcode = true;
}
@@ -4111,7 +4056,7 @@ LayerResult GCode::process_layer(
// let analyzer tag generator aware of a role type change
if (layer_tools.has_wipe_tower && m_wipe_tower)
m_last_processor_extrusion_role = erWipeTower;
-
+
if (print.config().skirt_type == stCombined && !print.skirt().empty())
gcode += generate_skirt(print, print.skirt(), Point(0,0), layer_tools, layer, extruder_id);
@@ -4209,22 +4154,18 @@ LayerResult GCode::process_layer(
if (m_config.reduce_crossing_wall)
m_avoid_crossing_perimeters.init_layer(*m_layer);
- std::string start_str;
- std::string start_str_a;
- std::string temp_start_str;
if (this->config().gcode_label_objects) {
- start_str_a = std::string("; printing object ") + instance_to_print.print_object.model_object()->name +
+ gcode += std::string("; printing object ") + instance_to_print.print_object.model_object()->name +
" id:" + std::to_string(instance_to_print.print_object.get_id()) + " copy " +
std::to_string(inst.id) + "\n";
}
// exclude objects
if (m_enable_exclude_object) {
if (is_BBL_Printer()) {
- start_str =
+ m_writer.set_object_start_str(
std::string("; start printing object, unique label id: ") +
std::to_string(instance_to_print.label_object_id) + "\n" + "M624 " +
- _encode_label_ids_to_base64({instance_to_print.label_object_id}) + "\n";
- m_writer.set_object_start_str(start_str);
+ _encode_label_ids_to_base64({instance_to_print.label_object_id}) + "\n");
} else {
const auto gflavor = print.config().gcode_flavor.value;
if (gflavor == gcfKlipper) {
@@ -4237,8 +4178,6 @@ LayerResult GCode::process_layer(
}
}
}
- temp_start_str = start_str + start_str_a;
- gcode += start_str_a;
if (m_config.enable_overhang_speed && !m_config.overhang_speed_classic)
m_extrusion_quality_estimator.set_current_object(&instance_to_print.print_object);
@@ -4325,39 +4264,20 @@ LayerResult GCode::process_layer(
};
//BBS: for first layer, we always print wall firstly to get better bed adhesive force
-
- // insert timelapse_gcode when no wipe tower, has infill and not first layer
+ //This behaviour is same with cura
if (is_infill_first && !first_layer) {
if (!has_wipe_tower && need_insert_timelapse_gcode_for_traditional && !has_insert_timelapse_gcode && has_infill(by_region_specific)) {
- gcode += this->retract(false, false, LiftType::SpiralLift);
+ gcode += this->retract(false, false, LiftType::NormalLift);
- std::string timelapse_gcode = insert_timelapse_gcode();
- gcode += timelapse_gcode;
-
- //BBS: check whether custom gcode changes the axis positions. Update if changed.
- bool position_changed = false;
- Vec3d new_pos = m_writer.get_position();
-
- double temp_x_after_timelapse_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(timelapse_gcode, 0, temp_x_after_timelapse_gcode)) {
- new_pos(0) = temp_x_after_timelapse_gcode;
- position_changed = true;
- }
-
- double temp_y_after_timelapse_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(timelapse_gcode, 1, temp_y_after_timelapse_gcode)) {
- new_pos(1) = temp_y_after_timelapse_gcode;
- position_changed = true;
- }
-
- double temp_z_after_timelapse_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(timelapse_gcode, 2, temp_z_after_timelapse_gcode)) {
- new_pos(2) = temp_z_after_timelapse_gcode;
- position_changed = true;
- }
-
- if (position_changed) {
- m_writer.set_position(new_pos);
+ std::string timepals_gcode = insert_timelapse_gcode();
+ gcode += timepals_gcode;
+ m_writer.set_current_position_clear(false);
+ //BBS: check whether custom gcode changes the z position. Update if changed
+ double temp_z_after_timepals_gcode;
+ if (GCodeProcessor::get_last_z_from_gcode(timepals_gcode, temp_z_after_timepals_gcode)) {
+ Vec3d pos = m_writer.get_position();
+ pos(2) = temp_z_after_timepals_gcode;
+ m_writer.set_position(pos);
}
has_insert_timelapse_gcode = true;
@@ -4366,37 +4286,18 @@ LayerResult GCode::process_layer(
gcode += this->extrude_perimeters(print, by_region_specific);
} else {
gcode += this->extrude_perimeters(print, by_region_specific);
-
- // insert timelapse_gcode when no wipe tower, no infill and is first layer
if (!has_wipe_tower && need_insert_timelapse_gcode_for_traditional && !has_insert_timelapse_gcode && has_infill(by_region_specific)) {
- gcode += this->retract(false, false, LiftType::SpiralLift);
- std::string timelapse_gcode = insert_timelapse_gcode();
- gcode += timelapse_gcode;
+ gcode += this->retract(false, false, LiftType::NormalLift);
- //BBS: check whether custom gcode changes the axis positions. Update if changed.
- bool position_changed = false;
- Vec3d new_pos = m_writer.get_position();
-
- double temp_x_after_timelapse_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(timelapse_gcode, 0, temp_x_after_timelapse_gcode)) {
- new_pos(0) = temp_x_after_timelapse_gcode;
- position_changed = true;
- }
-
- double temp_y_after_timelapse_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(timelapse_gcode, 1, temp_y_after_timelapse_gcode)) {
- new_pos(1) = temp_y_after_timelapse_gcode;
- position_changed = true;
- }
-
- double temp_z_after_timelapse_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(timelapse_gcode, 2, temp_z_after_timelapse_gcode)) {
- new_pos(2) = temp_z_after_timelapse_gcode;
- position_changed = true;
- }
-
- if (position_changed) {
- m_writer.set_position(new_pos);
+ std::string timepals_gcode = insert_timelapse_gcode();
+ gcode += timepals_gcode;
+ m_writer.set_current_position_clear(false);
+ //BBS: check whether custom gcode changes the z position. Update if changed
+ double temp_z_after_timepals_gcode;
+ if (GCodeProcessor::get_last_z_from_gcode(timepals_gcode, temp_z_after_timepals_gcode)) {
+ Vec3d pos = m_writer.get_position();
+ pos(2) = temp_z_after_timepals_gcode;
+ m_writer.set_position(pos);
}
has_insert_timelapse_gcode = true;
@@ -4463,41 +4364,22 @@ LayerResult GCode::process_layer(
BOOST_LOG_TRIVIAL(trace) << "Exported layer " << layer.id() << " print_z " << print_z <<
log_memory_info();
- // insert timelapse_gcode when no wipe tower and no infill
if (!has_wipe_tower && need_insert_timelapse_gcode_for_traditional && !has_insert_timelapse_gcode) {
if (m_support_traditional_timelapse)
m_support_traditional_timelapse = false;
- gcode += this->retract(false, false, LiftType::SpiralLift);
+ gcode += this->retract(false, false, LiftType::NormalLift);
m_writer.add_object_change_labels(gcode);
- std::string timelapse_gcode = insert_timelapse_gcode();
- gcode += timelapse_gcode;
-
- //BBS: check whether custom gcode changes the axis positions. Update if changed.
- bool position_changed = false;
- Vec3d new_pos = m_writer.get_position();
-
- double temp_x_after_timelapse_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(timelapse_gcode, 0, temp_x_after_timelapse_gcode)) {
- new_pos(0) = temp_x_after_timelapse_gcode;
- position_changed = true;
- }
-
- double temp_y_after_timelapse_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(timelapse_gcode, 1, temp_y_after_timelapse_gcode)) {
- new_pos(1) = temp_y_after_timelapse_gcode;
- position_changed = true;
- }
-
- double temp_z_after_timelapse_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(timelapse_gcode, 2, temp_z_after_timelapse_gcode)) {
- new_pos(2) = temp_z_after_timelapse_gcode;
- position_changed = true;
- }
-
- if (position_changed) {
- m_writer.set_position(new_pos);
+ std::string timepals_gcode = insert_timelapse_gcode();
+ gcode += timepals_gcode;
+ m_writer.set_current_position_clear(false);
+ //BBS: check whether custom gcode changes the z position. Update if changed
+ double temp_z_after_timepals_gcode;
+ if (GCodeProcessor::get_last_z_from_gcode(timepals_gcode, temp_z_after_timepals_gcode)) {
+ Vec3d pos = m_writer.get_position();
+ pos(2) = temp_z_after_timepals_gcode;
+ m_writer.set_position(pos);
}
}
@@ -6530,33 +6412,16 @@ std::string GCode::set_extruder(unsigned int extruder_id, double print_z, bool b
//BBS
{
- //BBS: gcode writer doesn't know fan speed after inserting tool change gcode
+ //BBS: gcode writer doesn't know where the extruder is and whether fan speed is changed after inserting tool change gcode
+ //Set this flag so that normal lift will be used the first time after tool change.
gcode += ";_FORCE_RESUME_FAN_SPEED\n";
-
- //BBS: check whether custom gcode changes the axis positions. Update if changed.
- bool position_changed = false;
- Vec3d new_pos = m_writer.get_position();
-
- double temp_x_after_toolchange_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(toolchange_gcode_parsed, 0, temp_x_after_toolchange_gcode)) {
- new_pos(0) = temp_x_after_toolchange_gcode;
- position_changed = true;
- }
-
- double temp_y_after_toolchange_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(toolchange_gcode_parsed, 1, temp_y_after_toolchange_gcode)) {
- new_pos(1) = temp_y_after_toolchange_gcode;
- position_changed = true;
- }
-
- double temp_z_after_toolchange_gcode;
- if (GCodeProcessor::get_last_pos_from_gcode(toolchange_gcode_parsed, 2, temp_z_after_toolchange_gcode)) {
- new_pos(2) = temp_z_after_toolchange_gcode;
- position_changed = true;
- }
-
- if (position_changed) {
- m_writer.set_position(new_pos);
+ m_writer.set_current_position_clear(false);
+ //BBS: check whether custom gcode changes the z position. Update if changed
+ double temp_z_after_tool_change;
+ if (GCodeProcessor::get_last_z_from_gcode(toolchange_gcode_parsed, temp_z_after_tool_change)) {
+ Vec3d pos = m_writer.get_position();
+ pos(2) = temp_z_after_tool_change;
+ m_writer.set_position(pos);
}
}
}
@@ -6804,4 +6669,4 @@ void GCode::ObjectByExtruder::Island::Region::append(const Type type, const Extr
// a single object, or for possibly multiple objects with multiple instances.
-} /* slic3r_GCode_cpp_ */
+} // namespace Slic3r
diff --git a/src/libslic3r/GCode/GCodeProcessor.cpp b/src/libslic3r/GCode/GCodeProcessor.cpp
index 28746c6e26..757939637e 100644
--- a/src/libslic3r/GCode/GCodeProcessor.cpp
+++ b/src/libslic3r/GCode/GCodeProcessor.cpp
@@ -2185,14 +2185,13 @@ int GCodeProcessor::get_gcode_last_filament(const std::string& gcode_str)
return out_filament;
}
-//BBS: get last position from gcode for specified axis
-//axis index is the same as Vec3d (X=0, Y=1, Z=2)
-bool GCodeProcessor::get_last_pos_from_gcode(const std::string& gcode_str, int axis, double& pos)
+//BBS: get last z position from gcode
+bool GCodeProcessor::get_last_z_from_gcode(const std::string& gcode_str, double& z)
{
int str_size = gcode_str.size();
int start_index = 0;
int end_index = 0;
- bool is_axis_changed = false;
+ bool is_z_changed = false;
while (end_index < str_size) {
//find a full line
if (gcode_str[end_index] != '\n') {
@@ -2212,32 +2211,24 @@ bool GCodeProcessor::get_last_pos_from_gcode(const std::string& gcode_str, int a
|| line_str.find("G2 ") == 0
|| line_str.find("G3 ") == 0))
{
- std::string axis_str;
- if (axis == 0) {
- axis_str = "X";
- } else if (axis == 1) {
- axis_str = "Y";
- } else if (axis == 2) {
- axis_str = "Z";
- }
- auto axis_pos = line_str.find(" " + axis_str);
- double temp_axis_pos = 0;
- if (axis_pos != line_str.npos
- && axis_pos + 2 < line_str.size()) {
+ auto z_pos = line_str.find(" Z");
+ double temp_z = 0;
+ if (z_pos != line_str.npos
+ && z_pos + 2 < line_str.size()) {
// Try to parse the numeric value.
- std::string axis_substr = line_str.substr(axis_pos + 2);
- char* start_ptr = &axis_substr[0];
- char* end_ptr = start_ptr + sizeof(axis_substr.c_str());
+ std::string z_sub = line_str.substr(z_pos + 2);
+ char* c = &z_sub[0];
+ char* end = c + sizeof(z_sub.c_str());
auto is_end_of_word = [](char c) {
return c == ' ' || c == '\t' || c == '\r' || c == '\n' || c == 0 || c == ';';
};
- auto [parsed_ptr, error_code] = fast_float::from_chars(start_ptr, end_ptr, temp_axis_pos);
- if (parsed_ptr != start_ptr && is_end_of_word(*parsed_ptr)) {
+ auto [pend, ec] = fast_float::from_chars(c, end, temp_z);
+ if (pend != c && is_end_of_word(*pend)) {
// The axis value has been parsed correctly.
- pos = temp_axis_pos;
- is_axis_changed = true;
+ z = temp_z;
+ is_z_changed = true;
}
}
}
@@ -2246,7 +2237,7 @@ bool GCodeProcessor::get_last_pos_from_gcode(const std::string& gcode_str, int a
start_index = end_index + 1;
end_index = start_index;
}
- return is_axis_changed;
+ return is_z_changed;
}
void GCodeProcessor::process_tags(const std::string_view comment, bool producers_enabled)
@@ -5410,4 +5401,4 @@ void GCodeProcessor::update_slice_warnings()
m_result.warnings.shrink_to_fit();
}
-} /* slic3r_GCodeProcessor_cpp_ */
+} /* namespace Slic3r */
diff --git a/src/libslic3r/GCode/GCodeProcessor.hpp b/src/libslic3r/GCode/GCodeProcessor.hpp
index 937108edd3..21403cc205 100644
--- a/src/libslic3r/GCode/GCodeProcessor.hpp
+++ b/src/libslic3r/GCode/GCodeProcessor.hpp
@@ -303,7 +303,7 @@ class Print;
static bool contains_reserved_tags(const std::string& gcode, unsigned int max_count, std::vector& found_tag);
static int get_gcode_last_filament(const std::string &gcode_str);
- static bool get_last_pos_from_gcode(const std::string& gcode_str, int axis, double& pos);
+ static bool get_last_z_from_gcode(const std::string& gcode_str, double& z);
static const float Wipe_Width;
static const float Wipe_Height;
@@ -984,3 +984,5 @@ class Print;
} /* namespace Slic3r */
#endif /* slic3r_GCodeProcessor_hpp_ */
+
+
diff --git a/src/libslic3r/GCode/WipeTower2.cpp b/src/libslic3r/GCode/WipeTower2.cpp
index 521dd9b746..bb8a7d471e 100644
--- a/src/libslic3r/GCode/WipeTower2.cpp
+++ b/src/libslic3r/GCode/WipeTower2.cpp
@@ -893,7 +893,7 @@ void WipeTower2::toolchange_Unload(
float remaining = xr - xl ; // keeps track of distance to the next turnaround
float e_done = 0; // measures E move done from each segment
- const bool do_ramming = m_enable_filament_ramming && (m_semm || m_filpar[m_current_tool].multitool_ramming);
+ const bool do_ramming = m_semm || m_filpar[m_current_tool].multitool_ramming;
const bool cold_ramming = m_is_mk4mmu3;
if (do_ramming) {
@@ -945,7 +945,6 @@ void WipeTower2::toolchange_Unload(
// now the ramming itself:
while (do_ramming && i < m_filpar[m_current_tool].ramming_speed.size())
{
- writer.append("; Ramming\n");
// The time step is different for SEMM ramming and the MM ramming. See comments in set_extruder() for details.
const float time_step = m_semm ? 0.25f : m_filpar[m_current_tool].multitool_ramming_time;
@@ -971,9 +970,12 @@ void WipeTower2::toolchange_Unload(
writer.change_analyzer_line_width(m_perimeter_width); // so the next lines are not affected by ramming_line_width_multiplier
// Retraction:
+ if(m_enable_filament_ramming)
+ writer.append("; Ramming start\n");
+
float old_x = writer.x();
float turning_point = (!m_left_to_right ? xl : xr );
- if (m_semm && (m_cooling_tube_retraction != 0 || m_cooling_tube_length != 0)) {
+ if (m_enable_filament_ramming && m_semm && (m_cooling_tube_retraction != 0 || m_cooling_tube_length != 0)) {
writer.append("; Retract(unload)\n");
float total_retraction_distance = m_cooling_tube_retraction + m_cooling_tube_length/2.f - 15.f; // the 15mm is reserved for the first part after ramming
writer.suppress_preview()
@@ -985,7 +987,7 @@ void WipeTower2::toolchange_Unload(
}
const int& number_of_cooling_moves = m_filpar[m_current_tool].cooling_moves;
- const bool cooling_will_happen = m_semm && number_of_cooling_moves > 0 && m_cooling_tube_length != 0;
+ const bool cooling_will_happen = m_enable_filament_ramming && m_semm && number_of_cooling_moves > 0 && m_cooling_tube_length != 0;
bool change_temp_later = false;
// Wipe tower should only change temperature with single extruder MM. Otherwise, all temperatures should
@@ -1054,7 +1056,7 @@ void WipeTower2::toolchange_Unload(
}
}
- if (m_semm) {
+ if (m_enable_filament_ramming && m_semm) {
writer.append("; Cooling park\n");
// let's wait is necessary:
writer.wait(m_filpar[m_current_tool].delay);
@@ -1064,6 +1066,10 @@ void WipeTower2::toolchange_Unload(
writer.retract(_e, 2000);
}
+ if(m_enable_filament_ramming)
+ writer.append("; Ramming end\n");
+
+
// this is to align ramming and future wiping extrusions, so the future y-steps can be uniform from the start:
// the perimeter_width will later be subtracted, it is there to not load while moving over just extruded material
Vec2f pos = Vec2f(end_of_ramming.x(), end_of_ramming.y() + (y_step/m_extra_spacing_ramming-m_perimeter_width) / 2.f + m_perimeter_width);
diff --git a/src/libslic3r/Layer.cpp b/src/libslic3r/Layer.cpp
index ddb608901f..cb98c6e6b5 100644
--- a/src/libslic3r/Layer.cpp
+++ b/src/libslic3r/Layer.cpp
@@ -182,10 +182,6 @@ void Layer::make_perimeters()
&& config.detect_thin_wall == other_config.detect_thin_wall
&& config.infill_wall_overlap == other_config.infill_wall_overlap
&& config.top_bottom_infill_wall_overlap == other_config.top_bottom_infill_wall_overlap
- && config.fuzzy_skin == other_config.fuzzy_skin
- && config.fuzzy_skin_thickness == other_config.fuzzy_skin_thickness
- && config.fuzzy_skin_point_distance == other_config.fuzzy_skin_point_distance
- && config.fuzzy_skin_first_layer == other_config.fuzzy_skin_first_layer
&& config.seam_slope_type == other_config.seam_slope_type
&& config.seam_slope_conditional == other_config.seam_slope_conditional
&& config.scarf_angle_threshold == other_config.scarf_angle_threshold
@@ -208,7 +204,7 @@ void Layer::make_perimeters()
if (layerms.size() == 1) { // optimization
(*layerm)->fill_surfaces.surfaces.clear();
- (*layerm)->make_perimeters((*layerm)->slices, &(*layerm)->fill_surfaces, &(*layerm)->fill_no_overlap_expolygons);
+ (*layerm)->make_perimeters((*layerm)->slices, {*layerm}, &(*layerm)->fill_surfaces, &(*layerm)->fill_no_overlap_expolygons);
(*layerm)->fill_expolygons = to_expolygons((*layerm)->fill_surfaces.surfaces);
} else {
SurfaceCollection new_slices;
@@ -232,7 +228,7 @@ void Layer::make_perimeters()
SurfaceCollection fill_surfaces;
//BBS
ExPolygons fill_no_overlap;
- layerm_config->make_perimeters(new_slices, &fill_surfaces, &fill_no_overlap);
+ layerm_config->make_perimeters(new_slices, layerms, &fill_surfaces, &fill_no_overlap);
// assign fill_surfaces to each layer
if (!fill_surfaces.surfaces.empty()) {
diff --git a/src/libslic3r/Layer.hpp b/src/libslic3r/Layer.hpp
index 13ae774ff9..a277aca29e 100644
--- a/src/libslic3r/Layer.hpp
+++ b/src/libslic3r/Layer.hpp
@@ -78,7 +78,7 @@ public:
void slices_to_fill_surfaces_clipped();
void prepare_fill_surfaces();
//BBS
- void make_perimeters(const SurfaceCollection &slices, SurfaceCollection* fill_surfaces, ExPolygons* fill_no_overlap);
+ void make_perimeters(const SurfaceCollection &slices, const LayerRegionPtrs &compatible_regions, SurfaceCollection* fill_surfaces, ExPolygons* fill_no_overlap);
void process_external_surfaces(const Layer *lower_layer, const Polygons *lower_layer_covered);
double infill_area_threshold() const;
// Trim surfaces by trimming polygons. Used by the elephant foot compensation at the 1st layer.
diff --git a/src/libslic3r/LayerRegion.cpp b/src/libslic3r/LayerRegion.cpp
index 58cfcea950..ef5d325f56 100644
--- a/src/libslic3r/LayerRegion.cpp
+++ b/src/libslic3r/LayerRegion.cpp
@@ -68,7 +68,7 @@ void LayerRegion::slices_to_fill_surfaces_clipped()
}
}
-void LayerRegion::make_perimeters(const SurfaceCollection &slices, SurfaceCollection* fill_surfaces, ExPolygons* fill_no_overlap)
+void LayerRegion::make_perimeters(const SurfaceCollection &slices, const LayerRegionPtrs &compatible_regions, SurfaceCollection* fill_surfaces, ExPolygons* fill_no_overlap)
{
this->perimeters.clear();
this->thin_fills.clear();
@@ -85,6 +85,7 @@ void LayerRegion::make_perimeters(const SurfaceCollection &slices, SurfaceCollec
PerimeterGenerator g(
// input:
&slices,
+ &compatible_regions,
this->layer()->height,
this->flow(frPerimeter),
®ion_config,
diff --git a/src/libslic3r/PerimeterGenerator.cpp b/src/libslic3r/PerimeterGenerator.cpp
index 498b6e5e43..6cae4756a3 100644
--- a/src/libslic3r/PerimeterGenerator.cpp
+++ b/src/libslic3r/PerimeterGenerator.cpp
@@ -20,6 +20,8 @@
#include
#include
#include "libslic3r/AABBTreeLines.hpp"
+#include "Print.hpp"
+#include "Algorithm/LineSplit.hpp"
static const int overhang_sampling_number = 6;
static const double narrow_loop_length_threshold = 10;
static const double min_degree_gap = 0.1;
@@ -29,6 +31,8 @@ static const int max_overhang_degree = overhang_sampling_number - 1;
//we think it's small detail area and will generate smaller line width for it
static constexpr double SMALLER_EXT_INSET_OVERLAP_TOLERANCE = 0.22;
+//#define DEBUG_FUZZY
+
namespace Slic3r {
// Produces a random value between 0 and 1. Thread-safe.
@@ -51,13 +55,11 @@ public:
bool is_smaller_width_perimeter;
// Depth in the hierarchy. External perimeter has depth = 0. An external perimeter could be both a contour and a hole.
unsigned short depth;
- // Should this contur be fuzzyfied on path generation?
- bool fuzzify;
// Children contour, may be both CCW and CW oriented (outer contours or holes).
std::vector children;
- PerimeterGeneratorLoop(const Polygon &polygon, unsigned short depth, bool is_contour, bool fuzzify, bool is_small_width_perimeter = false) :
- polygon(polygon), is_contour(is_contour), is_smaller_width_perimeter(is_small_width_perimeter), depth(depth), fuzzify(fuzzify) {}
+ PerimeterGeneratorLoop(const Polygon &polygon, unsigned short depth, bool is_contour, bool is_small_width_perimeter = false) :
+ polygon(polygon), is_contour(is_contour), is_smaller_width_perimeter(is_small_width_perimeter), depth(depth) {}
// External perimeter. It may be CCW or CW oriented (outer contour or hole contour).
bool is_external() const { return this->depth == 0; }
// An island, which may have holes, but it does not have another internal island.
@@ -65,23 +67,30 @@ public:
};
// Thanks Cura developers for this function.
-static void fuzzy_polygon(Polygon &poly, double fuzzy_skin_thickness, double fuzzy_skin_point_distance)
+static void fuzzy_polyline(Points& poly, bool closed, const FuzzySkinConfig& cfg)
{
- const double min_dist_between_points = fuzzy_skin_point_distance * 3. / 4.; // hardcoded: the point distance may vary between 3/4 and 5/4 the supplied value
- const double range_random_point_dist = fuzzy_skin_point_distance / 2.;
+ const double min_dist_between_points = cfg.point_distance * 3. / 4.; // hardcoded: the point distance may vary between 3/4 and 5/4 the supplied value
+ const double range_random_point_dist = cfg.point_distance / 2.;
double dist_left_over = random_value() * (min_dist_between_points / 2.); // the distance to be traversed on the line before making the first new point
- Point* p0 = &poly.points.back();
+ Point* p0 = &poly.back();
Points out;
- out.reserve(poly.points.size());
- for (Point &p1 : poly.points)
- { // 'a' is the (next) new point between p0 and p1
+ out.reserve(poly.size());
+ for (Point &p1 : poly)
+ {
+ if (!closed) {
+ // Skip the first point for open path
+ closed = true;
+ p0 = &p1;
+ continue;
+ }
+ // 'a' is the (next) new point between p0 and p1
Vec2d p0p1 = (p1 - *p0).cast();
double p0p1_size = p0p1.norm();
double p0pa_dist = dist_left_over;
for (; p0pa_dist < p0p1_size;
p0pa_dist += min_dist_between_points + random_value() * range_random_point_dist)
{
- double r = random_value() * (fuzzy_skin_thickness * 2.) - fuzzy_skin_thickness;
+ double r = random_value() * (cfg.thickness * 2.) - cfg.thickness;
out.emplace_back(*p0 + (p0p1 * (p0pa_dist / p0p1_size) + perp(p0p1).cast().normalized() * r).cast());
}
dist_left_over = p0pa_dist - p0p1_size;
@@ -95,14 +104,14 @@ static void fuzzy_polygon(Polygon &poly, double fuzzy_skin_thickness, double fuz
-- point_idx;
}
if (out.size() >= 3)
- poly.points = std::move(out);
+ poly = std::move(out);
}
// Thanks Cura developers for this function.
-static void fuzzy_extrusion_line(Arachne::ExtrusionLine& ext_lines, double fuzzy_skin_thickness, double fuzzy_skin_point_dist)
+static void fuzzy_extrusion_line(std::vector& ext_lines, const FuzzySkinConfig& cfg)
{
- const double min_dist_between_points = fuzzy_skin_point_dist * 3. / 4.; // hardcoded: the point distance may vary between 3/4 and 5/4 the supplied value
- const double range_random_point_dist = fuzzy_skin_point_dist / 2.;
+ const double min_dist_between_points = cfg.point_distance * 3. / 4.; // hardcoded: the point distance may vary between 3/4 and 5/4 the supplied value
+ const double range_random_point_dist = cfg.point_distance / 2.;
double dist_left_over = random_value() * (min_dist_between_points / 2.); // the distance to be traversed on the line before making the first new point
auto* p0 = &ext_lines.front();
@@ -119,7 +128,7 @@ static void fuzzy_extrusion_line(Arachne::ExtrusionLine& ext_lines, double fuzzy
double p0p1_size = p0p1.norm();
double p0pa_dist = dist_left_over;
for (; p0pa_dist < p0p1_size; p0pa_dist += min_dist_between_points + random_value() * range_random_point_dist) {
- double r = random_value() * (fuzzy_skin_thickness * 2.) - fuzzy_skin_thickness;
+ double r = random_value() * (cfg.thickness * 2.) - cfg.thickness;
out.emplace_back(p0->p + (p0p1 * (p0pa_dist / p0p1_size) + perp(p0p1).cast().normalized() * r).cast(), p1.w, p1.perimeter_index);
}
dist_left_over = p0pa_dist - p0p1_size;
@@ -138,7 +147,7 @@ static void fuzzy_extrusion_line(Arachne::ExtrusionLine& ext_lines, double fuzzy
out.front().p = out.back().p;
if (out.size() >= 3)
- ext_lines.junctions = std::move(out);
+ ext_lines = std::move(out);
}
using PerimeterGeneratorLoops = std::vector;
@@ -453,6 +462,24 @@ static bool detect_steep_overhang(const PrintRegionConfig *config,
return false;
}
+static bool should_fuzzify(const FuzzySkinConfig& config, const int layer_id, const size_t loop_idx, const bool is_contour)
+{
+ const auto fuzziy_type = config.type;
+
+ if (fuzziy_type == FuzzySkinType::None) {
+ return false;
+ }
+ if (!config.fuzzy_first_layer && layer_id <= 0) {
+ // Do not fuzzy first layer unless told to
+ return false;
+ }
+
+ const bool fuzzify_contours = loop_idx == 0 || fuzziy_type == FuzzySkinType::AllWalls;
+ const bool fuzzify_holes = fuzzify_contours && (fuzziy_type == FuzzySkinType::All || fuzziy_type == FuzzySkinType::AllWalls);
+
+ return is_contour ? fuzzify_contours : fuzzify_holes;
+}
+
static ExtrusionEntityCollection traverse_loops(const PerimeterGenerator &perimeter_generator, const PerimeterGeneratorLoops &loops, ThickPolylines &thin_walls,
bool &steep_overhang_contour, bool &steep_overhang_hole)
{
@@ -480,9 +507,6 @@ static ExtrusionEntityCollection traverse_loops(const PerimeterGenerator &perime
} else {
loop_role = loop.is_contour? elrDefault : elrHole;
}
-
- // detect overhanging/bridging perimeters
- ExtrusionPaths paths;
// BBS: get lower polygons series, width, mm3_per_mm
const std::vector *lower_polygons_series;
@@ -510,24 +534,113 @@ static ExtrusionEntityCollection traverse_loops(const PerimeterGenerator &perime
extrusion_mm3_per_mm = perimeter_generator.mm3_per_mm();
extrusion_width = perimeter_generator.perimeter_flow.width();
}
+ const Polygon& polygon = *([&perimeter_generator, &loop, &fuzzified]() ->const Polygon* {
+ const auto& regions = perimeter_generator.regions_by_fuzzify;
+ if (regions.size() == 1) { // optimization
+ const auto& config = regions.begin()->first;
+ const bool fuzzify = should_fuzzify(config, perimeter_generator.layer_id, loop.depth, loop.is_contour);
+ if (!fuzzify) {
+ return &loop.polygon;
+ }
+ fuzzified = loop.polygon;
+ fuzzy_polyline(fuzzified.points, true, config);
+ return &fuzzified;
+ }
- const Polygon &polygon = loop.fuzzify ? fuzzified : loop.polygon;
- if (loop.fuzzify) {
+ // Find all affective regions
+ std::vector> fuzzified_regions;
+ fuzzified_regions.reserve(regions.size());
+ for (const auto & region : regions) {
+ if (should_fuzzify(region.first, perimeter_generator.layer_id, loop.depth, loop.is_contour)) {
+ fuzzified_regions.emplace_back(region.first, region.second);
+ }
+ }
+ if (fuzzified_regions.empty()) {
+ return &loop.polygon;
+ }
+
+#ifdef DEBUG_FUZZY
+ {
+ int i = 0;
+ for (const auto & r : fuzzified_regions) {
+ BoundingBox bbox = get_extents(perimeter_generator.slices->surfaces);
+ bbox.offset(scale_(1.));
+ ::Slic3r::SVG svg(debug_out_path("fuzzy_traverse_loops_%d_%d_%d_region_%d.svg", perimeter_generator.layer_id, loop.is_contour ? 0 : 1, loop.depth, i).c_str(), bbox);
+ svg.draw_outline(perimeter_generator.slices->surfaces);
+ svg.draw_outline(loop.polygon, "green");
+ svg.draw(r.second, "red", 0.5);
+ svg.draw_outline(r.second, "red");
+ svg.Close();
+ i++;
+ }
+ }
+#endif
+
+ // Split the loops into lines with different config, and fuzzy them separately
fuzzified = loop.polygon;
- fuzzy_polygon(fuzzified, scaled(perimeter_generator.config->fuzzy_skin_thickness.value), scaled(perimeter_generator.config->fuzzy_skin_point_distance.value));
- }
+ for (const auto& r : fuzzified_regions) {
+ const auto splitted = Algorithm::split_line(fuzzified, r.second, true);
+ if (splitted.empty()) {
+ // No intersection, skip
+ continue;
+ }
+
+ // Fuzzy splitted polygon
+ if (std::all_of(splitted.begin(), splitted.end(), [](const Algorithm::SplitLineJunction& j) { return j.clipped; })) {
+ // The entire polygon is fuzzified
+ fuzzy_polyline(fuzzified.points, true, r.first);
+ } else {
+ Points segment;
+ segment.reserve(splitted.size());
+ fuzzified.points.clear();
+
+ const auto fuzzy_current_segment = [&segment, &fuzzified, &r]() {
+ fuzzified.points.push_back(segment.front());
+ const auto back = segment.back();
+ fuzzy_polyline(segment, false, r.first);
+ fuzzified.points.insert(fuzzified.points.end(), segment.begin(), segment.end());
+ fuzzified.points.push_back(back);
+ segment.clear();
+ };
+
+ for (const auto& p : splitted) {
+ if (p.clipped) {
+ segment.push_back(p.p);
+ } else {
+ if (segment.empty()) {
+ fuzzified.points.push_back(p.p);
+ } else {
+ segment.push_back(p.p);
+ fuzzy_current_segment();
+ }
+ }
+ }
+ if (!segment.empty()) {
+ // Close the loop
+ segment.push_back(splitted.front().p);
+ fuzzy_current_segment();
+ }
+ }
+ }
+
+ return &fuzzified;
+ }());
+
+ ExtrusionPaths paths;
if (perimeter_generator.config->detect_overhang_wall && perimeter_generator.layer_id > perimeter_generator.object_config->raft_layers) {
+ // detect overhanging/bridging perimeters
+
// get non 100% overhang paths by intersecting this loop with the grown lower slices
// prepare grown lower layer slices for overhang detection
BoundingBox bbox(polygon.points);
bbox.offset(SCALED_EPSILON);
// Always reverse extrusion if use fuzzy skin: https://github.com/SoftFever/OrcaSlicer/pull/2413#issuecomment-1769735357
- if (overhangs_reverse && perimeter_generator.config->fuzzy_skin != FuzzySkinType::None) {
+ if (overhangs_reverse && perimeter_generator.has_fuzzy_skin) {
if (loop.is_contour) {
steep_overhang_contour = true;
- } else if (perimeter_generator.config->fuzzy_skin != FuzzySkinType::External) {
+ } else if (perimeter_generator.has_fuzzy_hole) {
steep_overhang_hole = true;
}
}
@@ -548,7 +661,7 @@ static ExtrusionEntityCollection traverse_loops(const PerimeterGenerator &perime
remain_polines = diff_pl({polygon}, lower_polygons_series_clipped);
- bool detect_overhang_degree = perimeter_generator.config->overhang_speed_classic && perimeter_generator.config->enable_overhang_speed && perimeter_generator.config->fuzzy_skin == FuzzySkinType::None;
+ bool detect_overhang_degree = perimeter_generator.config->overhang_speed_classic && perimeter_generator.config->enable_overhang_speed && !perimeter_generator.has_fuzzy_skin;
if (!detect_overhang_degree) {
if (!inside_polines.empty())
@@ -762,8 +875,6 @@ struct PerimeterGeneratorArachneExtrusion
Arachne::ExtrusionLine* extrusion = nullptr;
// Indicates if closed ExtrusionLine is a contour or a hole. Used it only when ExtrusionLine is a closed loop.
bool is_contour = false;
- // Should this extrusion be fuzzyfied on path generation?
- bool fuzzify = false;
};
@@ -866,8 +977,77 @@ static ExtrusionEntityCollection traverse_extrusions(const PerimeterGenerator& p
const bool is_external = extrusion->inset_idx == 0;
ExtrusionRole role = is_external ? erExternalPerimeter : erPerimeter;
- if (pg_extrusion.fuzzify)
- fuzzy_extrusion_line(*extrusion, scaled(perimeter_generator.config->fuzzy_skin_thickness.value), scaled(perimeter_generator.config->fuzzy_skin_point_distance.value));
+ const auto& regions = perimeter_generator.regions_by_fuzzify;
+ const bool is_contour = !extrusion->is_closed || pg_extrusion.is_contour;
+ if (regions.size() == 1) { // optimization
+ const auto& config = regions.begin()->first;
+ const bool fuzzify = should_fuzzify(config, perimeter_generator.layer_id, extrusion->inset_idx, is_contour);
+ if (fuzzify)
+ fuzzy_extrusion_line(extrusion->junctions, config);
+ } else {
+ // Find all affective regions
+ std::vector> fuzzified_regions;
+ fuzzified_regions.reserve(regions.size());
+ for (const auto& region : regions) {
+ if (should_fuzzify(region.first, perimeter_generator.layer_id, extrusion->inset_idx, is_contour)) {
+ fuzzified_regions.emplace_back(region.first, region.second);
+ }
+ }
+ if (!fuzzified_regions.empty()) {
+ // Split the loops into lines with different config, and fuzzy them separately
+ for (const auto& r : fuzzified_regions) {
+ const auto splitted = Algorithm::split_line(*extrusion, r.second, false);
+ if (splitted.empty()) {
+ // No intersection, skip
+ continue;
+ }
+
+ // Fuzzy splitted extrusion
+ if (std::all_of(splitted.begin(), splitted.end(), [](const Algorithm::SplitLineJunction& j) { return j.clipped; })) {
+ // The entire polygon is fuzzified
+ fuzzy_extrusion_line(extrusion->junctions, r.first);
+ } else {
+ const auto current_ext = extrusion->junctions;
+ std::vector segment;
+ segment.reserve(current_ext.size());
+ extrusion->junctions.clear();
+
+ const auto fuzzy_current_segment = [&segment, extrusion, &r]() {
+ extrusion->junctions.push_back(segment.front());
+ const auto back = segment.back();
+ fuzzy_extrusion_line(segment, r.first);
+ extrusion->junctions.insert(extrusion->junctions.end(), segment.begin(), segment.end());
+ extrusion->junctions.push_back(back);
+ segment.clear();
+ };
+
+ const auto to_ex_junction = [¤t_ext](const Algorithm::SplitLineJunction& j) -> Arachne::ExtrusionJunction {
+ Arachne::ExtrusionJunction res = current_ext[j.get_src_index()];
+ if (!j.is_src()) {
+ res.p = j.p;
+ }
+ return res;
+ };
+
+ for (const auto& p : splitted) {
+ if (p.clipped) {
+ segment.push_back(to_ex_junction(p));
+ } else {
+ if (segment.empty()) {
+ extrusion->junctions.push_back(to_ex_junction(p));
+ } else {
+ segment.push_back(to_ex_junction(p));
+ fuzzy_current_segment();
+ }
+ }
+ }
+ if (!segment.empty()) {
+ fuzzy_current_segment();
+ }
+ }
+ }
+ }
+ }
ExtrusionPaths paths;
// detect overhanging/bridging perimeters
@@ -904,10 +1084,10 @@ static ExtrusionEntityCollection traverse_extrusions(const PerimeterGenerator& p
is_external ? perimeter_generator.ext_perimeter_flow : perimeter_generator.perimeter_flow);
// Always reverse extrusion if use fuzzy skin: https://github.com/SoftFever/OrcaSlicer/pull/2413#issuecomment-1769735357
- if (overhangs_reverse && perimeter_generator.config->fuzzy_skin != FuzzySkinType::None) {
+ if (overhangs_reverse && perimeter_generator.has_fuzzy_skin) {
if (pg_extrusion.is_contour) {
steep_overhang_contour = true;
- } else if (perimeter_generator.config->fuzzy_skin != FuzzySkinType::External) {
+ } else if (perimeter_generator.has_fuzzy_hole) {
steep_overhang_hole = true;
}
}
@@ -938,7 +1118,7 @@ static ExtrusionEntityCollection traverse_extrusions(const PerimeterGenerator& p
}
}
- if (perimeter_generator.config->overhang_speed_classic && perimeter_generator.config->enable_overhang_speed && perimeter_generator.config->fuzzy_skin == FuzzySkinType::None) {
+ if (perimeter_generator.config->overhang_speed_classic && perimeter_generator.config->enable_overhang_speed && !perimeter_generator.has_fuzzy_skin) {
Flow flow = is_external ? perimeter_generator.ext_perimeter_flow : perimeter_generator.perimeter_flow;
std::map> clipper_serise;
@@ -1031,7 +1211,7 @@ static ExtrusionEntityCollection traverse_extrusions(const PerimeterGenerator& p
chain_and_reorder_extrusion_paths(paths, &start_point);
- if (perimeter_generator.config->enable_overhang_speed && perimeter_generator.config->fuzzy_skin == FuzzySkinType::None) {
+ if (perimeter_generator.config->enable_overhang_speed && !perimeter_generator.has_fuzzy_skin) {
// BBS: filter the speed
smooth_overhang_level(paths);
}
@@ -1099,7 +1279,7 @@ void PerimeterGenerator::split_top_surfaces(const ExPolygons &orig_polygons, ExP
// split the polygons with top/not_top
// get the offset from solid surface anchor
coord_t offset_top_surface =
- scale_(1.5 * (config->wall_loops.value == 0
+ scale_(0.9 * (config->wall_loops.value == 0
? 0.
: unscaled(double(ext_perimeter_width +
perimeter_spacing * int(int(config->wall_loops.value) - int(1))))));
@@ -1642,8 +1822,48 @@ static void reorient_perimeters(ExtrusionEntityCollection &entities, bool steep_
}
}
+static void group_region_by_fuzzify(PerimeterGenerator& g)
+{
+ g.regions_by_fuzzify.clear();
+ g.has_fuzzy_skin = false;
+ g.has_fuzzy_hole = false;
+
+ std::unordered_map regions;
+ for (auto region : *g.compatible_regions) {
+ const auto& region_config = region->region().config();
+ const FuzzySkinConfig cfg{
+ region_config.fuzzy_skin,
+ scaled(region_config.fuzzy_skin_thickness.value),
+ scaled(region_config.fuzzy_skin_point_distance.value),
+ region_config.fuzzy_skin_first_layer
+ };
+ auto& surfaces = regions[cfg];
+ for (const auto& surface : region->slices.surfaces) {
+ surfaces.push_back(&surface);
+ }
+
+ if (cfg.type != FuzzySkinType::None) {
+ g.has_fuzzy_skin = true;
+ if (cfg.type != FuzzySkinType::External) {
+ g.has_fuzzy_hole = true;
+ }
+ }
+ }
+
+ if (regions.size() == 1) { // optimization
+ g.regions_by_fuzzify[regions.begin()->first] = {};
+ return;
+ }
+
+ for (auto& it : regions) {
+ g.regions_by_fuzzify[it.first] = offset_ex(it.second, ClipperSafetyOffset);
+ }
+}
+
void PerimeterGenerator::process_classic()
{
+ group_region_by_fuzzify(*this);
+
// other perimeters
m_mm3_per_mm = this->perimeter_flow.mm3_per_mm();
coord_t perimeter_width = this->perimeter_flow.scaled_width();
@@ -1716,7 +1936,7 @@ void PerimeterGenerator::process_classic()
process_no_bridge(all_surfaces, perimeter_spacing, ext_perimeter_width);
// BBS: don't simplify too much which influence arc fitting when export gcode if arc_fitting is enabled
- double surface_simplify_resolution = (print_config->enable_arc_fitting && this->config->fuzzy_skin == FuzzySkinType::None) ? 0.2 * m_scaled_resolution : m_scaled_resolution;
+ double surface_simplify_resolution = (print_config->enable_arc_fitting && !this->has_fuzzy_skin) ? 0.2 * m_scaled_resolution : m_scaled_resolution;
//BBS: reorder the surface to reduce the travel time
ExPolygons surface_exp;
for (const Surface &surface : all_surfaces)
@@ -1845,32 +2065,29 @@ void PerimeterGenerator::process_classic()
break;
}
{
- const bool fuzzify_layer = (this->config->fuzzy_skin_first_layer || this->layer_id>0) && this->config->fuzzy_skin != FuzzySkinType::None;
- const bool fuzzify_contours = fuzzify_layer && (i == 0 || this->config->fuzzy_skin == FuzzySkinType::AllWalls);
- const bool fuzzify_holes = fuzzify_contours && (this->config->fuzzy_skin == FuzzySkinType::All || this->config->fuzzy_skin == FuzzySkinType::AllWalls);
for (const ExPolygon& expolygon : offsets) {
// Outer contour may overlap with an inner contour,
// inner contour may overlap with another inner contour,
// outer contour may overlap with itself.
//FIXME evaluate the overlaps, annotate each point with an overlap depth,
// compensate for the depth of intersection.
- contours[i].emplace_back(expolygon.contour, i, true, fuzzify_contours);
+ contours[i].emplace_back(expolygon.contour, i, true);
if (!expolygon.holes.empty()) {
holes[i].reserve(holes[i].size() + expolygon.holes.size());
for (const Polygon& hole : expolygon.holes)
- holes[i].emplace_back(hole, i, false, fuzzify_holes);
+ holes[i].emplace_back(hole, i, false);
}
}
//BBS: save perimeter loop which use smaller width
if (i == 0) {
for (const ExPolygon& expolygon : offsets_with_smaller_width) {
- contours[i].emplace_back(PerimeterGeneratorLoop(expolygon.contour, i, true, fuzzify_contours, true));
+ contours[i].emplace_back(PerimeterGeneratorLoop(expolygon.contour, i, true, true));
if (!expolygon.holes.empty()) {
holes[i].reserve(holes[i].size() + expolygon.holes.size());
for (const Polygon& hole : expolygon.holes)
- holes[i].emplace_back(PerimeterGeneratorLoop(hole, i, false, fuzzify_contours, true));
+ holes[i].emplace_back(PerimeterGeneratorLoop(hole, i, false, true));
}
}
}
@@ -2607,6 +2824,8 @@ void bringContoursToFront(std::vector& order
// "A framework for adaptive width control of dense contour-parallel toolpaths in fused deposition modeling"
void PerimeterGenerator::process_arachne()
{
+ group_region_by_fuzzify(*this);
+
// other perimeters
m_mm3_per_mm = this->perimeter_flow.mm3_per_mm();
coord_t perimeter_spacing = this->perimeter_flow.scaled_spacing();
@@ -2635,7 +2854,7 @@ void PerimeterGenerator::process_arachne()
process_no_bridge(all_surfaces, perimeter_spacing, ext_perimeter_width);
// BBS: don't simplify too much which influence arc fitting when export gcode if arc_fitting is enabled
- double surface_simplify_resolution = (print_config->enable_arc_fitting && this->config->fuzzy_skin == FuzzySkinType::None) ? 0.2 * m_scaled_resolution : m_scaled_resolution;
+ double surface_simplify_resolution = (print_config->enable_arc_fitting && !this->has_fuzzy_skin) ? 0.2 * m_scaled_resolution : m_scaled_resolution;
// we need to process each island separately because we might have different
// extra perimeters for each one
for (const Surface& surface : all_surfaces) {
@@ -2670,77 +2889,89 @@ void PerimeterGenerator::process_arachne()
if (apply_precise_outer_wall)
wall_0_inset = -coord_t(ext_perimeter_width / 2 - ext_perimeter_spacing / 2);
- std::vector out_shell;
- ExPolygons top_fills;
- ExPolygons fill_clip;
+ //PS: One wall top surface for Arachne
+ ExPolygons top_expolygons;
+ // Calculate how many inner loops remain when TopSurfaces is selected.
+ const int inner_loop_number = (config->only_one_wall_top && upper_slices != nullptr) ? loop_number - 1 : -1;
- // Check if we're on a top surface, and make adjustments where needed
- if (!surface.is_bridge() && !is_topmost_layer) {
- ExPolygons non_top_polygons;
- // Temporary storage, in the event all we need to do is set is_top_or_bottom_layer
- ExPolygons top_fills_tmp;
- ExPolygons fill_clip_tmp;
- // Check if current layer has surfaces that are not covered by upper layer (i.e., top surfaces)
- this->split_top_surfaces(last, top_fills_tmp, non_top_polygons, fill_clip_tmp);
-
- if (top_fills_tmp.empty()) {
- // No top surfaces, no special handling needed
- } else {
- // Use single-wall on top-surfaces if configured
- if (loop_number > 0 && config->only_one_wall_top) {
- // Adjust arachne input params to prevent removal of larger short walls, which could lead to gaps
- Arachne::WallToolPathsParams input_params_tmp = input_params;
- input_params_tmp.is_top_or_bottom_layer = true;
-
- // Swap in the temporary storage
- top_fills.swap(top_fills_tmp);
- fill_clip.swap(fill_clip_tmp);
-
- // First we slice the outer shell
- Polygons last_p = to_polygons(last);
- Arachne::WallToolPaths wallToolPaths(last_p, bead_width_0, perimeter_spacing, coord_t(1),
- wall_0_inset, layer_height, input_params_tmp);
- out_shell = wallToolPaths.getToolPaths();
- // Make sure infill not overlap with wall
- top_fills = intersection_ex(top_fills, wallToolPaths.getInnerContour());
-
- if (!top_fills.empty()) {
- // Then get the inner part that needs more walls
- last = intersection_ex(non_top_polygons, wallToolPaths.getInnerContour());
- loop_number--;
- } else {
- // Give up the outer shell because we don't have any meaningful top surface
- out_shell.clear();
- }
- }
- }
- }
-
- Polygons last_p = to_polygons(last);
+ // Set one perimeter when TopSurfaces is selected.
+ if (config->only_one_wall_top)
+ loop_number = 0;
+ Arachne::WallToolPathsParams input_params_tmp = input_params;
+
+ Polygons last_p = to_polygons(last);
Arachne::WallToolPaths wallToolPaths(last_p, bead_width_0, perimeter_spacing, coord_t(loop_number + 1),
- wall_0_inset, layer_height, input_params);
+ wall_0_inset, layer_height, input_params_tmp);
+ std::vector perimeters = wallToolPaths.getToolPaths();
+ ExPolygons infill_contour = union_ex(wallToolPaths.getInnerContour());
- std::vector perimeters = wallToolPaths.getToolPaths();
+ // Check if there are some remaining perimeters to generate (the number of perimeters
+ // is greater than one together with enabled the single perimeter on top surface feature).
+ if (inner_loop_number >= 0) {
+ assert(upper_slices != nullptr);
- if (!out_shell.empty()) {
- // Combine outer shells
- size_t inset_offset = 0;
- for (auto &p : out_shell) {
- for (auto &l : p) {
- if (l.inset_idx + 1 > inset_offset) {
- inset_offset = l.inset_idx + 1;
+ // Infill contour bounding box.
+ BoundingBox infill_contour_bbox = get_extents(infill_contour);
+ infill_contour_bbox.offset(SCALED_EPSILON);
+
+ coord_t perimeter_width = this->perimeter_flow.scaled_width();
+
+ // Get top ExPolygons from current infill contour.
+ Polygons upper_slices_clipped = ClipperUtils::clip_clipper_polygons_with_subject_bbox(*upper_slices, infill_contour_bbox);
+ top_expolygons = diff_ex(infill_contour, upper_slices_clipped);
+
+ if (!top_expolygons.empty()) {
+ if (lower_slices != nullptr) {
+ const float bridge_offset = float(std::max(ext_perimeter_spacing, perimeter_width));
+ const Polygons lower_slices_clipped = ClipperUtils::clip_clipper_polygons_with_subject_bbox(*lower_slices, infill_contour_bbox);
+ const ExPolygons current_slices_bridges = offset_ex(diff_ex(top_expolygons, lower_slices_clipped), bridge_offset);
+
+ // Remove bridges from top surface polygons.
+ top_expolygons = diff_ex(top_expolygons, current_slices_bridges);
+ }
+
+ // Filter out areas that are too thin and expand top surface polygons a bit to hide the wall line.
+ // ORCA: skip if the top surface area is smaller than "min_width_top_surface"
+ const float top_surface_min_width = std::max(float(ext_perimeter_spacing) / 4.f + scaled(0.00001), float(scale_(config->min_width_top_surface.get_abs_value(unscale_(perimeter_width)))) / 4.f);
+ // Shrink the polygon to remove the small areas, then expand it back out plus a maragin to hide the wall line a little.
+ // ORCA: Expand the polygon with half the perimeter width in addition to the contracted amount,
+ // not the full perimeter width as PS does, to enable thin lettering to print on the top surface without nozzle collisions
+ // due to thin lines being generated
+ top_expolygons = offset2_ex(top_expolygons, -top_surface_min_width, top_surface_min_width + float(perimeter_width * 0.85));
+
+ // Get the not-top ExPolygons (including bridges) from current slices and expanded real top ExPolygons (without bridges).
+ const ExPolygons not_top_expolygons = diff_ex(infill_contour, top_expolygons);
+
+ // Get final top ExPolygons.
+ top_expolygons = intersection_ex(top_expolygons, infill_contour);
+
+ const Polygons not_top_polygons = to_polygons(not_top_expolygons);
+ Arachne::WallToolPaths inner_wall_tool_paths(not_top_polygons, perimeter_spacing, perimeter_spacing, coord_t(inner_loop_number + 1), 0, layer_height, input_params_tmp);
+ std::vector inner_perimeters = inner_wall_tool_paths.getToolPaths();
+
+ // Recalculate indexes of inner perimeters before merging them.
+ if (!perimeters.empty()) {
+ for (Arachne::VariableWidthLines &inner_perimeter : inner_perimeters) {
+ if (inner_perimeter.empty())
+ continue;
+ for (Arachne::ExtrusionLine &el : inner_perimeter)
+ ++el.inset_idx;
}
}
- }
- for (auto &p : perimeters) {
- for (auto &l : p) {
- l.inset_idx += inset_offset;
- }
- }
- perimeters.insert(perimeters.begin(), out_shell.begin(), out_shell.end());
+ perimeters.insert(perimeters.end(), inner_perimeters.begin(), inner_perimeters.end());
+ infill_contour = union_ex(top_expolygons, inner_wall_tool_paths.getInnerContour());
+ } else {
+ // There is no top surface ExPolygon, so we call Arachne again with parameters
+ // like when the single perimeter feature is disabled.
+ Arachne::WallToolPaths no_single_perimeter_tool_paths(last_p, bead_width_0, perimeter_spacing, coord_t(inner_loop_number + 2), wall_0_inset, layer_height, input_params_tmp);
+ perimeters = no_single_perimeter_tool_paths.getToolPaths();
+ infill_contour = union_ex(no_single_perimeter_tool_paths.getInnerContour());
+ }
}
+ //PS
+
loop_number = int(perimeters.size()) - 1;
#ifdef ARACHNE_DEBUG
@@ -2845,7 +3076,7 @@ void PerimeterGenerator::process_arachne()
}
auto& best_path = all_extrusions[best_candidate];
- ordered_extrusions.push_back({ best_path, best_path->is_contour(), false });
+ ordered_extrusions.push_back({ best_path, best_path->is_contour() });
processed[best_candidate] = true;
for (size_t unlocked_idx : blocking[best_candidate])
blocked[unlocked_idx]--;
@@ -2857,21 +3088,6 @@ void PerimeterGenerator::process_arachne()
current_position = best_path->junctions.back().p; //Pick the other end from where we started.
}
}
- const bool fuzzify_layer = (this->config->fuzzy_skin_first_layer || this->layer_id>0) && this->config->fuzzy_skin != FuzzySkinType::None;
- if (fuzzify_layer) {
- for (PerimeterGeneratorArachneExtrusion& extrusion : ordered_extrusions) {
- if (this->config->fuzzy_skin == FuzzySkinType::AllWalls) {
- extrusion.fuzzify = true;
- } else if (extrusion.extrusion->inset_idx == 0) {
- if (extrusion.extrusion->is_closed && this->config->fuzzy_skin == FuzzySkinType::External) {
- extrusion.fuzzify = extrusion.is_contour;
- }
- else {
- extrusion.fuzzify = true;
- }
- }
- }
- }
// printf("New Layer: Layer ID %d\n",layer_id); //debug - new layer
if (this->config->wall_sequence == WallSequence::InnerOuterInner && layer_id > 0) { // only enable inner outer inner algorithm after first layer
@@ -2979,7 +3195,6 @@ void PerimeterGenerator::process_arachne()
this->loops->append(extrusion_coll);
}
-ExPolygons infill_contour = union_ex(wallToolPaths.getInnerContour());
const coord_t spacing = (perimeters.size() == 1) ? ext_perimeter_spacing2 : perimeter_spacing;
if (offset_ex(infill_contour, -float(spacing / 2.)).empty())
@@ -3017,8 +3232,8 @@ ExPolygons infill_contour = union_ex(wallToolPaths.getInnerContour());
float(-min_perimeter_infill_spacing / 2.),
float(inset + min_perimeter_infill_spacing / 2.));
// append infill areas to fill_surfaces
- if (!top_fills.empty()) {
- infill_exp = union_ex(infill_exp, offset_ex(top_fills, double(top_inset)));
+ if (!top_expolygons.empty()) {
+ infill_exp = union_ex(infill_exp, offset_ex(top_expolygons, double(top_inset)));
}
this->fill_surfaces->append(infill_exp, stInternal);
@@ -3031,8 +3246,8 @@ ExPolygons infill_contour = union_ex(wallToolPaths.getInnerContour());
not_filled_exp,
float(-min_perimeter_infill_spacing / 2.),
float(+min_perimeter_infill_spacing / 2.));
- if (!top_fills.empty())
- polyWithoutOverlap = union_ex(polyWithoutOverlap, top_fills);
+ if (!top_expolygons.empty())
+ polyWithoutOverlap = union_ex(polyWithoutOverlap, top_expolygons);
this->fill_no_overlap->insert(this->fill_no_overlap->end(), polyWithoutOverlap.begin(), polyWithoutOverlap.end());
}
}
diff --git a/src/libslic3r/PerimeterGenerator.hpp b/src/libslic3r/PerimeterGenerator.hpp
index c50f3b7faa..733920e310 100644
--- a/src/libslic3r/PerimeterGenerator.hpp
+++ b/src/libslic3r/PerimeterGenerator.hpp
@@ -3,17 +3,50 @@
#include "libslic3r.h"
#include
+#include "Layer.hpp"
#include "Flow.hpp"
#include "Polygon.hpp"
#include "PrintConfig.hpp"
#include "SurfaceCollection.hpp"
+namespace Slic3r {
+struct FuzzySkinConfig
+{
+ FuzzySkinType type;
+ coord_t thickness;
+ coord_t point_distance;
+ bool fuzzy_first_layer;
+
+ bool operator==(const FuzzySkinConfig& r) const
+ {
+ return type == r.type && thickness == r.thickness && point_distance == r.point_distance && fuzzy_first_layer == r.fuzzy_first_layer;
+ }
+
+ bool operator!=(const FuzzySkinConfig& r) const { return !(*this == r); }
+};
+}
+
+namespace std {
+template<> struct hash
+{
+ size_t operator()(const Slic3r::FuzzySkinConfig& c) const noexcept
+ {
+ std::size_t seed = std::hash{}(c.type);
+ boost::hash_combine(seed, std::hash{}(c.thickness));
+ boost::hash_combine(seed, std::hash{}(c.point_distance));
+ boost::hash_combine(seed, std::hash{}(c.fuzzy_first_layer));
+ return seed;
+ }
+};
+} // namespace std
+
namespace Slic3r {
class PerimeterGenerator {
public:
// Inputs:
const SurfaceCollection *slices;
+ const LayerRegionPtrs *compatible_regions;
const ExPolygons *upper_slices;
const ExPolygons *lower_slices;
double layer_height;
@@ -41,10 +74,14 @@ public:
std::pair m_external_overhang_dist_boundary;
std::pair m_smaller_external_overhang_dist_boundary;
+ bool has_fuzzy_skin = false;
+ bool has_fuzzy_hole = false;
+ std::unordered_map regions_by_fuzzify;
PerimeterGenerator(
// Input:
- const SurfaceCollection* slices,
+ const SurfaceCollection* slices,
+ const LayerRegionPtrs *compatible_regions,
double layer_height,
Flow flow,
const PrintRegionConfig* config,
@@ -60,7 +97,7 @@ public:
SurfaceCollection* fill_surfaces,
//BBS
ExPolygons* fill_no_overlap)
- : slices(slices), upper_slices(nullptr), lower_slices(nullptr), layer_height(layer_height),
+ : slices(slices), compatible_regions(compatible_regions), upper_slices(nullptr), lower_slices(nullptr), layer_height(layer_height),
layer_id(-1), perimeter_flow(flow), ext_perimeter_flow(flow),
overhang_flow(flow), solid_infill_flow(flow),
config(config), object_config(object_config), print_config(print_config),
diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp
index 27d426ffd1..30c9bc230f 100644
--- a/src/libslic3r/Preset.cpp
+++ b/src/libslic3r/Preset.cpp
@@ -823,7 +823,7 @@ static std::vector s_Preset_filament_options {
"filament_flow_ratio", "filament_density", "filament_cost", "filament_minimal_purge_on_wipe_tower",
"nozzle_temperature", "nozzle_temperature_initial_layer",
// BBS
- "cool_plate_temp", "eng_plate_temp", "hot_plate_temp", "textured_plate_temp", "cool_plate_temp_initial_layer", "eng_plate_temp_initial_layer", "hot_plate_temp_initial_layer","textured_plate_temp_initial_layer",
+ "cool_plate_temp", "textured_cool_plate_temp", "eng_plate_temp", "hot_plate_temp", "textured_plate_temp", "cool_plate_temp_initial_layer", "textured_cool_plate_temp_initial_layer", "eng_plate_temp_initial_layer", "hot_plate_temp_initial_layer","textured_plate_temp_initial_layer",
// "bed_type",
//BBS:temperature_vitrification
"temperature_vitrification", "reduce_fan_stop_start_freq","dont_slow_down_outer_wall", "slow_down_for_layer_cooling", "fan_min_speed",
diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp
index 919b2231fb..d1d1d15b42 100644
--- a/src/libslic3r/Print.cpp
+++ b/src/libslic3r/Print.cpp
@@ -128,9 +128,10 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
"bridge_acceleration",
"travel_acceleration",
"sparse_infill_acceleration",
- "internal_solid_infill_acceleration"
+ "internal_solid_infill_acceleration",
// BBS
"cool_plate_temp_initial_layer",
+ "textured_cool_plate_temp_initial_layer",
"eng_plate_temp_initial_layer",
"hot_plate_temp_initial_layer",
"textured_plate_temp_initial_layer",
@@ -270,6 +271,7 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
|| opt_key == "single_extruder_multi_material"
|| opt_key == "nozzle_temperature"
|| opt_key == "cool_plate_temp"
+ || opt_key == "textured_cool_plate_temp"
|| opt_key == "eng_plate_temp"
|| opt_key == "hot_plate_temp"
|| opt_key == "textured_plate_temp"
diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp
index b112cc464d..33941656da 100644
--- a/src/libslic3r/PrintConfig.cpp
+++ b/src/libslic3r/PrintConfig.cpp
@@ -352,7 +352,8 @@ static const t_config_enum_values s_keys_map_BedType = {
{ "Cool Plate", btPC },
{ "Engineering Plate", btEP },
{ "High Temp Plate", btPEI },
- { "Textured PEI Plate", btPTE }
+ { "Textured PEI Plate", btPTE },
+ { "Textured Cool Plate", btPCT }
};
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(BedType)
@@ -665,6 +666,16 @@ void PrintConfigDef::init_fff_params()
def->max = 300;
def->set_default_value(new ConfigOptionInts{ 35 });
+ def = this->add("textured_cool_plate_temp", coInts);
+ def->label = L("Other layers");
+ def->tooltip = L("Bed temperature for layers except the initial one. "
+ "Value 0 means the filament does not support to print on the Textured Cool Plate");
+ def->sidetext = L("°C");
+ def->full_label = L("Bed temperature");
+ def->min = 0;
+ def->max = 300;
+ def->set_default_value(new ConfigOptionInts{ 40 });
+
def = this->add("eng_plate_temp", coInts);
def->label = L("Other layers");
def->tooltip = L("Bed temperature for layers except the initial one. "
@@ -705,6 +716,16 @@ void PrintConfigDef::init_fff_params()
def->max = 120;
def->set_default_value(new ConfigOptionInts{ 35 });
+ def = this->add("textured_cool_plate_temp_initial_layer", coInts);
+ def->label = L("Initial layer");
+ def->full_label = L("Initial layer bed temperature");
+ def->tooltip = L("Bed temperature of the initial layer. "
+ "Value 0 means the filament does not support to print on the Textured Cool Plate");
+ def->sidetext = L("°C");
+ def->min = 0;
+ def->max = 120;
+ def->set_default_value(new ConfigOptionInts{ 40 });
+
def = this->add("eng_plate_temp_initial_layer", coInts);
def->label = L("Initial layer");
def->full_label = L("Initial layer bed temperature");
@@ -739,14 +760,17 @@ void PrintConfigDef::init_fff_params()
def->tooltip = L("Bed types supported by the printer");
def->mode = comSimple;
def->enum_keys_map = &s_keys_map_BedType;
+ // Orca: make sure the order of the values is the same as the BedType enum
def->enum_values.emplace_back("Cool Plate");
def->enum_values.emplace_back("Engineering Plate");
def->enum_values.emplace_back("High Temp Plate");
def->enum_values.emplace_back("Textured PEI Plate");
- def->enum_labels.emplace_back(L("Cool Plate"));
+ def->enum_values.emplace_back("Textured Cool Plate");
+ def->enum_labels.emplace_back(L("Smooth Cool Plate"));
def->enum_labels.emplace_back(L("Engineering Plate"));
- def->enum_labels.emplace_back(L("Smooth PEI Plate / High Temp Plate"));
+ def->enum_labels.emplace_back(L("Smooth High Temp Plate"));
def->enum_labels.emplace_back(L("Textured PEI Plate"));
+ def->enum_labels.emplace_back(L("Textured Cool Plate"));
def->set_default_value(new ConfigOptionEnum(btPC));
// BBS
@@ -1718,6 +1742,7 @@ void PrintConfigDef::init_fff_params()
// Orca: Adaptive pressure advance option and calibration values
def = this->add("adaptive_pressure_advance", coBools);
def->label = L("Enable adaptive pressure advance (beta)");
+ // xgettext:no-c-format, no-boost-format
def->tooltip = L("With increasing print speeds (and hence increasing volumetric flow through the nozzle) and increasing accelerations, "
"it has been observed that the effective PA value typically decreases. "
"This means that a single PA value is not always 100% optimal for all features and a compromise value is usually used "
@@ -1733,6 +1758,7 @@ void PrintConfigDef::init_fff_params()
// Orca: Adaptive pressure advance option and calibration values
def = this->add("adaptive_pressure_advance_model", coStrings);
def->label = L("Adaptive pressure advance measurements (beta)");
+ // xgettext:no-c-format, no-boost-format
def->tooltip = L("Add sets of pressure advance (PA) values, the volumetric flow speeds and accelerations they were measured at, separated by a comma. "
"One set of values per line. For example\n"
"0.04,3.96,3000\n0.033,3.96,10000\n0.029,7.91,3000\n0.026,7.91,10000\n\n"
diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp
index 9c6f147586..0b418f268e 100644
--- a/src/libslic3r/PrintConfig.hpp
+++ b/src/libslic3r/PrintConfig.hpp
@@ -258,6 +258,7 @@ enum BedType {
btEP,
btPEI,
btPTE,
+ btPCT,
btCount
};
@@ -324,6 +325,9 @@ static std::string bed_type_to_gcode_string(const BedType type)
case btPC:
type_str = "cool_plate";
break;
+ case btPCT:
+ type_str = "textured_cool_plate";
+ break;
case btEP:
type_str = "eng_plate";
break;
@@ -346,6 +350,9 @@ static std::string get_bed_temp_key(const BedType type)
if (type == btPC)
return "cool_plate_temp";
+ if (type == btPCT)
+ return "textured_cool_plate_temp";
+
if (type == btEP)
return "eng_plate_temp";
@@ -363,6 +370,9 @@ static std::string get_bed_temp_1st_layer_key(const BedType type)
if (type == btPC)
return "cool_plate_temp_initial_layer";
+ if (type == btPCT)
+ return "textured_cool_plate_temp_initial_layer";
+
if (type == btEP)
return "eng_plate_temp_initial_layer";
@@ -1172,10 +1182,12 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE(
((ConfigOptionString, bed_custom_model))
((ConfigOptionEnum, curr_bed_type))
((ConfigOptionInts, cool_plate_temp))
+ ((ConfigOptionInts, textured_cool_plate_temp))
((ConfigOptionInts, eng_plate_temp))
((ConfigOptionInts, hot_plate_temp)) // hot is short for high temperature
((ConfigOptionInts, textured_plate_temp))
((ConfigOptionInts, cool_plate_temp_initial_layer))
+ ((ConfigOptionInts, textured_cool_plate_temp_initial_layer))
((ConfigOptionInts, eng_plate_temp_initial_layer))
((ConfigOptionInts, hot_plate_temp_initial_layer)) // hot is short for high temperature
((ConfigOptionInts, textured_plate_temp_initial_layer))
diff --git a/src/libslic3r/PrintObjectSlice.cpp b/src/libslic3r/PrintObjectSlice.cpp
index 21c9770663..8c9c3c6af5 100644
--- a/src/libslic3r/PrintObjectSlice.cpp
+++ b/src/libslic3r/PrintObjectSlice.cpp
@@ -1035,6 +1035,8 @@ void PrintObject::slice_volumes()
m_layers.back()->upper_layer = nullptr;
m_print->throw_if_canceled();
+ this->apply_conical_overhang();
+
// Is any ModelVolume MMU painted?
if (const auto& volumes = this->model_object()->volumes;
m_print->config().filament_diameter.size() > 1 && // BBS
@@ -1054,7 +1056,6 @@ void PrintObject::slice_volumes()
apply_mm_segmentation(*this, [print]() { print->throw_if_canceled(); });
}
- this->apply_conical_overhang();
m_print->throw_if_canceled();
InterlockingGenerator::generate_interlocking_structure(this);
diff --git a/src/libslic3r/Slicing.hpp b/src/libslic3r/Slicing.hpp
index d6cd7dcb41..6ba3403bba 100644
--- a/src/libslic3r/Slicing.hpp
+++ b/src/libslic3r/Slicing.hpp
@@ -11,6 +11,7 @@
#include "libslic3r.h"
#include "Utils.hpp"
+#include "Point.hpp"
namespace Slic3r
{
diff --git a/src/libslic3r/Utils.hpp b/src/libslic3r/Utils.hpp
index 9f249246f4..e9408e1a02 100644
--- a/src/libslic3r/Utils.hpp
+++ b/src/libslic3r/Utils.hpp
@@ -219,7 +219,7 @@ extern bool is_json_file(const std::string& path);
// Orca: custom protocal support utils
inline bool is_orca_open(const std::string& url) { return boost::starts_with(url, "orcaslicer://open"); }
inline bool is_prusaslicer_open(const std::string& url) { return boost::starts_with(url, "prusaslicer://open"); }
-inline bool is_bambustudio_open(const std::string& url) { return boost::starts_with(url, "bambustudio://open"); }
+inline bool is_bambustudio_open(const std::string& url) { return boost::starts_with(url, "bambustudio://open") || boost::starts_with(url, "bambustudioopen://"); }
inline bool is_cura_open(const std::string& url) { return boost::starts_with(url, "cura://open"); }
inline bool is_supported_open_protocol(const std::string& url) { return is_orca_open(url) || is_prusaslicer_open(url) || is_bambustudio_open(url) || is_cura_open(url); }
inline bool is_printables_link(const std::string& url) {
diff --git a/src/platform/osx/Info.plist.in b/src/platform/osx/Info.plist.in
index a2621d2521..629dc870fe 100644
--- a/src/platform/osx/Info.plist.in
+++ b/src/platform/osx/Info.plist.in
@@ -33,6 +33,7 @@
orcasliceropen
orcaslicer
+ bambustudioopen
diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp
index 803ba6f943..3f4399d68e 100644
--- a/src/slic3r/GUI/ConfigManipulation.cpp
+++ b/src/slic3r/GUI/ConfigManipulation.cpp
@@ -676,10 +676,11 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co
for (auto el : {"wipe_tower_rotation_angle", "wipe_tower_cone_angle",
"wipe_tower_extra_spacing", "wipe_tower_max_purge_speed",
"wipe_tower_bridging", "wipe_tower_extra_flow",
- "wipe_tower_no_sparse_layers",
- "single_extruder_multi_material_priming"})
+ "wipe_tower_no_sparse_layers"})
toggle_line(el, have_prime_tower && !is_BBL_Printer);
+ toggle_line("single_extruder_multi_material_priming", !bSEMM && have_prime_tower && !is_BBL_Printer);
+
toggle_line("prime_volume",have_prime_tower && (!purge_in_primetower || !bSEMM));
for (auto el : {"flush_into_infill", "flush_into_support", "flush_into_objects"})
diff --git a/src/slic3r/GUI/Downloader.cpp b/src/slic3r/GUI/Downloader.cpp
index 25e160f24d..7757ca3ad6 100644
--- a/src/slic3r/GUI/Downloader.cpp
+++ b/src/slic3r/GUI/Downloader.cpp
@@ -145,9 +145,10 @@ void Downloader::start_download(const std::string& full_url)
// Orca: Replace PS workaround for "mysterious slash" with a more dynamic approach
// Windows seems to have fixed the issue and this provides backwards compatability for those it still affects
boost::regex re(R"(^(orcaslicer|prusaslicer|bambustudio|cura):\/\/open[\/]?\?file=)", boost::regbase::icase);
+ boost::regex re2(R"(^(bambustudioopen):\/\/)", boost::regex::icase);
boost::smatch results;
- if (!boost::regex_search(full_url, results, re)) {
+ if (!boost::regex_search(full_url, results, re) && !boost::regex_search(full_url, results, re2)) {
BOOST_LOG_TRIVIAL(error) << "Could not start download due to wrong URL: " << full_url;
// Orca: show error
NotificationManager* ntf_mngr = wxGetApp().notification_manager();
diff --git a/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp b/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp
index 32b0e20492..c6fc3d445a 100644
--- a/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp
+++ b/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp
@@ -2772,12 +2772,17 @@ void GLGizmoCut3D::render_cut_plane_input_window(CutConnectors &connectors, floa
render_part_action_line(_L("Upper part"), "##upper", m_keep_upper, m_place_on_cut_upper, m_rotate_upper);
render_part_action_line(_L("Lower part"), "##lower", m_keep_lower, m_place_on_cut_lower, m_rotate_lower);
- m_imgui->disabled_begin(has_connectors);
- m_imgui->bbl_checkbox(_L("Cut to parts"), m_keep_as_parts);
- if (m_keep_as_parts) {
- m_keep_upper = true;
- m_keep_lower = true;
- }
+ m_imgui->disabled_begin(has_connectors || m_part_selection.valid() || mode == CutMode::cutTongueAndGroove);
+
+ if (m_part_selection.valid())
+ m_keep_as_parts = false;
+
+ m_imgui->bbl_checkbox(_L("Cut to parts"), m_keep_as_parts);
+ if (m_keep_as_parts) {
+ m_keep_upper = m_keep_lower = true;
+ m_place_on_cut_upper = m_place_on_cut_lower = false;
+ m_rotate_upper = m_rotate_lower = false;
+ }
m_imgui->disabled_end();
}
diff --git a/src/slic3r/GUI/InstanceCheck.cpp b/src/slic3r/GUI/InstanceCheck.cpp
index 360a952c1b..09d4da31c5 100644
--- a/src/slic3r/GUI/InstanceCheck.cpp
+++ b/src/slic3r/GUI/InstanceCheck.cpp
@@ -502,6 +502,7 @@ void OtherInstanceMessageHandler::handle_message(const std::string& message)
std::vector paths;
std::vector downloads;
boost::regex re(R"(^(orcaslicer|prusaslicer|cura|bambustudio):\/\/open[\/]?\?file=)", boost::regbase::icase);
+ boost::regex re2(R"(^(bambustudioopen):\/\/)", boost::regex::icase);
boost::smatch results;
// Skip the first argument, it is the path to the slicer executable.
@@ -510,7 +511,7 @@ void OtherInstanceMessageHandler::handle_message(const std::string& message)
boost::filesystem::path p = MessageHandlerInternal::get_path(*it);
if (! p.string().empty())
paths.emplace_back(p);
- else if (boost::regex_search(*it, results, re))
+ else if (boost::regex_search(*it, results, re) || boost::regex_search(*it, results, re2))
downloads.emplace_back(*it);
}
if (! paths.empty()) {
diff --git a/src/slic3r/GUI/PartPlate.cpp b/src/slic3r/GUI/PartPlate.cpp
index c8c4d0b6c7..5617700105 100644
--- a/src/slic3r/GUI/PartPlate.cpp
+++ b/src/slic3r/GUI/PartPlate.cpp
@@ -1035,6 +1035,13 @@ void PartPlate::render_icons(bool bottom, bool only_name, int hover_id)
else
render_icon_texture(m_plate_name_edit_icon.model, m_partplate_list->m_plate_name_edit_texture);
+ if (hover_id == 7) {
+ render_icon_texture(m_move_front_icon.model, m_partplate_list->m_move_front_hovered_texture);
+ show_tooltip(_u8L("Move plate to the front"));
+ } else
+ render_icon_texture(m_move_front_icon.model, m_partplate_list->m_move_front_texture);
+
+
if (m_partplate_list->render_plate_settings) {
bool has_plate_settings = get_bed_type() != BedType::btDefault || get_print_seq() != PrintSequence::ByDefault || !get_first_layer_print_sequence().empty() || !get_other_layers_print_sequence().empty() || has_spiral_mode_config();
if (hover_id == 5) {
@@ -1336,6 +1343,7 @@ void PartPlate::register_raycasters_for_picking(GLCanvas3D &canvas)
canvas.remove_raycasters_for_picking(SceneRaycaster::EType::Bed, picking_id_component(6));
register_model_for_picking(canvas, m_plate_name_edit_icon, picking_id_component(6));
+ register_model_for_picking(canvas, m_move_front_icon, picking_id_component(7));
}
int PartPlate::picking_id_component(int idx) const
@@ -2712,6 +2720,7 @@ bool PartPlate::set_shape(const Pointfs& shape, const Pointfs& exclude_areas, Ve
calc_vertex_for_icons(2, m_arrange_icon);
calc_vertex_for_icons(3, m_lock_icon);
calc_vertex_for_icons(4, m_plate_settings_icon);
+ calc_vertex_for_icons(5, m_move_front_icon);
//calc_vertex_for_number(0, (m_plate_index < 9), m_plate_idx_icon);
calc_vertex_for_number(0, false, m_plate_idx_icon);
if (m_plater) {
@@ -3284,6 +3293,23 @@ void PartPlateList::generate_icon_textures()
}
}
+
+ // if (m_move_front_texture.get_id() == 0)
+ {
+ file_name = path + (m_is_dark ? "plate_move_front_dark.svg" : "plate_move_front.svg");
+ if (!m_move_front_texture.load_from_svg_file(file_name, true, false, false, icon_size)) {
+ BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << boost::format(":load file %1% failed") % file_name;
+ }
+ }
+
+ // if (m_move_front_hovered_texture.get_id() == 0)
+ {
+ file_name = path + (m_is_dark ? "plate_move_front_hover_dark.svg" : "plate_move_front_hover.svg");
+ if (!m_move_front_hovered_texture.load_from_svg_file(file_name, true, false, false, icon_size)) {
+ BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << boost::format(":load file %1% failed") % file_name;
+ }
+ }
+
//if (m_arrange_texture.get_id() == 0)
{
file_name = path + (m_is_dark ? "plate_arrange_dark.svg" : "plate_arrange.svg");
@@ -3419,6 +3445,8 @@ void PartPlateList::release_icon_textures()
m_logo_texture.reset();
m_del_texture.reset();
m_del_hovered_texture.reset();
+ m_move_front_hovered_texture.reset();
+ m_move_front_texture.reset();
m_arrange_texture.reset();
m_arrange_hovered_texture.reset();
m_orient_texture.reset();
@@ -3580,6 +3608,13 @@ void PartPlateList::reinit()
/*basic plate operations*/
//create an empty plate, and return its index
//these model instances which are not in any plates should not be affected also
+
+void PartPlateList::update_plates()
+{
+ update_all_plates_pos_and_size(true, false);
+ set_shapes(m_shape, m_exclude_areas, m_logo_texture_filename, m_height_to_lid, m_height_to_rod);
+}
+
int PartPlateList::create_plate(bool adjust_position)
{
PartPlate* plate = NULL;
@@ -5513,6 +5548,7 @@ void PartPlateList::BedTextureInfo::reset()
void PartPlateList::init_bed_type_info()
{
+ BedTextureInfo::TexturePart pct_part_left(10, 130, 10, 110, "orca_bed_pct_left.svg");
BedTextureInfo::TexturePart pc_part1(10, 130, 10, 110, "bbl_bed_pc_left.svg");
BedTextureInfo::TexturePart pc_part2(74, -10, 148, 12, "bbl_bed_pc_bottom.svg");
BedTextureInfo::TexturePart ep_part1(7.5, 90, 12.5, 150, "bbl_bed_ep_left.svg");
@@ -5527,6 +5563,8 @@ void PartPlateList::init_bed_type_info()
}
bed_texture_info[btPC].parts.push_back(pc_part1);
bed_texture_info[btPC].parts.push_back(pc_part2);
+ bed_texture_info[btPCT].parts.push_back(pct_part_left);
+ bed_texture_info[btPCT].parts.push_back(pc_part2);
bed_texture_info[btEP].parts.push_back(ep_part1);
bed_texture_info[btEP].parts.push_back(ep_part2);
bed_texture_info[btPEI].parts.push_back(pei_part1);
diff --git a/src/slic3r/GUI/PartPlate.hpp b/src/slic3r/GUI/PartPlate.hpp
index 0f2a5f241d..bfe73ab59a 100644
--- a/src/slic3r/GUI/PartPlate.hpp
+++ b/src/slic3r/GUI/PartPlate.hpp
@@ -141,6 +141,7 @@ private:
PickingModel m_lock_icon;
PickingModel m_plate_settings_icon;
PickingModel m_plate_name_edit_icon;
+ PickingModel m_move_front_icon;
GLModel m_plate_idx_icon;
GLTexture m_texture;
@@ -199,7 +200,7 @@ private:
public:
static const unsigned int PLATE_BASE_ID = 255 * 255 * 253;
static const unsigned int PLATE_NAME_HOVER_ID = 6;
- static const unsigned int GRABBER_COUNT = 7;
+ static const unsigned int GRABBER_COUNT = 8;
static ColorRGBA SELECT_COLOR;
static ColorRGBA UNSELECT_COLOR;
@@ -546,6 +547,8 @@ class PartPlateList : public ObjectBase
GLTexture m_logo_texture;
GLTexture m_del_texture;
GLTexture m_del_hovered_texture;
+ GLTexture m_move_front_hovered_texture;
+ GLTexture m_move_front_texture;
GLTexture m_arrange_texture;
GLTexture m_arrange_hovered_texture;
GLTexture m_orient_texture;
@@ -656,6 +659,9 @@ public:
height = m_plate_height;
}
+ // Pantheon: update plates after moving plate to the front
+ void update_plates();
+
/*basic plate operations*/
//create an empty plate and return its index
int create_plate(bool adjust_position = true);
diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp
index 0237321d06..874dd0fba5 100644
--- a/src/slic3r/GUI/Plater.cpp
+++ b/src/slic3r/GUI/Plater.cpp
@@ -1284,21 +1284,24 @@ void Sidebar::update_all_preset_comboboxes()
//p->m_staticText_filament_settings->Update();
-
if (is_bbl_vendor || cfg.opt_bool("support_multi_bed_types")) {
m_bed_type_list->Enable();
- auto str_bed_type = wxGetApp().app_config->get_printer_setting(wxGetApp().preset_bundle->printers.get_selected_preset_name(),
- "curr_bed_type");
- if (!str_bed_type.empty()) {
- int bed_type_value = atoi(str_bed_type.c_str());
- if (bed_type_value == 0)
- bed_type_value = 1;
- m_bed_type_list->SelectAndNotify(bed_type_value - 1);
- } else {
- BedType bed_type = preset_bundle.printers.get_edited_preset().get_default_bed_type(&preset_bundle);
- m_bed_type_list->SelectAndNotify((int) bed_type - 1);
+ // Orca: don't update bed type if loading project
+ if (!p->plater->is_loading_project()) {
+ auto str_bed_type = wxGetApp().app_config->get_printer_setting(wxGetApp().preset_bundle->printers.get_selected_preset_name(),
+ "curr_bed_type");
+ if (!str_bed_type.empty()) {
+ int bed_type_value = atoi(str_bed_type.c_str());
+ if (bed_type_value == 0)
+ bed_type_value = 1;
+ m_bed_type_list->SelectAndNotify(bed_type_value - 1);
+ } else {
+ BedType bed_type = preset_bundle.printers.get_edited_preset().get_default_bed_type(&preset_bundle);
+ m_bed_type_list->SelectAndNotify((int) bed_type - 1);
+ }
}
} else {
+ // Orca: combobox don't have the btDefault option, so we need to -1
m_bed_type_list->SelectAndNotify(btPEI - 1);
m_bed_type_list->Disable();
}
@@ -13394,8 +13397,10 @@ void Plater::clone_selection()
}
Selection& selection = p->get_selection();
selection.clone(res);
- if (wxGetApp().app_config->get("auto_arrange") == "true")
+ if (wxGetApp().app_config->get("auto_arrange") == "true") {
+ this->set_prepare_state(Job::PREPARE_STATE_MENU);
this->arrange();
+ }
}
std::vector Plater::get_empty_cells(const Vec2f step)
@@ -13998,7 +14003,18 @@ int Plater::select_plate_by_hover_id(int hover_id, bool right_click, bool isModi
BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << "can not select plate %1%" << plate_index;
ret = -1;
}
+ } else if ((action == 7) && (!right_click)) {
+ // move plate to the front
+ take_snapshot("move plate to the front");
+ ret = p->partplate_list.move_plate_to_index(plate_index,0);
+ p->partplate_list.update_slice_context_to_current_plate(p->background_process);
+ p->preview->update_gcode_result(p->partplate_list.get_current_slice_result());
+ p->sidebar->obj_list()->reload_all_plates();
+ p->partplate_list.update_plates();
+ update();
+ p->partplate_list.select_plate(0);
}
+
else
{
BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << "invalid action %1%, with right_click=%2%" << action << right_click;
diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp
index 0b25c42459..4086a15771 100644
--- a/src/slic3r/GUI/Plater.hpp
+++ b/src/slic3r/GUI/Plater.hpp
@@ -781,6 +781,8 @@ public:
};
std::atomic m_arrange_running{false};
+ bool is_loading_project() const { return m_loading_project; }
+
private:
struct priv;
std::unique_ptr p;
diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp
index cd487087e6..e3bf206bb1 100644
--- a/src/slic3r/GUI/Tab.cpp
+++ b/src/slic3r/GUI/Tab.cpp
@@ -3315,6 +3315,11 @@ void TabFilament::build()
line.append_option(optgroup->get_option("cool_plate_temp"));
optgroup->append_line(line);
+ line = { L("Textured Cool plate"), L("Bed temperature when cool plate is installed. Value 0 means the filament does not support to print on the Textured Cool Plate") };
+ line.append_option(optgroup->get_option("textured_cool_plate_temp_initial_layer"));
+ line.append_option(optgroup->get_option("textured_cool_plate_temp"));
+ optgroup->append_line(line);
+
line = { L("Engineering plate"), L("Bed temperature when engineering plate is installed. Value 0 means the filament does not support to print on the Engineering Plate") };
line.append_option(optgroup->get_option("eng_plate_temp_initial_layer"));
line.append_option(optgroup->get_option("eng_plate_temp"));
@@ -3578,6 +3583,7 @@ void TabFilament::toggle_options()
toggle_option("pressure_advance", pa);
auto support_multi_bed_types = is_BBL_printer || cfg.opt_bool("support_multi_bed_types");
toggle_line("cool_plate_temp_initial_layer", support_multi_bed_types );
+ toggle_line("textured_cool_plate_temp_initial_layer", support_multi_bed_types);
toggle_line("eng_plate_temp_initial_layer", support_multi_bed_types);
toggle_line("textured_plate_temp_initial_layer", support_multi_bed_types);
diff --git a/src/slic3r/GUI/calib_dlg.cpp b/src/slic3r/GUI/calib_dlg.cpp
index 2b9b87236a..0bdc34f660 100644
--- a/src/slic3r/GUI/calib_dlg.cpp
+++ b/src/slic3r/GUI/calib_dlg.cpp
@@ -435,8 +435,11 @@ MaxVolumetricSpeed_Test_Dlg::MaxVolumetricSpeed_Test_Dlg(wxWindow* parent, wxWin
text_size.x = text_size.x * 1.5;
wxStaticBoxSizer* settings_sizer = new wxStaticBoxSizer(wxVERTICAL, this, _L("Settings"));
+ wxString input_str = _L("mm³/s");
+ auto input_text_size = wxWindow::GetTextExtent(input_str);
+
auto st_size = FromDIP(wxSize(text_size.x, -1));
- auto ti_size = FromDIP(wxSize(90, -1));
+ auto ti_size = FromDIP(wxSize(input_text_size.x + 90, -1));
// start vol
auto start_vol_sizer = new wxBoxSizer(wxHORIZONTAL);
auto start_vol_text = new wxStaticText(this, wxID_ANY, start_vol_str, wxDefaultPosition, st_size, wxALIGN_LEFT);
@@ -540,8 +543,11 @@ VFA_Test_Dlg::VFA_Test_Dlg(wxWindow* parent, wxWindowID id, Plater* plater)
text_size.x = text_size.x * 1.5;
wxStaticBoxSizer* settings_sizer = new wxStaticBoxSizer(wxVERTICAL, this, _L("Settings"));
+ wxString input_str = _L("mm/s");
+ auto input_text_size = wxWindow::GetTextExtent(input_str);
+
auto st_size = FromDIP(wxSize(text_size.x, -1));
- auto ti_size = FromDIP(wxSize(90, -1));
+ auto ti_size = FromDIP(wxSize(input_text_size.x + 90, -1));
// start vol
auto start_vol_sizer = new wxBoxSizer(wxHORIZONTAL);
auto start_vol_text = new wxStaticText(this, wxID_ANY, start_str, wxDefaultPosition, st_size, wxALIGN_LEFT);
@@ -646,8 +652,11 @@ Retraction_Test_Dlg::Retraction_Test_Dlg(wxWindow* parent, wxWindowID id, Plater
text_size.x = text_size.x * 1.5;
wxStaticBoxSizer* settings_sizer = new wxStaticBoxSizer(wxVERTICAL, this, _L("Settings"));
+ wxString input_text_str = _L("mm/mm");
+ auto input_text_size = wxWindow::GetTextExtent(input_text_str);
+
auto st_size = FromDIP(wxSize(text_size.x, -1));
- auto ti_size = FromDIP(wxSize(90, -1));
+ auto ti_size = FromDIP(wxSize(input_text_size.x + 90, -1));
// start length
auto start_length_sizer = new wxBoxSizer(wxHORIZONTAL);
auto start_length_text = new wxStaticText(this, wxID_ANY, start_length_str, wxDefaultPosition, st_size, wxALIGN_LEFT);
@@ -670,7 +679,7 @@ Retraction_Test_Dlg::Retraction_Test_Dlg(wxWindow* parent, wxWindowID id, Plater
// length step
auto length_step_sizer = new wxBoxSizer(wxHORIZONTAL);
auto length_step_text = new wxStaticText(this, wxID_ANY, length_step_str, wxDefaultPosition, st_size, wxALIGN_LEFT);
- m_tiStep = new TextInput(this, wxString::FromDouble(0.1), _L("mm/mm"), "", wxDefaultPosition, ti_size, wxTE_CENTRE);
+ m_tiStep = new TextInput(this, wxString::FromDouble(0.1), _L("mm/mm"), "", wxDefaultPosition, ti_size, wxTE_RIGHT);
m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
length_step_sizer->Add(length_step_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2);
length_step_sizer->Add(m_tiStep, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2);
diff --git a/version.inc b/version.inc
index 41bac127ee..07b3c34862 100644
--- a/version.inc
+++ b/version.inc
@@ -10,7 +10,7 @@ endif()
if(NOT DEFINED BBL_INTERNAL_TESTING)
set(BBL_INTERNAL_TESTING "0")
endif()
-set(SoftFever_VERSION "2.2.0-beta")
+set(SoftFever_VERSION "2.2.0-beta2")
string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)"
SoftFever_VERSION_MATCH ${SoftFever_VERSION})
set(ORCA_VERSION_MAJOR ${CMAKE_MATCH_1})