diff --git a/resources/data/hints.ini b/resources/data/hints.ini
index ccb248bc37..06a53d5744 100644
--- a/resources/data/hints.ini
+++ b/resources/data/hints.ini
@@ -139,7 +139,7 @@ documentation_link= https://help.prusa3d.com/en/article/per-model-settings_1674
disabled_tags = SLA
[hint:Solid infill threshold area]
-text = Solid infill threshold area\nDid you know that you can make parts of your model with a small cross-section be filled with solid infill automatically? Set theSolid infill threshold area.(Expert mode only.)
+text = Solid infill threshold area\nDid you know that you can make parts of your model with a small cross-section be filled with solid infill automatically? Set theSolid infill threshold area.(Expert mode only.)
hypertext_type = settings
hypertext_settings_opt = solid_infill_below_area
hypertext_settings_type = 1
@@ -197,7 +197,7 @@ documentation_link = https://help.prusa3d.com/en/article/insert-pause-or-custom-
disabled_tags = SLA
[hint:Configuration snapshots]
-text = Configuration snapshots\nDid you know that roll back to a complete backup of all system and user profiles? You can view and move back and forth between snapshots using the Configuration - Configuration snapshots menu.
+text = Configuration snapshots\nDid you know that you can roll back to a complete backup of all system and user profiles? You can view and move back and forth between snapshots using the Configuration - Configuration snapshots menu.
documentation_link = https://help.prusa3d.com/en/article/configuration-snapshots_1776
hypertext_type = menubar
hypertext_menubar_menu_name = Configuration
diff --git a/resources/localization/PrusaSlicer.pot b/resources/localization/PrusaSlicer.pot
index 1ff283b4dc..8a8c872972 100644
--- a/resources/localization/PrusaSlicer.pot
+++ b/resources/localization/PrusaSlicer.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-12-21 22:19+0100\n"
+"POT-Creation-Date: 2022-01-17 13:18+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -189,7 +189,7 @@ msgstr ""
#: src/slic3r/GUI/BedShapeDialog.cpp:31
#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:218 src/slic3r/GUI/Plater.cpp:204
-#: src/slic3r/GUI/Tab.cpp:2726
+#: src/slic3r/GUI/Tab.cpp:2755
msgid "Size"
msgstr ""
@@ -215,7 +215,7 @@ msgstr ""
#: src/slic3r/GUI/ConfigWizard.cpp:1476 src/slic3r/GUI/ConfigWizard.cpp:1490
#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:100
#: src/slic3r/GUI/GCodeViewer.cpp:3176 src/slic3r/GUI/GCodeViewer.cpp:3182
-#: src/slic3r/GUI/GCodeViewer.cpp:3190 src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:192
+#: src/slic3r/GUI/GCodeViewer.cpp:3190 src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:188
#: src/slic3r/GUI/GUI_ObjectLayers.cpp:145
#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:320
#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:409
@@ -230,35 +230,35 @@ msgstr ""
#: src/libslic3r/PrintConfig.cpp:787 src/libslic3r/PrintConfig.cpp:798
#: src/libslic3r/PrintConfig.cpp:816 src/libslic3r/PrintConfig.cpp:997
#: src/libslic3r/PrintConfig.cpp:1212 src/libslic3r/PrintConfig.cpp:1279
-#: src/libslic3r/PrintConfig.cpp:1289 src/libslic3r/PrintConfig.cpp:1563
-#: src/libslic3r/PrintConfig.cpp:1757 src/libslic3r/PrintConfig.cpp:1818
-#: src/libslic3r/PrintConfig.cpp:1836 src/libslic3r/PrintConfig.cpp:1854
-#: src/libslic3r/PrintConfig.cpp:1917 src/libslic3r/PrintConfig.cpp:1927
-#: src/libslic3r/PrintConfig.cpp:2041 src/libslic3r/PrintConfig.cpp:2050
-#: src/libslic3r/PrintConfig.cpp:2069 src/libslic3r/PrintConfig.cpp:2090
-#: src/libslic3r/PrintConfig.cpp:2102 src/libslic3r/PrintConfig.cpp:2110
-#: src/libslic3r/PrintConfig.cpp:2151 src/libslic3r/PrintConfig.cpp:2159
-#: src/libslic3r/PrintConfig.cpp:2169 src/libslic3r/PrintConfig.cpp:2177
-#: src/libslic3r/PrintConfig.cpp:2185 src/libslic3r/PrintConfig.cpp:2247
-#: src/libslic3r/PrintConfig.cpp:2477 src/libslic3r/PrintConfig.cpp:2547
-#: src/libslic3r/PrintConfig.cpp:2564 src/libslic3r/PrintConfig.cpp:2665
-#: src/libslic3r/PrintConfig.cpp:2674 src/libslic3r/PrintConfig.cpp:2724
-#: src/libslic3r/PrintConfig.cpp:2876 src/libslic3r/PrintConfig.cpp:2964
-#: src/libslic3r/PrintConfig.cpp:2971 src/libslic3r/PrintConfig.cpp:2978
-#: src/libslic3r/PrintConfig.cpp:2992 src/libslic3r/PrintConfig.cpp:3016
-#: src/libslic3r/PrintConfig.cpp:3026 src/libslic3r/PrintConfig.cpp:3036
-#: src/libslic3r/PrintConfig.cpp:3220 src/libslic3r/PrintConfig.cpp:3261
-#: src/libslic3r/PrintConfig.cpp:3421 src/libslic3r/PrintConfig.cpp:3430
-#: src/libslic3r/PrintConfig.cpp:3439 src/libslic3r/PrintConfig.cpp:3449
-#: src/libslic3r/PrintConfig.cpp:3514 src/libslic3r/PrintConfig.cpp:3524
-#: src/libslic3r/PrintConfig.cpp:3536 src/libslic3r/PrintConfig.cpp:3556
-#: src/libslic3r/PrintConfig.cpp:3566 src/libslic3r/PrintConfig.cpp:3576
-#: src/libslic3r/PrintConfig.cpp:3594 src/libslic3r/PrintConfig.cpp:3609
-#: src/libslic3r/PrintConfig.cpp:3623 src/libslic3r/PrintConfig.cpp:3634
-#: src/libslic3r/PrintConfig.cpp:3647 src/libslic3r/PrintConfig.cpp:3692
-#: src/libslic3r/PrintConfig.cpp:3702 src/libslic3r/PrintConfig.cpp:3711
-#: src/libslic3r/PrintConfig.cpp:3721 src/libslic3r/PrintConfig.cpp:3737
-#: src/libslic3r/PrintConfig.cpp:3761
+#: src/libslic3r/PrintConfig.cpp:1289 src/libslic3r/PrintConfig.cpp:1569
+#: src/libslic3r/PrintConfig.cpp:1763 src/libslic3r/PrintConfig.cpp:1824
+#: src/libslic3r/PrintConfig.cpp:1842 src/libslic3r/PrintConfig.cpp:1860
+#: src/libslic3r/PrintConfig.cpp:1923 src/libslic3r/PrintConfig.cpp:1933
+#: src/libslic3r/PrintConfig.cpp:2047 src/libslic3r/PrintConfig.cpp:2056
+#: src/libslic3r/PrintConfig.cpp:2075 src/libslic3r/PrintConfig.cpp:2096
+#: src/libslic3r/PrintConfig.cpp:2108 src/libslic3r/PrintConfig.cpp:2116
+#: src/libslic3r/PrintConfig.cpp:2157 src/libslic3r/PrintConfig.cpp:2165
+#: src/libslic3r/PrintConfig.cpp:2175 src/libslic3r/PrintConfig.cpp:2183
+#: src/libslic3r/PrintConfig.cpp:2191 src/libslic3r/PrintConfig.cpp:2253
+#: src/libslic3r/PrintConfig.cpp:2483 src/libslic3r/PrintConfig.cpp:2553
+#: src/libslic3r/PrintConfig.cpp:2570 src/libslic3r/PrintConfig.cpp:2671
+#: src/libslic3r/PrintConfig.cpp:2680 src/libslic3r/PrintConfig.cpp:2730
+#: src/libslic3r/PrintConfig.cpp:2882 src/libslic3r/PrintConfig.cpp:2970
+#: src/libslic3r/PrintConfig.cpp:2977 src/libslic3r/PrintConfig.cpp:2984
+#: src/libslic3r/PrintConfig.cpp:2998 src/libslic3r/PrintConfig.cpp:3022
+#: src/libslic3r/PrintConfig.cpp:3032 src/libslic3r/PrintConfig.cpp:3042
+#: src/libslic3r/PrintConfig.cpp:3226 src/libslic3r/PrintConfig.cpp:3267
+#: src/libslic3r/PrintConfig.cpp:3427 src/libslic3r/PrintConfig.cpp:3436
+#: src/libslic3r/PrintConfig.cpp:3445 src/libslic3r/PrintConfig.cpp:3455
+#: src/libslic3r/PrintConfig.cpp:3520 src/libslic3r/PrintConfig.cpp:3530
+#: src/libslic3r/PrintConfig.cpp:3542 src/libslic3r/PrintConfig.cpp:3562
+#: src/libslic3r/PrintConfig.cpp:3572 src/libslic3r/PrintConfig.cpp:3582
+#: src/libslic3r/PrintConfig.cpp:3600 src/libslic3r/PrintConfig.cpp:3615
+#: src/libslic3r/PrintConfig.cpp:3629 src/libslic3r/PrintConfig.cpp:3640
+#: src/libslic3r/PrintConfig.cpp:3653 src/libslic3r/PrintConfig.cpp:3698
+#: src/libslic3r/PrintConfig.cpp:3708 src/libslic3r/PrintConfig.cpp:3717
+#: src/libslic3r/PrintConfig.cpp:3727 src/libslic3r/PrintConfig.cpp:3743
+#: src/libslic3r/PrintConfig.cpp:3767
msgid "mm"
msgstr ""
@@ -304,7 +304,7 @@ msgid "Load..."
msgstr ""
#: src/slic3r/GUI/BedShapeDialog.cpp:292 src/slic3r/GUI/BedShapeDialog.cpp:362
-#: src/slic3r/GUI/Tab.cpp:3701
+#: src/slic3r/GUI/Tab.cpp:3734
msgid "Remove"
msgstr ""
@@ -404,7 +404,7 @@ msgid ""
msgstr ""
#: src/slic3r/GUI/ConfigManipulation.cpp:50
-#: src/slic3r/GUI/GUI_ObjectLayers.cpp:29 src/slic3r/GUI/Tab.cpp:1449
+#: src/slic3r/GUI/GUI_ObjectLayers.cpp:29 src/slic3r/GUI/Tab.cpp:1453
#: src/libslic3r/PrintConfig.cpp:263
msgid "Layer height"
msgstr ""
@@ -492,14 +492,14 @@ msgstr ""
#: src/slic3r/GUI/ConfigManipulation.cpp:199
#: src/slic3r/GUI/GUI_Factories.cpp:55 src/slic3r/GUI/GUI_Factories.cpp:128
-#: src/slic3r/GUI/Plater.cpp:460 src/slic3r/GUI/Tab.cpp:1502
-#: src/slic3r/GUI/Tab.cpp:1504 src/libslic3r/PrintConfig.cpp:452
+#: src/slic3r/GUI/Plater.cpp:460 src/slic3r/GUI/Tab.cpp:1506
+#: src/slic3r/GUI/Tab.cpp:1508 src/libslic3r/PrintConfig.cpp:452
#: src/libslic3r/PrintConfig.cpp:693 src/libslic3r/PrintConfig.cpp:717
#: src/libslic3r/PrintConfig.cpp:1071 src/libslic3r/PrintConfig.cpp:1085
-#: src/libslic3r/PrintConfig.cpp:1122 src/libslic3r/PrintConfig.cpp:1369
-#: src/libslic3r/PrintConfig.cpp:1379 src/libslic3r/PrintConfig.cpp:1448
-#: src/libslic3r/PrintConfig.cpp:1468 src/libslic3r/PrintConfig.cpp:1487
-#: src/libslic3r/PrintConfig.cpp:2308 src/libslic3r/PrintConfig.cpp:2325
+#: src/libslic3r/PrintConfig.cpp:1122 src/libslic3r/PrintConfig.cpp:1375
+#: src/libslic3r/PrintConfig.cpp:1385 src/libslic3r/PrintConfig.cpp:1454
+#: src/libslic3r/PrintConfig.cpp:1474 src/libslic3r/PrintConfig.cpp:1493
+#: src/libslic3r/PrintConfig.cpp:2314 src/libslic3r/PrintConfig.cpp:2331
msgid "Infill"
msgstr ""
@@ -548,7 +548,7 @@ msgstr ""
msgid "PrusaSlicer version"
msgstr ""
-#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:64 src/libslic3r/Preset.cpp:1323
+#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:64 src/libslic3r/Preset.cpp:1337
msgid "print"
msgstr ""
@@ -556,21 +556,21 @@ msgstr ""
msgid "filaments"
msgstr ""
-#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:68 src/libslic3r/Preset.cpp:1325
+#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:68 src/libslic3r/Preset.cpp:1339
msgid "SLA print"
msgstr ""
#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:69
#: src/slic3r/GUI/ConfigWizard.cpp:755 src/slic3r/GUI/GUI.cpp:340
-#: src/slic3r/GUI/Plater.cpp:820 src/libslic3r/Preset.cpp:1326
+#: src/slic3r/GUI/Plater.cpp:820 src/libslic3r/Preset.cpp:1340
msgid "SLA material"
msgstr ""
-#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:71 src/libslic3r/Preset.cpp:1327
+#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:71 src/libslic3r/Preset.cpp:1341
msgid "printer"
msgstr ""
-#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:75 src/slic3r/GUI/Tab.cpp:1366
+#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:75 src/slic3r/GUI/Tab.cpp:1370
msgid "vendor"
msgstr ""
@@ -624,14 +624,14 @@ msgid "Standard"
msgstr ""
#: src/slic3r/GUI/ConfigWizard.cpp:331 src/slic3r/GUI/ConfigWizard.cpp:651
-#: src/slic3r/GUI/Preferences.cpp:413 src/slic3r/GUI/Tab.cpp:3783
+#: src/slic3r/GUI/Preferences.cpp:434 src/slic3r/GUI/Tab.cpp:3816
#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1153
msgid "All"
msgstr ""
#: src/slic3r/GUI/ConfigWizard.cpp:332 src/slic3r/GUI/ConfigWizard.cpp:652
#: src/slic3r/GUI/DoubleSlider.cpp:2030 src/slic3r/GUI/Plater.cpp:432
-#: src/slic3r/GUI/Plater.cpp:578 src/slic3r/GUI/Preferences.cpp:415
+#: src/slic3r/GUI/Plater.cpp:578 src/slic3r/GUI/Preferences.cpp:436
#: src/libslic3r/PrintConfig.cpp:1268
msgid "None"
msgstr ""
@@ -697,7 +697,7 @@ msgid ""
msgstr ""
#: src/slic3r/GUI/ConfigWizard.cpp:752 src/slic3r/GUI/ConfigWizard.cpp:2043
-#: src/slic3r/GUI/ConfigWizard.cpp:2910
+#: src/slic3r/GUI/ConfigWizard.cpp:2912
msgid "Filaments"
msgstr ""
@@ -710,7 +710,7 @@ msgstr ""
msgid "All installed printers are compatible with the selected %1%."
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:755 src/libslic3r/Preset.cpp:1324
+#: src/slic3r/GUI/ConfigWizard.cpp:755 src/libslic3r/Preset.cpp:1338
msgid "filament"
msgstr ""
@@ -763,7 +763,7 @@ msgid ""
"notification mechanisms, no automatic installation is done."
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:1224 src/slic3r/GUI/Preferences.cpp:173
+#: src/slic3r/GUI/ConfigWizard.cpp:1224 src/slic3r/GUI/Preferences.cpp:175
msgid "Update built-in Presets automatically"
msgstr ""
@@ -789,7 +789,7 @@ msgid ""
msgstr ""
#: src/slic3r/GUI/ConfigWizard.cpp:1243 src/slic3r/GUI/GUI_Factories.cpp:726
-#: src/slic3r/GUI/Plater.cpp:3499
+#: src/slic3r/GUI/Plater.cpp:3548
msgid "Reload from disk"
msgstr ""
@@ -810,11 +810,11 @@ msgstr ""
msgid "Files association"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:1261 src/slic3r/GUI/Preferences.cpp:155
+#: src/slic3r/GUI/ConfigWizard.cpp:1261 src/slic3r/GUI/Preferences.cpp:157
msgid "Associate .3mf files to PrusaSlicer"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:1262 src/slic3r/GUI/Preferences.cpp:162
+#: src/slic3r/GUI/ConfigWizard.cpp:1262 src/slic3r/GUI/Preferences.cpp:164
msgid "Associate .stl files to PrusaSlicer"
msgstr ""
@@ -864,7 +864,7 @@ msgstr ""
msgid "Firmware Type"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:1357 src/slic3r/GUI/Tab.cpp:2334
+#: src/slic3r/GUI/ConfigWizard.cpp:1357 src/slic3r/GUI/Tab.cpp:2358
msgid "Firmware"
msgstr ""
@@ -938,7 +938,7 @@ msgstr ""
#: src/slic3r/GUI/ConfigWizard.cpp:1568 src/slic3r/GUI/ConfigWizard.cpp:1582
#: src/libslic3r/PrintConfig.cpp:395 src/libslic3r/PrintConfig.cpp:1188
-#: src/libslic3r/PrintConfig.cpp:1243 src/libslic3r/PrintConfig.cpp:2786
+#: src/libslic3r/PrintConfig.cpp:1243 src/libslic3r/PrintConfig.cpp:2792
msgid "°C"
msgstr ""
@@ -958,7 +958,7 @@ msgstr ""
msgid "Bed Temperature:"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:2043 src/slic3r/GUI/ConfigWizard.cpp:2913
+#: src/slic3r/GUI/ConfigWizard.cpp:2043 src/slic3r/GUI/ConfigWizard.cpp:2915
msgid "SLA Materials"
msgstr ""
@@ -1041,35 +1041,35 @@ msgstr ""
msgid "A new SLA material was installed and it will be activated."
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:2726
+#: src/slic3r/GUI/ConfigWizard.cpp:2729
msgid "Some filaments were uninstalled."
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:2726
+#: src/slic3r/GUI/ConfigWizard.cpp:2729
msgid "Some SLA materials were uninstalled."
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:2770
+#: src/slic3r/GUI/ConfigWizard.cpp:2773
msgid "Custom printer was installed and it will be activated."
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:2855
+#: src/slic3r/GUI/ConfigWizard.cpp:2858
msgid "Select all standard printers"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:2858
+#: src/slic3r/GUI/ConfigWizard.cpp:2861
msgid "< &Back"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:2859
+#: src/slic3r/GUI/ConfigWizard.cpp:2862
msgid "&Next >"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:2860
+#: src/slic3r/GUI/ConfigWizard.cpp:2863
msgid "&Finish"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:2861
+#: src/slic3r/GUI/ConfigWizard.cpp:2864
#: src/slic3r/GUI/DesktopIntegrationDialog.cpp:490
#: src/slic3r/GUI/FirmwareDialog.cpp:153
#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:58
@@ -1079,40 +1079,40 @@ msgstr ""
msgid "Cancel"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:2881
+#: src/slic3r/GUI/ConfigWizard.cpp:2884
msgid "Prusa FFF Technology Printers"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:2889
+#: src/slic3r/GUI/ConfigWizard.cpp:2892
msgid "Prusa MSLA Technology Printers"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:2910
+#: src/slic3r/GUI/ConfigWizard.cpp:2912
msgid "Filament Profiles Selection"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:2910 src/slic3r/GUI/ConfigWizard.cpp:2913
+#: src/slic3r/GUI/ConfigWizard.cpp:2912 src/slic3r/GUI/ConfigWizard.cpp:2915
#: src/slic3r/GUI/GUI_ObjectList.cpp:3781
msgid "Type:"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:2913
+#: src/slic3r/GUI/ConfigWizard.cpp:2915
msgid "SLA Material Profiles Selection"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:3034
+#: src/slic3r/GUI/ConfigWizard.cpp:3036
msgid "Configuration Assistant"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:3035
+#: src/slic3r/GUI/ConfigWizard.cpp:3037
msgid "Configuration &Assistant"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:3037
+#: src/slic3r/GUI/ConfigWizard.cpp:3039
msgid "Configuration Wizard"
msgstr ""
-#: src/slic3r/GUI/ConfigWizard.cpp:3038
+#: src/slic3r/GUI/ConfigWizard.cpp:3040
msgid "Configuration &Wizard"
msgstr ""
@@ -1139,7 +1139,7 @@ msgid ""
msgstr ""
#: src/slic3r/GUI/DesktopIntegrationDialog.cpp:459
-#: src/slic3r/GUI/GUI_App.cpp:2161
+#: src/slic3r/GUI/GUI_App.cpp:2222
msgid "Desktop Integration"
msgstr ""
@@ -1155,7 +1155,7 @@ msgid "Perform"
msgstr ""
#: src/slic3r/GUI/DesktopIntegrationDialog.cpp:486
-#: src/slic3r/GUI/GLCanvas3D.cpp:4711 src/slic3r/GUI/KBShortcutsDialog.cpp:97
+#: src/slic3r/GUI/GLCanvas3D.cpp:4689 src/slic3r/GUI/KBShortcutsDialog.cpp:97
#: src/slic3r/GUI/MainFrame.cpp:1335
msgid "Undo"
msgstr ""
@@ -1441,14 +1441,14 @@ msgstr ""
msgid "This action will cause deletion of all ticks on vertical slider."
msgstr ""
-#: src/slic3r/GUI/DoubleSlider.cpp:2087 src/slic3r/GUI/Tab.cpp:1318
+#: src/slic3r/GUI/DoubleSlider.cpp:2087 src/slic3r/GUI/Tab.cpp:1322
msgid ""
"This action is not revertible.\n"
"Do you want to proceed?"
msgstr ""
#: src/slic3r/GUI/DoubleSlider.cpp:2088
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1137 src/slic3r/GUI/GUI.cpp:245
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1133 src/slic3r/GUI/GUI.cpp:245
#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:645
#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:675
#: src/slic3r/GUI/WipeTowerDialog.cpp:58 src/slic3r/GUI/WipeTowerDialog.cpp:443
@@ -1538,10 +1538,10 @@ msgid "Set extruder change for every"
msgstr ""
#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:60
-#: src/libslic3r/PrintConfig.cpp:639 src/libslic3r/PrintConfig.cpp:1382
-#: src/libslic3r/PrintConfig.cpp:2079 src/libslic3r/PrintConfig.cpp:2254
-#: src/libslic3r/PrintConfig.cpp:2330 src/libslic3r/PrintConfig.cpp:2583
-#: src/libslic3r/PrintConfig.cpp:2631 src/libslic3r/PrintConfig.cpp:2650
+#: src/libslic3r/PrintConfig.cpp:639 src/libslic3r/PrintConfig.cpp:1388
+#: src/libslic3r/PrintConfig.cpp:2085 src/libslic3r/PrintConfig.cpp:2260
+#: src/libslic3r/PrintConfig.cpp:2336 src/libslic3r/PrintConfig.cpp:2589
+#: src/libslic3r/PrintConfig.cpp:2637 src/libslic3r/PrintConfig.cpp:2656
msgid "layers"
msgstr ""
@@ -1635,19 +1635,19 @@ msgstr ""
msgid "Flashing failed"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:284
+#: src/slic3r/GUI/FirmwareDialog.cpp:283
msgid "Flashing succeeded!"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:285
+#: src/slic3r/GUI/FirmwareDialog.cpp:284
msgid "Flashing failed. Please see the avrdude log below."
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:286
+#: src/slic3r/GUI/FirmwareDialog.cpp:285
msgid "Flashing cancelled."
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:334
+#: src/slic3r/GUI/FirmwareDialog.cpp:333
#, possible-c-format, possible-boost-format
msgid ""
"This firmware hex file does not match the printer model.\n"
@@ -1658,13 +1658,13 @@ msgid ""
"Please only continue if you are sure this is the right thing to do."
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:421 src/slic3r/GUI/FirmwareDialog.cpp:456
+#: src/slic3r/GUI/FirmwareDialog.cpp:420 src/slic3r/GUI/FirmwareDialog.cpp:455
#, possible-c-format, possible-boost-format
msgid ""
"Multiple %s devices found. Please only connect one at a time for flashing."
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:438
+#: src/slic3r/GUI/FirmwareDialog.cpp:437
#, possible-c-format, possible-boost-format
msgid ""
"The %s device was not found.\n"
@@ -1672,86 +1672,86 @@ msgid ""
"connector ..."
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:550
+#: src/slic3r/GUI/FirmwareDialog.cpp:549
#, possible-c-format, possible-boost-format
msgid "The %s device could not have been found"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:651
+#: src/slic3r/GUI/FirmwareDialog.cpp:650
#, possible-c-format, possible-boost-format
msgid "Error accessing port at %s: %s"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:653
+#: src/slic3r/GUI/FirmwareDialog.cpp:652
#, possible-c-format, possible-boost-format
msgid "Error: %s"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:788
+#: src/slic3r/GUI/FirmwareDialog.cpp:787
msgid "Firmware flasher"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:813
+#: src/slic3r/GUI/FirmwareDialog.cpp:812
msgid "Firmware image:"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:814
+#: src/slic3r/GUI/FirmwareDialog.cpp:813
msgid "Select a file"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:816
+#: src/slic3r/GUI/FirmwareDialog.cpp:815
#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:297
#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:372
msgid "Browse"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:818
+#: src/slic3r/GUI/FirmwareDialog.cpp:817
msgid "Serial port:"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:820
+#: src/slic3r/GUI/FirmwareDialog.cpp:819
msgid "Autodetected"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:821
+#: src/slic3r/GUI/FirmwareDialog.cpp:820
msgid "Rescan"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:828
+#: src/slic3r/GUI/FirmwareDialog.cpp:827
msgid "Progress:"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:831
+#: src/slic3r/GUI/FirmwareDialog.cpp:830
msgid "Status:"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:832
+#: src/slic3r/GUI/FirmwareDialog.cpp:831
msgid "Ready"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:852
+#: src/slic3r/GUI/FirmwareDialog.cpp:851
msgid "Advanced: Output log"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:863
+#: src/slic3r/GUI/FirmwareDialog.cpp:862
#: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:310
#: src/slic3r/GUI/Mouse3DController.cpp:543
-#: src/slic3r/GUI/PrintHostDialogs.cpp:260
+#: src/slic3r/GUI/PrintHostDialogs.cpp:261
#: src/slic3r/GUI/SendSystemInfoDialog.cpp:122
msgid "Close"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:916
+#: src/slic3r/GUI/FirmwareDialog.cpp:915
msgid ""
"Are you sure you want to cancel firmware flashing?\n"
"This could leave your printer in an unusable state!"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:917
+#: src/slic3r/GUI/FirmwareDialog.cpp:916
msgid "Confirmation"
msgstr ""
-#: src/slic3r/GUI/FirmwareDialog.cpp:920
+#: src/slic3r/GUI/FirmwareDialog.cpp:919
msgid "Cancelling..."
msgstr ""
@@ -1780,8 +1780,8 @@ msgid "Add one or more custom shapes"
msgstr ""
#: src/slic3r/GUI/GalleryDialog.cpp:118 src/slic3r/GUI/GalleryDialog.cpp:508
-#: src/slic3r/GUI/GLCanvas3D.cpp:4502 src/slic3r/GUI/GUI_Factories.cpp:444
-#: src/slic3r/GUI/Tab.cpp:3701
+#: src/slic3r/GUI/GLCanvas3D.cpp:4480 src/slic3r/GUI/GUI_Factories.cpp:444
+#: src/slic3r/GUI/Tab.cpp:3734
msgid "Delete"
msgstr ""
@@ -1821,23 +1821,23 @@ msgstr ""
msgid "Tool position"
msgstr ""
-#: src/slic3r/GUI/GCodeViewer.cpp:1462
+#: src/slic3r/GUI/GCodeViewer.cpp:1457
msgid "Generating toolpaths"
msgstr ""
-#: src/slic3r/GUI/GCodeViewer.cpp:1522
+#: src/slic3r/GUI/GCodeViewer.cpp:1517
msgid "Generating vertex buffer"
msgstr ""
-#: src/slic3r/GUI/GCodeViewer.cpp:1857
+#: src/slic3r/GUI/GCodeViewer.cpp:1852
msgid "Generating index buffers"
msgstr ""
-#: src/slic3r/GUI/GCodeViewer.cpp:3042
+#: src/slic3r/GUI/GCodeViewer.cpp:3047
msgid "Click to hide"
msgstr ""
-#: src/slic3r/GUI/GCodeViewer.cpp:3042
+#: src/slic3r/GUI/GCodeViewer.cpp:3047
msgid "Click to show"
msgstr ""
@@ -1863,7 +1863,7 @@ msgid "Percentage"
msgstr ""
#: src/slic3r/GUI/GCodeViewer.cpp:3251 src/slic3r/GUI/GCodeViewer.cpp:3290
-#: src/slic3r/GUI/GUI_Preview.cpp:217 src/slic3r/GUI/GUI_Preview.cpp:957
+#: src/slic3r/GUI/GUI_Preview.cpp:217 src/slic3r/GUI/GUI_Preview.cpp:958
msgid "Feature type"
msgstr ""
@@ -1902,12 +1902,12 @@ msgid "Volumetric flow rate (mm³/s)"
msgstr ""
#: src/slic3r/GUI/GCodeViewer.cpp:3301 src/slic3r/GUI/GUI_Preview.cpp:224
-#: src/slic3r/GUI/GUI_Preview.cpp:957
+#: src/slic3r/GUI/GUI_Preview.cpp:958
msgid "Tool"
msgstr ""
#: src/slic3r/GUI/GCodeViewer.cpp:3304 src/slic3r/GUI/GUI_Preview.cpp:225
-#: src/slic3r/GUI/GUI_Preview.cpp:956
+#: src/slic3r/GUI/GUI_Preview.cpp:957
msgid "Color Print"
msgstr ""
@@ -1949,8 +1949,8 @@ msgstr ""
msgid "Duration"
msgstr ""
-#: src/slic3r/GUI/GCodeViewer.cpp:3605 src/slic3r/GUI/GUI_Preview.cpp:1048
-#: src/libslic3r/PrintConfig.cpp:2881
+#: src/slic3r/GUI/GCodeViewer.cpp:3605 src/slic3r/GUI/GUI_Preview.cpp:1049
+#: src/libslic3r/PrintConfig.cpp:2887
msgid "Travel"
msgstr ""
@@ -1962,13 +1962,13 @@ msgstr ""
msgid "Extrusion"
msgstr ""
-#: src/slic3r/GUI/GCodeViewer.cpp:3610 src/slic3r/GUI/Tab.cpp:1838
-#: src/slic3r/GUI/Tab.cpp:2773
+#: src/slic3r/GUI/GCodeViewer.cpp:3610 src/slic3r/GUI/Tab.cpp:1862
+#: src/slic3r/GUI/Tab.cpp:2802
msgid "Retraction"
msgstr ""
#: src/slic3r/GUI/GCodeViewer.cpp:3627 src/slic3r/GUI/GCodeViewer.cpp:3630
-#: src/slic3r/GUI/GUI_Preview.cpp:1049
+#: src/slic3r/GUI/GUI_Preview.cpp:1050
msgid "Wipe"
msgstr ""
@@ -1977,31 +1977,31 @@ msgstr ""
msgid "Options"
msgstr ""
-#: src/slic3r/GUI/GCodeViewer.cpp:3665 src/slic3r/GUI/GUI_Preview.cpp:1050
+#: src/slic3r/GUI/GCodeViewer.cpp:3665 src/slic3r/GUI/GUI_Preview.cpp:1051
msgid "Retractions"
msgstr ""
-#: src/slic3r/GUI/GCodeViewer.cpp:3666 src/slic3r/GUI/GUI_Preview.cpp:1051
+#: src/slic3r/GUI/GCodeViewer.cpp:3666 src/slic3r/GUI/GUI_Preview.cpp:1052
msgid "Deretractions"
msgstr ""
-#: src/slic3r/GUI/GCodeViewer.cpp:3667 src/slic3r/GUI/GUI_Preview.cpp:1052
+#: src/slic3r/GUI/GCodeViewer.cpp:3667 src/slic3r/GUI/GUI_Preview.cpp:1053
msgid "Seams"
msgstr ""
-#: src/slic3r/GUI/GCodeViewer.cpp:3668 src/slic3r/GUI/GUI_Preview.cpp:1053
+#: src/slic3r/GUI/GCodeViewer.cpp:3668 src/slic3r/GUI/GUI_Preview.cpp:1054
msgid "Tool changes"
msgstr ""
-#: src/slic3r/GUI/GCodeViewer.cpp:3669 src/slic3r/GUI/GUI_Preview.cpp:1054
+#: src/slic3r/GUI/GCodeViewer.cpp:3669 src/slic3r/GUI/GUI_Preview.cpp:1055
msgid "Color changes"
msgstr ""
-#: src/slic3r/GUI/GCodeViewer.cpp:3670 src/slic3r/GUI/GUI_Preview.cpp:1055
+#: src/slic3r/GUI/GCodeViewer.cpp:3670 src/slic3r/GUI/GUI_Preview.cpp:1056
msgid "Print pauses"
msgstr ""
-#: src/slic3r/GUI/GCodeViewer.cpp:3671 src/slic3r/GUI/GUI_Preview.cpp:1056
+#: src/slic3r/GUI/GCodeViewer.cpp:3671 src/slic3r/GUI/GUI_Preview.cpp:1057
msgid "Custom G-codes"
msgstr ""
@@ -2018,7 +2018,7 @@ msgstr ""
#: src/slic3r/GUI/GCodeViewer.cpp:3696 src/slic3r/GUI/GCodeViewer.cpp:3722
#: src/slic3r/GUI/GUI.cpp:339 src/slic3r/GUI/Plater.cpp:818
-#: src/slic3r/GUI/Tab.cpp:1938 src/slic3r/GUI/Tab.cpp:1939
+#: src/slic3r/GUI/Tab.cpp:1962 src/slic3r/GUI/Tab.cpp:1963
msgid "Filament"
msgstr ""
@@ -2044,15 +2044,15 @@ msgstr ""
msgid "Total"
msgstr ""
-#: src/slic3r/GUI/GCodeViewer.cpp:3797
+#: src/slic3r/GUI/GCodeViewer.cpp:3792
msgid "Show stealth mode"
msgstr ""
-#: src/slic3r/GUI/GCodeViewer.cpp:3801
+#: src/slic3r/GUI/GCodeViewer.cpp:3796
msgid "Show normal mode"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:225 src/slic3r/GUI/GLCanvas3D.cpp:4649
+#: src/slic3r/GUI/GLCanvas3D.cpp:225 src/slic3r/GUI/GLCanvas3D.cpp:4627
#: src/slic3r/GUI/ObjectDataViewModel.cpp:53
msgid "Variable layer height"
msgstr ""
@@ -2121,7 +2121,7 @@ msgstr ""
msgid "Keep min"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:295 src/slic3r/GUI/GLCanvas3D.cpp:4078
+#: src/slic3r/GUI/GLCanvas3D.cpp:295 src/slic3r/GUI/GLCanvas3D.cpp:4056
msgid "Reset"
msgstr ""
@@ -2133,207 +2133,207 @@ msgstr ""
msgid "Seq."
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:1276
+#: src/slic3r/GUI/GLCanvas3D.cpp:1265
msgid "Variable layer height - Reset"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:1284
+#: src/slic3r/GUI/GLCanvas3D.cpp:1273
msgid "Variable layer height - Adaptive"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:1292
+#: src/slic3r/GUI/GLCanvas3D.cpp:1281
msgid "Variable layer height - Smooth all"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:1704
+#: src/slic3r/GUI/GLCanvas3D.cpp:1684
msgid "Mirror Object"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:2579
+#: src/slic3r/GUI/GLCanvas3D.cpp:2557
#: src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:560
msgid "Gizmo-Move"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:2662
+#: src/slic3r/GUI/GLCanvas3D.cpp:2640
#: src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:562
msgid "Gizmo-Rotate"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:3267
+#: src/slic3r/GUI/GLCanvas3D.cpp:3245
msgid "Move Object"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:3788 src/slic3r/GUI/GLCanvas3D.cpp:4610
+#: src/slic3r/GUI/GLCanvas3D.cpp:3766 src/slic3r/GUI/GLCanvas3D.cpp:4588
msgid "Switch to Settings"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:3789 src/slic3r/GUI/GLCanvas3D.cpp:4610
+#: src/slic3r/GUI/GLCanvas3D.cpp:3767 src/slic3r/GUI/GLCanvas3D.cpp:4588
msgid "Print Settings Tab"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:3790 src/slic3r/GUI/GLCanvas3D.cpp:4611
+#: src/slic3r/GUI/GLCanvas3D.cpp:3768 src/slic3r/GUI/GLCanvas3D.cpp:4589
msgid "Filament Settings Tab"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:3790 src/slic3r/GUI/GLCanvas3D.cpp:4611
+#: src/slic3r/GUI/GLCanvas3D.cpp:3768 src/slic3r/GUI/GLCanvas3D.cpp:4589
msgid "Material Settings Tab"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:3791 src/slic3r/GUI/GLCanvas3D.cpp:4612
+#: src/slic3r/GUI/GLCanvas3D.cpp:3769 src/slic3r/GUI/GLCanvas3D.cpp:4590
msgid "Printer Settings Tab"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:3938
+#: src/slic3r/GUI/GLCanvas3D.cpp:3916
msgid "Undo History"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:3938
+#: src/slic3r/GUI/GLCanvas3D.cpp:3916
msgid "Redo History"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:3958
+#: src/slic3r/GUI/GLCanvas3D.cpp:3936
#, possible-c-format, possible-boost-format
msgid "Undo %1$d Action"
msgid_plural "Undo %1$d Actions"
msgstr[0] ""
msgstr[1] ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:3958
+#: src/slic3r/GUI/GLCanvas3D.cpp:3936
#, possible-c-format, possible-boost-format
msgid "Redo %1$d Action"
msgid_plural "Redo %1$d Actions"
msgstr[0] ""
msgstr[1] ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:3978 src/slic3r/GUI/GLCanvas3D.cpp:4628
+#: src/slic3r/GUI/GLCanvas3D.cpp:3956 src/slic3r/GUI/GLCanvas3D.cpp:4606
#: src/slic3r/GUI/KBShortcutsDialog.cpp:106 src/slic3r/GUI/Search.cpp:435
msgid "Search"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:3992 src/slic3r/GUI/GLCanvas3D.cpp:4000
+#: src/slic3r/GUI/GLCanvas3D.cpp:3970 src/slic3r/GUI/GLCanvas3D.cpp:3978
#: src/slic3r/GUI/Search.cpp:441
msgid "Enter a search term"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4031
+#: src/slic3r/GUI/GLCanvas3D.cpp:4009
msgid "Arrange options"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4061
+#: src/slic3r/GUI/GLCanvas3D.cpp:4039
#, possible-boost-format
msgid "Press %1%left mouse button to enter the exact value"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4063
+#: src/slic3r/GUI/GLCanvas3D.cpp:4041
msgid "Spacing"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4070
+#: src/slic3r/GUI/GLCanvas3D.cpp:4048
msgid "Enable rotations (slow)"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4088 src/slic3r/GUI/GLCanvas3D.cpp:4520
+#: src/slic3r/GUI/GLCanvas3D.cpp:4066 src/slic3r/GUI/GLCanvas3D.cpp:4498
#: src/slic3r/GUI/KBShortcutsDialog.cpp:132 src/slic3r/GUI/Plater.cpp:1666
msgid "Arrange"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4494
+#: src/slic3r/GUI/GLCanvas3D.cpp:4472
msgid "Add..."
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4511 src/slic3r/GUI/KBShortcutsDialog.cpp:96
-#: src/slic3r/GUI/Plater.cpp:5413
+#: src/slic3r/GUI/GLCanvas3D.cpp:4489 src/slic3r/GUI/KBShortcutsDialog.cpp:96
+#: src/slic3r/GUI/Plater.cpp:5463
msgid "Delete all"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4520 src/slic3r/GUI/KBShortcutsDialog.cpp:133
+#: src/slic3r/GUI/GLCanvas3D.cpp:4498 src/slic3r/GUI/KBShortcutsDialog.cpp:133
msgid "Arrange selection"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4520
+#: src/slic3r/GUI/GLCanvas3D.cpp:4498
msgid "Click right mouse button to show arrangement options"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4542
+#: src/slic3r/GUI/GLCanvas3D.cpp:4520
msgid "Copy"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4551
+#: src/slic3r/GUI/GLCanvas3D.cpp:4529
msgid "Paste"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4563 src/slic3r/GUI/GUI_Factories.cpp:1089
-#: src/slic3r/GUI/GUI_Factories.cpp:1113 src/slic3r/GUI/GUI_Factories.cpp:1124
+#: src/slic3r/GUI/GLCanvas3D.cpp:4541 src/slic3r/GUI/GUI_Factories.cpp:1084
+#: src/slic3r/GUI/GUI_Factories.cpp:1108 src/slic3r/GUI/GUI_Factories.cpp:1119
msgid "Add instance"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4574 src/slic3r/GUI/GUI_Factories.cpp:1092
+#: src/slic3r/GUI/GLCanvas3D.cpp:4552 src/slic3r/GUI/GUI_Factories.cpp:1087
msgid "Remove instance"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4587
+#: src/slic3r/GUI/GLCanvas3D.cpp:4565
msgid "Split to objects"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4597
+#: src/slic3r/GUI/GLCanvas3D.cpp:4575
msgid "Split to parts"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4711 src/slic3r/GUI/GLCanvas3D.cpp:4750
+#: src/slic3r/GUI/GLCanvas3D.cpp:4689 src/slic3r/GUI/GLCanvas3D.cpp:4728
msgid "Click right mouse button to open/close History"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4734
+#: src/slic3r/GUI/GLCanvas3D.cpp:4712
#, possible-boost-format
msgid "Next Undo action: %1%"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4750 src/slic3r/GUI/KBShortcutsDialog.cpp:98
+#: src/slic3r/GUI/GLCanvas3D.cpp:4728 src/slic3r/GUI/KBShortcutsDialog.cpp:98
#: src/slic3r/GUI/MainFrame.cpp:1338
msgid "Redo"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:4772
+#: src/slic3r/GUI/GLCanvas3D.cpp:4750
#, possible-boost-format
msgid "Next Redo action: %1%"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:6389
+#: src/slic3r/GUI/GLCanvas3D.cpp:6367
msgid "An object outside the print area was detected."
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:6390
+#: src/slic3r/GUI/GLCanvas3D.cpp:6368
msgid "A toolpath outside the print area was detected."
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:6391
+#: src/slic3r/GUI/GLCanvas3D.cpp:6369
msgid "SLA supports outside the print area were detected."
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:6392
+#: src/slic3r/GUI/GLCanvas3D.cpp:6370
msgid "Some objects are not visible during editing."
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:6394
+#: src/slic3r/GUI/GLCanvas3D.cpp:6372
msgid ""
"An object outside the print area was detected.\n"
"Resolve the current problem to continue slicing."
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:6468
+#: src/slic3r/GUI/GLCanvas3D.cpp:6446
msgid "Selection-Add from rectangle"
msgstr ""
-#: src/slic3r/GUI/GLCanvas3D.cpp:6483
+#: src/slic3r/GUI/GLCanvas3D.cpp:6461
msgid "Selection-Remove from rectangle"
msgstr ""
#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:50
-#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:160 src/libslic3r/PrintConfig.cpp:4320
+#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:160 src/libslic3r/PrintConfig.cpp:4326
msgid "Cut"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:192
+#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:188
#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:320
#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:409
#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:477
@@ -2341,19 +2341,19 @@ msgstr ""
msgid "in"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:198
+#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:194
msgid "Keep upper part"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:199
+#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:195
msgid "Keep lower part"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:200
+#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:196
msgid "Rotate lower part upwards"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:205
+#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:201
msgid "Perform cut"
msgstr ""
@@ -2407,7 +2407,7 @@ msgid "Right mouse button"
msgstr ""
#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:49
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:474
+#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:434
msgid "Block supports"
msgstr ""
@@ -2418,9 +2418,9 @@ msgid "Shift + Left mouse button"
msgstr ""
#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:51
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:469
+#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:429
#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:40
-#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:270
+#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:250
msgid "Remove selection"
msgstr ""
@@ -2486,88 +2486,79 @@ msgstr ""
msgid "On overhangs only"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:179
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:199
+#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:174
#, possible-boost-format
msgid ""
"Preselects faces by overhang angle. It is possible to restrict paintable "
"facets to only preselected faces when the option \"%1%\" is enabled."
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:231
-#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:382
+#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:217
+#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:378
msgid "Paints facets according to the chosen painting brush."
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:239
-#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:395
+#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:225
+#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:391
msgid ""
"Paints neighboring facets whose relative angle is less or equal to set angle."
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:243
+#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:229
#, possible-boost-format
msgid "Allows painting only on facets selected by: \"%1%\""
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:258
-#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:423
-#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:155
+#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:244
+#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:419
+#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:144
msgid "Paints all facets inside, regardless of their orientation."
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:267
-#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:432
-#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:163
+#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:253
+#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:428
+#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:152
msgid "Ignores facets facing away from the camera."
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:276
-#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:441
+#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:262
+#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:437
msgid "Paints only one facet."
msgstr ""
+#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:270
#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:285
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:290
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:307
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:319
-#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:450
-#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:455
-#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:474
-#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:486
-#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:137
-#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:142
+#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:445
+#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:462
+#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:132
msgid "Alt + Mouse wheel"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:296
+#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:275
msgid "Splits bigger facets into smaller ones while the object is painted."
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:340
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:348
-#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:505
-#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:513
-#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:182
-#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:190
+#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:308
+#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:483
+#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:170
msgid "Ctrl + Mouse wheel"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:353
-#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:518
-#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:195
+#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:313
+#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:488
+#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:175
msgid "Reset selection"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:404
+#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:364
msgid "Block supports by angle"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:405
+#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:365
msgid "Add supports by angle"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:472
+#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:432
msgid "Add supports"
msgstr ""
@@ -2593,7 +2584,7 @@ msgid "Quality"
msgstr ""
#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:34
-#: src/libslic3r/PrintConfig.cpp:3753
+#: src/libslic3r/PrintConfig.cpp:3759
msgid "Closing distance"
msgstr ""
@@ -2625,19 +2616,19 @@ msgstr ""
msgid "Delete drainage hole"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:596
+#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:589
msgid "Hollowing parameter change"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:673
+#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:666
msgid "Change drainage hole diameter"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:767
+#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:760
msgid "Hollow and drill"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:817
+#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:810
msgid "Move drainage hole"
msgstr ""
@@ -2663,7 +2654,7 @@ msgid "Second color"
msgstr ""
#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:120
-#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:701
+#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:671
msgid "Remove painted color"
msgstr ""
@@ -2675,15 +2666,15 @@ msgstr ""
msgid "Bucket fill"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:408
+#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:404
msgid "Paints neighboring facets that have the same color."
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:461
+#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:450
msgid "Split bigger facets into smaller ones while the object is painted."
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:704
+#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:674
#, possible-boost-format
msgid "Painted using: Extruder %1%"
msgstr ""
@@ -2696,7 +2687,7 @@ msgstr ""
#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:543
#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:562
#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:578
-#: src/libslic3r/PrintConfig.cpp:4374
+#: src/libslic3r/PrintConfig.cpp:4380
msgid "Rotate"
msgstr ""
@@ -2713,17 +2704,17 @@ msgstr ""
#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:216
#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:563
#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:579
-#: src/libslic3r/PrintConfig.cpp:4389
+#: src/libslic3r/PrintConfig.cpp:4395
msgid "Scale"
msgstr ""
#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:36
-#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:273
+#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:253
msgid "Enforce seam"
msgstr ""
#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:38
-#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:275
+#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:255
msgid "Block seam"
msgstr ""
@@ -2765,7 +2756,7 @@ msgstr ""
#: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:157
#: src/slic3r/GUI/MainFrame.cpp:1162 src/slic3r/GUI/MainFrame.cpp:1619
-#: src/slic3r/GUI/PrintHostDialogs.cpp:372
+#: src/slic3r/GUI/PrintHostDialogs.cpp:373
msgid "Error"
msgstr ""
@@ -2825,7 +2816,7 @@ msgid "Lock supports under new islands"
msgstr ""
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:41
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1227
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1223
msgid "Remove selected points"
msgstr ""
@@ -2834,12 +2825,12 @@ msgid "Remove all points"
msgstr ""
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:43
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1230
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1226
msgid "Apply changes"
msgstr ""
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:44
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1231
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1227
msgid "Discard changes"
msgstr ""
@@ -2848,12 +2839,12 @@ msgid "Minimal points distance"
msgstr ""
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:46
-#: src/libslic3r/PrintConfig.cpp:3583
+#: src/libslic3r/PrintConfig.cpp:3589
msgid "Support points density"
msgstr ""
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:47
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1233
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1229
msgid "Auto-generate points"
msgstr ""
@@ -2869,115 +2860,115 @@ msgstr ""
msgid "Delete support point"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:706
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:702
msgid "Change point head diameter"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:774
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:770
msgid "Support parameter change"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:880
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:876
msgid "SLA Support Points"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:901
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:897
msgid "Do you want to save your manually edited support points?"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:902
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:898
msgid "Save support points?"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:962
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:958
msgid "Move support point"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1055
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1051
msgid "Support points edit"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1135
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1131
msgid "Autogeneration will erase all manually edited points."
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1136
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1132
msgid "Are you sure you want to do it?"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1142
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1138
msgid "Autogenerate support points"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1190
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1186
msgid "SLA gizmo keyboard shortcuts"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1201
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1197
msgid "Note: some shortcuts work in (non)editing mode only."
msgstr ""
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1215
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1218
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1219
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1222
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1223
msgid "Left click"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1219
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1215
msgid "Add point"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1220
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1216
msgid "Right click"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1220
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1216
msgid "Remove point"
msgstr ""
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1217
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1220
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1221
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1224
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1225
msgid "Drag"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1221
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1217
msgid "Move point"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1222
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1218
msgid "Add point to selection"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1223
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1219
msgid "Remove point from selection"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1224
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1220
msgid "Select by rectangle"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1225
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1221
msgid "Deselect by rectangle"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1226
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1222
msgid "Select all points"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1228
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1224
msgid "Mouse wheel"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1228
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1224
msgid "Move clipping plane"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1229
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1225
msgid "Reset clipping plane"
msgstr ""
-#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1232
+#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1228
msgid "Switch to editing mode"
msgstr ""
@@ -3195,288 +3186,346 @@ msgid ""
"Do you want to continue?"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1128 src/slic3r/GUI/GUI_App.cpp:2988
-#: src/slic3r/GUI/OptionsGroup.cpp:985
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:888
+#: src/slic3r/GUI/GUI_App.cpp:1128 src/slic3r/GUI/GUI_App.cpp:3068
+#: src/slic3r/GUI/Plater.cpp:1728 src/slic3r/GUI/UnsavedChangesDialog.cpp:888
msgid "Remember my choice"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1191
+#: src/slic3r/GUI/GUI_App.cpp:1170
+msgid "Loading configuration"
+msgstr ""
+
+#: src/slic3r/GUI/GUI_App.cpp:1203
#, possible-boost-format
msgid "New release version %1% is available."
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1192
+#: src/slic3r/GUI/GUI_App.cpp:1204
msgid "See Download page."
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1206
+#: src/slic3r/GUI/GUI_App.cpp:1218
#, possible-boost-format
msgid "New prerelease version %1% is available."
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1207
+#: src/slic3r/GUI/GUI_App.cpp:1219
msgid "See Releases page."
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1244
+#: src/slic3r/GUI/GUI_App.cpp:1256
msgid "Preparing settings tabs"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1595
+#: src/slic3r/GUI/GUI_App.cpp:1327 src/slic3r/GUI/Preferences.cpp:287
+msgid "Restore window position on start"
+msgstr ""
+
+#: src/slic3r/GUI/GUI_App.cpp:1329
+msgid "PrusaSlicer started after a crash"
+msgstr ""
+
+#: src/slic3r/GUI/GUI_App.cpp:1330
+#, possible-boost-format
+msgid ""
+"PrusaSlicer crashed last time when attempting to set window position.\n"
+"We are sorry for the inconvenience, it unfortunately happens with certain "
+"multiple-monitor setups.\n"
+"More precise reason for the crash: \"%1%\".\n"
+"For more information see our GitHub issue tracker: \"%2%\" and \"%3%\"\n"
+"\n"
+"To avoid this problem, consider disabling \"%4%\" in \"Preferences\". "
+"Otherwise, the application will most likely crash again next time."
+msgstr ""
+
+#: src/slic3r/GUI/GUI_App.cpp:1342
+#, possible-boost-format
+msgid "Disable \"%1%\""
+msgstr ""
+
+#: src/slic3r/GUI/GUI_App.cpp:1343
+#, possible-boost-format
+msgid "Leave \"%1%\" enabled"
+msgstr ""
+
+#: src/slic3r/GUI/GUI_App.cpp:1656
msgid ""
"You have the following presets with saved options for \"Print Host upload\""
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1599
+#: src/slic3r/GUI/GUI_App.cpp:1660
msgid ""
"But since this version of PrusaSlicer we don't show this information in "
"Printer Settings anymore.\n"
"Settings will be available in physical printers settings."
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1601
+#: src/slic3r/GUI/GUI_App.cpp:1662
msgid ""
"By default new Printer devices will be named as \"Printer N\" during its "
"creation.\n"
"Note: This name can be changed later from the physical printers settings"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1605 src/slic3r/GUI/PhysicalPrinterDialog.cpp:722
+#: src/slic3r/GUI/GUI_App.cpp:1666 src/slic3r/GUI/PhysicalPrinterDialog.cpp:722
msgid "Information"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1618 src/slic3r/GUI/GUI_App.cpp:1629
+#: src/slic3r/GUI/GUI_App.cpp:1679 src/slic3r/GUI/GUI_App.cpp:1690
msgid "Recreating"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1632
+#: src/slic3r/GUI/GUI_App.cpp:1693
msgid "Loading of current presets"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1637
+#: src/slic3r/GUI/GUI_App.cpp:1698
msgid "Loading of a mode view"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1775
+#: src/slic3r/GUI/GUI_App.cpp:1836
msgid "Choose one file (3MF/AMF):"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1787
+#: src/slic3r/GUI/GUI_App.cpp:1848
msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1799
+#: src/slic3r/GUI/GUI_App.cpp:1860
msgid "Choose one file (GCODE/.GCO/.G/.ngc/NGC):"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1810
+#: src/slic3r/GUI/GUI_App.cpp:1871
msgid "Changing of an application language"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1949
+#: src/slic3r/GUI/GUI_App.cpp:2010
msgid "Select the language"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:1949
+#: src/slic3r/GUI/GUI_App.cpp:2010
msgid "Language"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2098
+#: src/slic3r/GUI/GUI_App.cpp:2159
msgid "modified"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2152
+#: src/slic3r/GUI/GUI_App.cpp:2213
#, possible-c-format, possible-boost-format
msgid "Run %s"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2156
+#: src/slic3r/GUI/GUI_App.cpp:2217
msgid "&Configuration Snapshots"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2156
+#: src/slic3r/GUI/GUI_App.cpp:2217
msgid "Inspect / activate configuration snapshots"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2157
+#: src/slic3r/GUI/GUI_App.cpp:2218
msgid "Take Configuration &Snapshot"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2157
+#: src/slic3r/GUI/GUI_App.cpp:2218
msgid "Capture a configuration snapshot"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2158
+#: src/slic3r/GUI/GUI_App.cpp:2219
msgid "Check for Configuration Updates"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2158
+#: src/slic3r/GUI/GUI_App.cpp:2219
msgid "Check for configuration updates"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2165
+#: src/slic3r/GUI/GUI_App.cpp:2226
msgid "&Preferences"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2171
+#: src/slic3r/GUI/GUI_App.cpp:2232
msgid "Application preferences"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2176 src/slic3r/GUI/wxExtensions.cpp:707
+#: src/slic3r/GUI/GUI_App.cpp:2237 src/slic3r/GUI/wxExtensions.cpp:707
msgid "Simple"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2176
+#: src/slic3r/GUI/GUI_App.cpp:2237
msgid "Simple View Mode"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2178 src/slic3r/GUI/wxExtensions.cpp:709
+#: src/slic3r/GUI/GUI_App.cpp:2239 src/slic3r/GUI/wxExtensions.cpp:709
msgctxt "Mode"
msgid "Advanced"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2178
+#: src/slic3r/GUI/GUI_App.cpp:2239
msgid "Advanced View Mode"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2179 src/slic3r/GUI/wxExtensions.cpp:710
+#: src/slic3r/GUI/GUI_App.cpp:2240 src/slic3r/GUI/wxExtensions.cpp:710
msgid "Expert"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2179
+#: src/slic3r/GUI/GUI_App.cpp:2240
msgid "Expert View Mode"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2184
+#: src/slic3r/GUI/GUI_App.cpp:2245
msgid "Mode"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2184
+#: src/slic3r/GUI/GUI_App.cpp:2245
#, possible-c-format, possible-boost-format
msgid "%s View Mode"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2187
+#: src/slic3r/GUI/GUI_App.cpp:2248
msgid "&Language"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2190
+#: src/slic3r/GUI/GUI_App.cpp:2251
msgid "Flash Printer &Firmware"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2190
+#: src/slic3r/GUI/GUI_App.cpp:2251
msgid "Upload a firmware image into an Arduino based printer"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2210
+#: src/slic3r/GUI/GUI_App.cpp:2271
msgid "Taking a configuration snapshot"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2211
+#: src/slic3r/GUI/GUI_App.cpp:2272
msgid ""
"Some presets are modified and the unsaved changes will not be captured by "
"the configuration snapshot."
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2212
+#: src/slic3r/GUI/GUI_App.cpp:2273
msgid "Snapshot name"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2228
+#: src/slic3r/GUI/GUI_App.cpp:2289
msgid "Loading a configuration snapshot"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2237
+#: src/slic3r/GUI/GUI_App.cpp:2298
#, possible-boost-format
msgid "Continue to activate a configuration snapshot %1%?"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2251
+#: src/slic3r/GUI/GUI_App.cpp:2312
msgid "Failed to activate configuration snapshot."
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2270
+#: src/slic3r/GUI/GUI_App.cpp:2331
msgid "Restart application"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2304
+#: src/slic3r/GUI/GUI_App.cpp:2365
msgid "Language selection"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2307
+#: src/slic3r/GUI/GUI_App.cpp:2368
msgid ""
"Switching the language will trigger application restart.\n"
"You will lose content of the plater."
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2309 src/slic3r/GUI/Preferences.cpp:561
+#: src/slic3r/GUI/GUI_App.cpp:2370 src/slic3r/GUI/Preferences.cpp:582
msgid "Do you want to proceed?"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2336
+#: src/slic3r/GUI/GUI_App.cpp:2397
msgid "&Configuration"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2453 src/slic3r/GUI/GUI_App.cpp:2514
+#: src/slic3r/GUI/GUI_App.cpp:2514 src/slic3r/GUI/GUI_App.cpp:2575
msgid "The preset modifications are successfully saved"
msgid_plural "The presets modifications are successfully saved"
msgstr[0] ""
msgstr[1] ""
-#: src/slic3r/GUI/GUI_App.cpp:2517
+#: src/slic3r/GUI/GUI_App.cpp:2578
msgid "For new project all modifications will be reseted"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2555
+#: src/slic3r/GUI/GUI_App.cpp:2616
msgid "Loading a new project while the current project is modified."
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2558
+#: src/slic3r/GUI/GUI_App.cpp:2619
msgid "Project is loading"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2558
+#: src/slic3r/GUI/GUI_App.cpp:2619
msgid "Opening new project while some presets are unsaved."
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2577
+#: src/slic3r/GUI/GUI_App.cpp:2638
msgid "The uploads are still ongoing"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2577
+#: src/slic3r/GUI/GUI_App.cpp:2638
msgid "Stop them and continue anyway?"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2581
+#: src/slic3r/GUI/GUI_App.cpp:2642
msgid "Ongoing uploads"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2787
+#: src/slic3r/GUI/GUI_App.cpp:2848
msgid "It's impossible to print multi-part object(s) with SLA technology."
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2788 src/slic3r/GUI/Jobs/SLAImportJob.cpp:224
-#: src/slic3r/GUI/Plater.cpp:2404
+#: src/slic3r/GUI/GUI_App.cpp:2849 src/slic3r/GUI/Jobs/SLAImportJob.cpp:224
+#: src/slic3r/GUI/Plater.cpp:2427
msgid "Please check your object list before preset changing."
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2812
+#: src/slic3r/GUI/GUI_App.cpp:2873
msgid "Configuration is editing from ConfigWizard"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2837
+#: src/slic3r/GUI/GUI_App.cpp:2898
msgid "Select a gcode file:"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2987 src/slic3r/GUI/OptionsGroup.cpp:984
+#: src/slic3r/GUI/GUI_App.cpp:3067 src/slic3r/GUI/GUI_App.cpp:3090
msgid "Open hyperlink in default browser?"
msgstr ""
-#: src/slic3r/GUI/GUI_App.cpp:2987 src/slic3r/GUI/OptionsGroup.cpp:984
+#: src/slic3r/GUI/GUI_App.cpp:3067 src/slic3r/GUI/GUI_App.cpp:3090
msgid "PrusaSlicer: Open hyperlink"
msgstr ""
+#: src/slic3r/GUI/GUI_App.cpp:3072 src/slic3r/GUI/Preferences.cpp:382
+msgid "Suppress to open hyperlink in browser"
+msgstr ""
+
+#: src/slic3r/GUI/GUI_App.cpp:3074 src/slic3r/GUI/Plater.cpp:1734
+msgid "PrusaSlicer will remember your choice."
+msgstr ""
+
+#: src/slic3r/GUI/GUI_App.cpp:3075
+msgid "You will not be asked about it again on hyperlinks hovering."
+msgstr ""
+
+#: src/slic3r/GUI/GUI_App.cpp:3076 src/slic3r/GUI/Plater.cpp:1738
+#, possible-boost-format
+msgid ""
+"Visit \"Preferences\" and check \"%1%\"\n"
+"to changes your choice."
+msgstr ""
+
+#: src/slic3r/GUI/GUI_App.cpp:3078 src/slic3r/GUI/Plater.cpp:1740
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:905
+msgid "PrusaSlicer: Don't ask me again"
+msgstr ""
+
#: src/slic3r/GUI/GUI_Init.cpp:57 src/slic3r/GUI/GUI_Init.cpp:60
msgid "PrusaSlicer GUI initialization failed"
msgstr ""
@@ -3491,38 +3540,38 @@ msgstr ""
#: src/libslic3r/PrintConfig.cpp:424 src/libslic3r/PrintConfig.cpp:433
#: src/libslic3r/PrintConfig.cpp:685 src/libslic3r/PrintConfig.cpp:752
#: src/libslic3r/PrintConfig.cpp:760 src/libslic3r/PrintConfig.cpp:1209
-#: src/libslic3r/PrintConfig.cpp:1296 src/libslic3r/PrintConfig.cpp:1515
-#: src/libslic3r/PrintConfig.cpp:1907 src/libslic3r/PrintConfig.cpp:1974
-#: src/libslic3r/PrintConfig.cpp:2208 src/libslic3r/PrintConfig.cpp:2794
-#: src/libslic3r/PrintConfig.cpp:2802 src/libslic3r/PrintConfig.cpp:2862
-#: src/libslic3r/PrintConfig.cpp:2871
+#: src/libslic3r/PrintConfig.cpp:1296 src/libslic3r/PrintConfig.cpp:1521
+#: src/libslic3r/PrintConfig.cpp:1913 src/libslic3r/PrintConfig.cpp:1980
+#: src/libslic3r/PrintConfig.cpp:2214 src/libslic3r/PrintConfig.cpp:2800
+#: src/libslic3r/PrintConfig.cpp:2808 src/libslic3r/PrintConfig.cpp:2868
+#: src/libslic3r/PrintConfig.cpp:2877
msgid "Layers and Perimeters"
msgstr ""
#: src/slic3r/GUI/GUI_Factories.cpp:56 src/slic3r/GUI/GUI_Factories.cpp:131
-#: src/slic3r/GUI/GUI_Preview.cpp:249 src/slic3r/GUI/Tab.cpp:1546
-#: src/slic3r/GUI/Tab.cpp:1548 src/libslic3r/ExtrusionEntity.cpp:328
+#: src/slic3r/GUI/GUI_Preview.cpp:249 src/slic3r/GUI/Tab.cpp:1550
+#: src/slic3r/GUI/Tab.cpp:1552 src/libslic3r/ExtrusionEntity.cpp:328
#: src/libslic3r/ExtrusionEntity.cpp:360 src/libslic3r/PrintConfig.cpp:647
-#: src/libslic3r/PrintConfig.cpp:2039 src/libslic3r/PrintConfig.cpp:2048
-#: src/libslic3r/PrintConfig.cpp:2057 src/libslic3r/PrintConfig.cpp:2067
-#: src/libslic3r/PrintConfig.cpp:2076 src/libslic3r/PrintConfig.cpp:2498
-#: src/libslic3r/PrintConfig.cpp:2504 src/libslic3r/PrintConfig.cpp:2512
-#: src/libslic3r/PrintConfig.cpp:2525 src/libslic3r/PrintConfig.cpp:2535
-#: src/libslic3r/PrintConfig.cpp:2543 src/libslic3r/PrintConfig.cpp:2561
-#: src/libslic3r/PrintConfig.cpp:2578 src/libslic3r/PrintConfig.cpp:2599
-#: src/libslic3r/PrintConfig.cpp:2612 src/libslic3r/PrintConfig.cpp:2629
-#: src/libslic3r/PrintConfig.cpp:2647 src/libslic3r/PrintConfig.cpp:2662
-#: src/libslic3r/PrintConfig.cpp:2672 src/libslic3r/PrintConfig.cpp:2681
-#: src/libslic3r/PrintConfig.cpp:2692 src/libslic3r/PrintConfig.cpp:2706
-#: src/libslic3r/PrintConfig.cpp:2722 src/libslic3r/PrintConfig.cpp:2730
-#: src/libslic3r/PrintConfig.cpp:2731 src/libslic3r/PrintConfig.cpp:2740
-#: src/libslic3r/PrintConfig.cpp:2754 src/libslic3r/PrintConfig.cpp:2762
-#: src/libslic3r/PrintConfig.cpp:2776
+#: src/libslic3r/PrintConfig.cpp:2045 src/libslic3r/PrintConfig.cpp:2054
+#: src/libslic3r/PrintConfig.cpp:2063 src/libslic3r/PrintConfig.cpp:2073
+#: src/libslic3r/PrintConfig.cpp:2082 src/libslic3r/PrintConfig.cpp:2504
+#: src/libslic3r/PrintConfig.cpp:2510 src/libslic3r/PrintConfig.cpp:2518
+#: src/libslic3r/PrintConfig.cpp:2531 src/libslic3r/PrintConfig.cpp:2541
+#: src/libslic3r/PrintConfig.cpp:2549 src/libslic3r/PrintConfig.cpp:2567
+#: src/libslic3r/PrintConfig.cpp:2584 src/libslic3r/PrintConfig.cpp:2605
+#: src/libslic3r/PrintConfig.cpp:2618 src/libslic3r/PrintConfig.cpp:2635
+#: src/libslic3r/PrintConfig.cpp:2653 src/libslic3r/PrintConfig.cpp:2668
+#: src/libslic3r/PrintConfig.cpp:2678 src/libslic3r/PrintConfig.cpp:2687
+#: src/libslic3r/PrintConfig.cpp:2698 src/libslic3r/PrintConfig.cpp:2712
+#: src/libslic3r/PrintConfig.cpp:2728 src/libslic3r/PrintConfig.cpp:2736
+#: src/libslic3r/PrintConfig.cpp:2737 src/libslic3r/PrintConfig.cpp:2746
+#: src/libslic3r/PrintConfig.cpp:2760 src/libslic3r/PrintConfig.cpp:2768
+#: src/libslic3r/PrintConfig.cpp:2782
msgid "Support material"
msgstr ""
#: src/slic3r/GUI/GUI_Factories.cpp:59 src/slic3r/GUI/GUI_Factories.cpp:135
-#: src/libslic3r/PrintConfig.cpp:2998 src/libslic3r/PrintConfig.cpp:3006
+#: src/libslic3r/PrintConfig.cpp:3004 src/libslic3r/PrintConfig.cpp:3012
msgid "Wipe options"
msgstr ""
@@ -3531,11 +3580,11 @@ msgid "Pad and Support"
msgstr ""
#: src/slic3r/GUI/GUI_Factories.cpp:129 src/slic3r/GUI/GUI_Preview.cpp:245
-#: src/slic3r/GUI/Tab.cpp:1512 src/libslic3r/ExtrusionEntity.cpp:324
-#: src/libslic3r/ExtrusionEntity.cpp:352 src/libslic3r/PrintConfig.cpp:1531
-#: src/libslic3r/PrintConfig.cpp:1537 src/libslic3r/PrintConfig.cpp:1551
-#: src/libslic3r/PrintConfig.cpp:1561 src/libslic3r/PrintConfig.cpp:1569
-#: src/libslic3r/PrintConfig.cpp:1571
+#: src/slic3r/GUI/Tab.cpp:1516 src/libslic3r/ExtrusionEntity.cpp:324
+#: src/libslic3r/ExtrusionEntity.cpp:352 src/libslic3r/PrintConfig.cpp:1537
+#: src/libslic3r/PrintConfig.cpp:1543 src/libslic3r/PrintConfig.cpp:1557
+#: src/libslic3r/PrintConfig.cpp:1567 src/libslic3r/PrintConfig.cpp:1575
+#: src/libslic3r/PrintConfig.cpp:1577
msgid "Ironing"
msgstr ""
@@ -3546,80 +3595,80 @@ msgid "Fuzzy Skin"
msgstr ""
#: src/slic3r/GUI/GUI_Factories.cpp:132 src/slic3r/GUI/GUI_Preview.cpp:220
-#: src/slic3r/GUI/Tab.cpp:1580 src/libslic3r/PrintConfig.cpp:484
+#: src/slic3r/GUI/Tab.cpp:1584 src/libslic3r/PrintConfig.cpp:484
#: src/libslic3r/PrintConfig.cpp:740 src/libslic3r/PrintConfig.cpp:1303
-#: src/libslic3r/PrintConfig.cpp:1488 src/libslic3r/PrintConfig.cpp:1570
-#: src/libslic3r/PrintConfig.cpp:1964 src/libslic3r/PrintConfig.cpp:2296
-#: src/libslic3r/PrintConfig.cpp:2349 src/libslic3r/PrintConfig.cpp:2847
+#: src/libslic3r/PrintConfig.cpp:1494 src/libslic3r/PrintConfig.cpp:1576
+#: src/libslic3r/PrintConfig.cpp:1970 src/libslic3r/PrintConfig.cpp:2302
+#: src/libslic3r/PrintConfig.cpp:2355 src/libslic3r/PrintConfig.cpp:2853
msgid "Speed"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:133 src/slic3r/GUI/Tab.cpp:1619
-#: src/slic3r/GUI/Tab.cpp:2272 src/libslic3r/PrintConfig.cpp:770
-#: src/libslic3r/PrintConfig.cpp:1441 src/libslic3r/PrintConfig.cpp:1941
-#: src/libslic3r/PrintConfig.cpp:2317 src/libslic3r/PrintConfig.cpp:2591
-#: src/libslic3r/PrintConfig.cpp:2619
+#: src/slic3r/GUI/GUI_Factories.cpp:133 src/slic3r/GUI/Tab.cpp:1623
+#: src/slic3r/GUI/Tab.cpp:2296 src/libslic3r/PrintConfig.cpp:770
+#: src/libslic3r/PrintConfig.cpp:1447 src/libslic3r/PrintConfig.cpp:1947
+#: src/libslic3r/PrintConfig.cpp:2323 src/libslic3r/PrintConfig.cpp:2597
+#: src/libslic3r/PrintConfig.cpp:2625
msgid "Extruders"
msgstr ""
#: src/slic3r/GUI/GUI_Factories.cpp:134 src/libslic3r/PrintConfig.cpp:728
#: src/libslic3r/PrintConfig.cpp:838 src/libslic3r/PrintConfig.cpp:1195
-#: src/libslic3r/PrintConfig.cpp:1449 src/libslic3r/PrintConfig.cpp:1950
-#: src/libslic3r/PrintConfig.cpp:2337 src/libslic3r/PrintConfig.cpp:2600
-#: src/libslic3r/PrintConfig.cpp:2834
+#: src/libslic3r/PrintConfig.cpp:1455 src/libslic3r/PrintConfig.cpp:1956
+#: src/libslic3r/PrintConfig.cpp:2343 src/libslic3r/PrintConfig.cpp:2606
+#: src/libslic3r/PrintConfig.cpp:2840
msgid "Extrusion Width"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:136 src/slic3r/GUI/Tab.cpp:1532
+#: src/slic3r/GUI/GUI_Factories.cpp:136 src/slic3r/GUI/Tab.cpp:1536
#: src/libslic3r/PrintConfig.cpp:494 src/libslic3r/PrintConfig.cpp:505
#: src/libslic3r/PrintConfig.cpp:521
msgid "Skirt and brim"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:138 src/slic3r/GUI/Tab.cpp:1491
-#: src/slic3r/GUI/Tab.cpp:1524 src/slic3r/GUI/Tab.cpp:1641
-#: src/slic3r/GUI/Tab.cpp:1645 src/slic3r/GUI/Tab.cpp:1999
-#: src/slic3r/GUI/Tab.cpp:2366 src/slic3r/GUI/Tab.cpp:4390
+#: src/slic3r/GUI/GUI_Factories.cpp:138 src/slic3r/GUI/Tab.cpp:1495
+#: src/slic3r/GUI/Tab.cpp:1528 src/slic3r/GUI/Tab.cpp:1645
+#: src/slic3r/GUI/Tab.cpp:1649 src/slic3r/GUI/Tab.cpp:2023
+#: src/slic3r/GUI/Tab.cpp:2393 src/slic3r/GUI/Tab.cpp:4661
#: src/libslic3r/PrintConfig.cpp:247 src/libslic3r/PrintConfig.cpp:472
-#: src/libslic3r/PrintConfig.cpp:1390 src/libslic3r/PrintConfig.cpp:1477
-#: src/libslic3r/PrintConfig.cpp:1524 src/libslic3r/PrintConfig.cpp:2474
-#: src/libslic3r/PrintConfig.cpp:2484 src/libslic3r/PrintConfig.cpp:3022
-#: src/libslic3r/PrintConfig.cpp:3218
+#: src/libslic3r/PrintConfig.cpp:1396 src/libslic3r/PrintConfig.cpp:1483
+#: src/libslic3r/PrintConfig.cpp:1530 src/libslic3r/PrintConfig.cpp:2480
+#: src/libslic3r/PrintConfig.cpp:2490 src/libslic3r/PrintConfig.cpp:3028
+#: src/libslic3r/PrintConfig.cpp:3224
msgid "Advanced"
msgstr ""
#: src/slic3r/GUI/GUI_Factories.cpp:140 src/slic3r/GUI/Plater.cpp:428
-#: src/slic3r/GUI/Tab.cpp:4324 src/slic3r/GUI/Tab.cpp:4325
-#: src/libslic3r/PrintConfig.cpp:3412 src/libslic3r/PrintConfig.cpp:3419
-#: src/libslic3r/PrintConfig.cpp:3428 src/libslic3r/PrintConfig.cpp:3437
-#: src/libslic3r/PrintConfig.cpp:3447 src/libslic3r/PrintConfig.cpp:3457
-#: src/libslic3r/PrintConfig.cpp:3494 src/libslic3r/PrintConfig.cpp:3501
-#: src/libslic3r/PrintConfig.cpp:3512 src/libslic3r/PrintConfig.cpp:3522
-#: src/libslic3r/PrintConfig.cpp:3531 src/libslic3r/PrintConfig.cpp:3544
-#: src/libslic3r/PrintConfig.cpp:3554 src/libslic3r/PrintConfig.cpp:3563
-#: src/libslic3r/PrintConfig.cpp:3573 src/libslic3r/PrintConfig.cpp:3584
-#: src/libslic3r/PrintConfig.cpp:3592
+#: src/slic3r/GUI/Tab.cpp:4595 src/slic3r/GUI/Tab.cpp:4596
+#: src/libslic3r/PrintConfig.cpp:3418 src/libslic3r/PrintConfig.cpp:3425
+#: src/libslic3r/PrintConfig.cpp:3434 src/libslic3r/PrintConfig.cpp:3443
+#: src/libslic3r/PrintConfig.cpp:3453 src/libslic3r/PrintConfig.cpp:3463
+#: src/libslic3r/PrintConfig.cpp:3500 src/libslic3r/PrintConfig.cpp:3507
+#: src/libslic3r/PrintConfig.cpp:3518 src/libslic3r/PrintConfig.cpp:3528
+#: src/libslic3r/PrintConfig.cpp:3537 src/libslic3r/PrintConfig.cpp:3550
+#: src/libslic3r/PrintConfig.cpp:3560 src/libslic3r/PrintConfig.cpp:3569
+#: src/libslic3r/PrintConfig.cpp:3579 src/libslic3r/PrintConfig.cpp:3590
+#: src/libslic3r/PrintConfig.cpp:3598
msgid "Supports"
msgstr ""
#: src/slic3r/GUI/GUI_Factories.cpp:141 src/slic3r/GUI/Plater.cpp:574
-#: src/slic3r/GUI/Tab.cpp:4365 src/slic3r/GUI/Tab.cpp:4366
-#: src/slic3r/GUI/Tab.cpp:4438 src/libslic3r/PrintConfig.cpp:3600
-#: src/libslic3r/PrintConfig.cpp:3607 src/libslic3r/PrintConfig.cpp:3621
-#: src/libslic3r/PrintConfig.cpp:3632 src/libslic3r/PrintConfig.cpp:3642
-#: src/libslic3r/PrintConfig.cpp:3664 src/libslic3r/PrintConfig.cpp:3675
-#: src/libslic3r/PrintConfig.cpp:3682 src/libslic3r/PrintConfig.cpp:3689
-#: src/libslic3r/PrintConfig.cpp:3700 src/libslic3r/PrintConfig.cpp:3709
-#: src/libslic3r/PrintConfig.cpp:3718
+#: src/slic3r/GUI/Tab.cpp:4636 src/slic3r/GUI/Tab.cpp:4637
+#: src/slic3r/GUI/Tab.cpp:4709 src/libslic3r/PrintConfig.cpp:3606
+#: src/libslic3r/PrintConfig.cpp:3613 src/libslic3r/PrintConfig.cpp:3627
+#: src/libslic3r/PrintConfig.cpp:3638 src/libslic3r/PrintConfig.cpp:3648
+#: src/libslic3r/PrintConfig.cpp:3670 src/libslic3r/PrintConfig.cpp:3681
+#: src/libslic3r/PrintConfig.cpp:3688 src/libslic3r/PrintConfig.cpp:3695
+#: src/libslic3r/PrintConfig.cpp:3706 src/libslic3r/PrintConfig.cpp:3715
+#: src/libslic3r/PrintConfig.cpp:3724
msgid "Pad"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:142 src/slic3r/GUI/Tab.cpp:4383
-#: src/slic3r/GUI/Tab.cpp:4384 src/libslic3r/SLA/Hollowing.cpp:72
+#: src/slic3r/GUI/GUI_Factories.cpp:142 src/slic3r/GUI/Tab.cpp:4654
+#: src/slic3r/GUI/Tab.cpp:4655 src/libslic3r/SLA/Hollowing.cpp:72
#: src/libslic3r/SLA/Hollowing.cpp:84 src/libslic3r/SLA/Hollowing.cpp:91
-#: src/libslic3r/SLA/Hollowing.cpp:100 src/libslic3r/PrintConfig.cpp:3728
-#: src/libslic3r/PrintConfig.cpp:3735 src/libslic3r/PrintConfig.cpp:3745
-#: src/libslic3r/PrintConfig.cpp:3754
+#: src/libslic3r/SLA/Hollowing.cpp:100 src/libslic3r/PrintConfig.cpp:3734
+#: src/libslic3r/PrintConfig.cpp:3741 src/libslic3r/PrintConfig.cpp:3751
+#: src/libslic3r/PrintConfig.cpp:3760
msgid "Hollowing"
msgstr ""
@@ -3718,7 +3767,7 @@ msgstr ""
msgid "Reload the selected volumes from disk"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:733 src/slic3r/GUI/Plater.cpp:3485
+#: src/slic3r/GUI/GUI_Factories.cpp:733 src/slic3r/GUI/Plater.cpp:3534
msgid "Replace with STL"
msgstr ""
@@ -3732,125 +3781,125 @@ msgstr ""
#: src/slic3r/GUI/GUI_Factories.cpp:778 src/slic3r/Utils/Repetier.cpp:126
#: src/slic3r/Utils/Repetier.cpp:209 src/libslic3r/PrintConfig.cpp:612
-#: src/libslic3r/PrintConfig.cpp:2714
+#: src/libslic3r/PrintConfig.cpp:2720
msgid "Default"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:796 src/slic3r/GUI/GUI_Factories.cpp:800
+#: src/slic3r/GUI/GUI_Factories.cpp:795
msgid "Scale to print volume"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:796 src/slic3r/GUI/GUI_Factories.cpp:800
+#: src/slic3r/GUI/GUI_Factories.cpp:795
msgid "Scale the selected object to fit the print volume"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:840 src/slic3r/GUI/Plater.cpp:5555
+#: src/slic3r/GUI/GUI_Factories.cpp:835 src/slic3r/GUI/Plater.cpp:5605
msgid "Convert from imperial units"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:841 src/slic3r/GUI/Plater.cpp:5556
+#: src/slic3r/GUI/GUI_Factories.cpp:836 src/slic3r/GUI/Plater.cpp:5606
msgid "Revert conversion from imperial units"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:842 src/slic3r/GUI/Plater.cpp:5557
+#: src/slic3r/GUI/GUI_Factories.cpp:837 src/slic3r/GUI/Plater.cpp:5607
msgid "Convert from meters"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:843 src/slic3r/GUI/Plater.cpp:5557
+#: src/slic3r/GUI/GUI_Factories.cpp:838 src/slic3r/GUI/Plater.cpp:5607
msgid "Revert conversion from meters"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:864 src/slic3r/GUI/GUI_ObjectList.cpp:2133
-#: src/libslic3r/PrintConfig.cpp:4365
+#: src/slic3r/GUI/GUI_Factories.cpp:859 src/slic3r/GUI/GUI_ObjectList.cpp:2133
+#: src/libslic3r/PrintConfig.cpp:4371
msgid "Merge"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:864
+#: src/slic3r/GUI/GUI_Factories.cpp:859
msgid "Merge objects to the one multipart object"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:883
+#: src/slic3r/GUI/GUI_Factories.cpp:878
msgid "Along X axis"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:883
+#: src/slic3r/GUI/GUI_Factories.cpp:878
msgid "Mirror the selected object along the X axis"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:885
+#: src/slic3r/GUI/GUI_Factories.cpp:880
msgid "Along Y axis"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:885
+#: src/slic3r/GUI/GUI_Factories.cpp:880
msgid "Mirror the selected object along the Y axis"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:887
+#: src/slic3r/GUI/GUI_Factories.cpp:882
msgid "Along Z axis"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:887
+#: src/slic3r/GUI/GUI_Factories.cpp:882
msgid "Mirror the selected object along the Z axis"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:890
+#: src/slic3r/GUI/GUI_Factories.cpp:885
msgid "Mirror"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:890
+#: src/slic3r/GUI/GUI_Factories.cpp:885
msgid "Mirror the selected object"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:906 src/slic3r/GUI/GUI_ObjectList.cpp:1696
+#: src/slic3r/GUI/GUI_Factories.cpp:901 src/slic3r/GUI/GUI_ObjectList.cpp:1696
msgid "Add Shape"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:942
+#: src/slic3r/GUI/GUI_Factories.cpp:937
msgid "To objects"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:942 src/slic3r/GUI/GUI_Factories.cpp:959
+#: src/slic3r/GUI/GUI_Factories.cpp:937 src/slic3r/GUI/GUI_Factories.cpp:954
msgid "Split the selected object into individual objects"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:945
+#: src/slic3r/GUI/GUI_Factories.cpp:940
msgid "To parts"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:945 src/slic3r/GUI/GUI_Factories.cpp:980
+#: src/slic3r/GUI/GUI_Factories.cpp:940 src/slic3r/GUI/GUI_Factories.cpp:975
msgid "Split the selected object into individual parts"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:949 src/slic3r/GUI/GUI_Factories.cpp:959
-#: src/slic3r/GUI/GUI_Factories.cpp:980 src/libslic3r/PrintConfig.cpp:4394
+#: src/slic3r/GUI/GUI_Factories.cpp:944 src/slic3r/GUI/GUI_Factories.cpp:954
+#: src/slic3r/GUI/GUI_Factories.cpp:975 src/libslic3r/PrintConfig.cpp:4400
msgid "Split"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:949
+#: src/slic3r/GUI/GUI_Factories.cpp:944
msgid "Split the selected object"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:1089
+#: src/slic3r/GUI/GUI_Factories.cpp:1084
msgid "Add one more instance of the selected object"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:1092
+#: src/slic3r/GUI/GUI_Factories.cpp:1087
msgid "Remove one instance of the selected object"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:1095
+#: src/slic3r/GUI/GUI_Factories.cpp:1090
msgid "Set number of instances"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:1095
+#: src/slic3r/GUI/GUI_Factories.cpp:1090
msgid "Change the number of instances of the selected object"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:1099
+#: src/slic3r/GUI/GUI_Factories.cpp:1094
msgid "Fill bed with instances"
msgstr ""
-#: src/slic3r/GUI/GUI_Factories.cpp:1099
+#: src/slic3r/GUI/GUI_Factories.cpp:1094
msgid "Fill the remaining area of bed with instances of the selected object"
msgstr ""
@@ -4013,11 +4062,11 @@ msgstr ""
msgid "Load Modifier"
msgstr ""
-#: src/slic3r/GUI/GUI_ObjectList.cpp:1509 src/slic3r/GUI/Plater.cpp:2356
+#: src/slic3r/GUI/GUI_ObjectList.cpp:1509 src/slic3r/GUI/Plater.cpp:2379
msgid "Loading"
msgstr ""
-#: src/slic3r/GUI/GUI_ObjectList.cpp:1540 src/slic3r/GUI/Plater.cpp:2376
+#: src/slic3r/GUI/GUI_ObjectList.cpp:1540 src/slic3r/GUI/Plater.cpp:2399
msgid "Loading file"
msgstr ""
@@ -4449,15 +4498,15 @@ msgstr ""
msgid "Height"
msgstr ""
-#: src/slic3r/GUI/GUI_Preview.cpp:219 src/libslic3r/PrintConfig.cpp:2976
+#: src/slic3r/GUI/GUI_Preview.cpp:219 src/libslic3r/PrintConfig.cpp:2982
msgid "Width"
msgstr ""
-#: src/slic3r/GUI/GUI_Preview.cpp:221 src/slic3r/GUI/Tab.cpp:1984
+#: src/slic3r/GUI/GUI_Preview.cpp:221 src/slic3r/GUI/Tab.cpp:2008
msgid "Fan speed"
msgstr ""
-#: src/slic3r/GUI/GUI_Preview.cpp:222 src/slic3r/GUI/Tab.cpp:1959
+#: src/slic3r/GUI/GUI_Preview.cpp:222 src/slic3r/GUI/Tab.cpp:1983
msgid "Temperature"
msgstr ""
@@ -4494,14 +4543,14 @@ msgid "Internal infill"
msgstr ""
#: src/slic3r/GUI/GUI_Preview.cpp:243 src/libslic3r/ExtrusionEntity.cpp:322
-#: src/libslic3r/ExtrusionEntity.cpp:348 src/libslic3r/PrintConfig.cpp:2336
-#: src/libslic3r/PrintConfig.cpp:2348
+#: src/libslic3r/ExtrusionEntity.cpp:348 src/libslic3r/PrintConfig.cpp:2342
+#: src/libslic3r/PrintConfig.cpp:2354
msgid "Solid infill"
msgstr ""
#: src/slic3r/GUI/GUI_Preview.cpp:244 src/libslic3r/ExtrusionEntity.cpp:323
-#: src/libslic3r/ExtrusionEntity.cpp:350 src/libslic3r/PrintConfig.cpp:2833
-#: src/libslic3r/PrintConfig.cpp:2846
+#: src/libslic3r/ExtrusionEntity.cpp:350 src/libslic3r/PrintConfig.cpp:2839
+#: src/libslic3r/PrintConfig.cpp:2852
msgid "Top solid infill"
msgstr ""
@@ -4521,11 +4570,11 @@ msgid "Skirt/Brim"
msgstr ""
#: src/slic3r/GUI/GUI_Preview.cpp:250 src/libslic3r/ExtrusionEntity.cpp:329
-#: src/libslic3r/ExtrusionEntity.cpp:362 src/libslic3r/PrintConfig.cpp:2680
+#: src/libslic3r/ExtrusionEntity.cpp:362 src/libslic3r/PrintConfig.cpp:2686
msgid "Support material interface"
msgstr ""
-#: src/slic3r/GUI/GUI_Preview.cpp:251 src/slic3r/GUI/Tab.cpp:1630
+#: src/slic3r/GUI/GUI_Preview.cpp:251 src/slic3r/GUI/Tab.cpp:1634
#: src/libslic3r/ExtrusionEntity.cpp:330 src/libslic3r/ExtrusionEntity.cpp:364
msgid "Wipe tower"
msgstr ""
@@ -4543,15 +4592,15 @@ msgstr ""
msgid "Apply color change automatically"
msgstr ""
-#: src/slic3r/GUI/GUI_Preview.cpp:1057
+#: src/slic3r/GUI/GUI_Preview.cpp:1058
msgid "Shells"
msgstr ""
-#: src/slic3r/GUI/GUI_Preview.cpp:1058
+#: src/slic3r/GUI/GUI_Preview.cpp:1059
msgid "Tool marker"
msgstr ""
-#: src/slic3r/GUI/GUI_Preview.cpp:1059
+#: src/slic3r/GUI/GUI_Preview.cpp:1060
msgid "Legend/Estimated printing time"
msgstr ""
@@ -4570,19 +4619,19 @@ msgstr ""
msgid "Open Documentation in web browser."
msgstr ""
-#: src/slic3r/GUI/ImGuiWrapper.cpp:532
+#: src/slic3r/GUI/ImGuiWrapper.cpp:527
msgid "Edit"
msgstr ""
-#: src/slic3r/GUI/ImGuiWrapper.cpp:985 src/slic3r/GUI/Search.cpp:479
+#: src/slic3r/GUI/ImGuiWrapper.cpp:960 src/slic3r/GUI/Search.cpp:479
msgid "Use for search"
msgstr ""
-#: src/slic3r/GUI/ImGuiWrapper.cpp:986 src/slic3r/GUI/Search.cpp:472
+#: src/slic3r/GUI/ImGuiWrapper.cpp:961 src/slic3r/GUI/Search.cpp:472
msgid "Category"
msgstr ""
-#: src/slic3r/GUI/ImGuiWrapper.cpp:988 src/slic3r/GUI/Search.cpp:474
+#: src/slic3r/GUI/ImGuiWrapper.cpp:963 src/slic3r/GUI/Search.cpp:474
msgid "Search in English"
msgstr ""
@@ -4726,11 +4775,11 @@ msgid ""
"presets were used as fallback."
msgstr ""
-#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:223 src/slic3r/GUI/Plater.cpp:2403
+#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:223 src/slic3r/GUI/Plater.cpp:2426
msgid "You cannot load SLA project with a multi-part object on the bed"
msgstr ""
-#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:225 src/slic3r/GUI/Plater.cpp:2405
+#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:225 src/slic3r/GUI/Plater.cpp:2428
msgid "Attention!"
msgstr ""
@@ -4771,11 +4820,11 @@ msgid "Load Config from ini/amf/3mf/gcode and merge"
msgstr ""
#: src/slic3r/GUI/KBShortcutsDialog.cpp:87 src/slic3r/GUI/Plater.cpp:912
-#: src/slic3r/GUI/Plater.cpp:6453 src/libslic3r/PrintConfig.cpp:4265
+#: src/slic3r/GUI/Plater.cpp:6492 src/libslic3r/PrintConfig.cpp:4271
msgid "Export G-code"
msgstr ""
-#: src/slic3r/GUI/KBShortcutsDialog.cpp:88 src/slic3r/GUI/Plater.cpp:6454
+#: src/slic3r/GUI/KBShortcutsDialog.cpp:88 src/slic3r/GUI/Plater.cpp:6493
msgid "Send G-code"
msgstr ""
@@ -4842,7 +4891,7 @@ msgid "Switch to Preview"
msgstr ""
#: src/slic3r/GUI/KBShortcutsDialog.cpp:114
-#: src/slic3r/GUI/PrintHostDialogs.cpp:216
+#: src/slic3r/GUI/PrintHostDialogs.cpp:217
msgid "Print host upload queue"
msgstr ""
@@ -5156,8 +5205,8 @@ msgstr ""
msgid "Show/Hide G-code window"
msgstr ""
-#: src/slic3r/GUI/KBShortcutsDialog.cpp:230 src/slic3r/GUI/Plater.cpp:4394
-#: src/slic3r/GUI/Tab.cpp:2793
+#: src/slic3r/GUI/KBShortcutsDialog.cpp:230 src/slic3r/GUI/Plater.cpp:4446
+#: src/slic3r/GUI/Tab.cpp:2822
msgid "Preview"
msgstr ""
@@ -5268,29 +5317,29 @@ msgid "Closing PrusaSlicer while some presets are modified."
msgstr ""
#: src/slic3r/GUI/MainFrame.cpp:285 src/slic3r/GUI/MainFrame.cpp:335
-#: src/slic3r/GUI/Tab.hpp:376 src/slic3r/GUI/Tab.hpp:494
+#: src/slic3r/GUI/Tab.hpp:414 src/slic3r/GUI/Tab.hpp:537
msgid "Print Settings"
msgstr ""
#: src/slic3r/GUI/MainFrame.cpp:286 src/slic3r/GUI/MainFrame.cpp:339
#: src/slic3r/GUI/MainFrame.cpp:2096 src/slic3r/GUI/MainFrame.cpp:2097
-#: src/slic3r/GUI/Tab.hpp:479
+#: src/slic3r/GUI/Tab.hpp:522
msgid "Material Settings"
msgstr ""
#: src/slic3r/GUI/MainFrame.cpp:286 src/slic3r/GUI/MainFrame.cpp:337
#: src/slic3r/GUI/MainFrame.cpp:2096 src/slic3r/GUI/MainFrame.cpp:2097
-#: src/slic3r/GUI/Tab.hpp:406
+#: src/slic3r/GUI/Tab.hpp:448
msgid "Filament Settings"
msgstr ""
#: src/slic3r/GUI/MainFrame.cpp:287 src/slic3r/GUI/MainFrame.cpp:341
-#: src/slic3r/GUI/Tab.hpp:447
+#: src/slic3r/GUI/Tab.hpp:490
msgid "Printer Settings"
msgstr ""
#: src/slic3r/GUI/MainFrame.cpp:632 src/slic3r/GUI/Plater.cpp:1721
-#: src/slic3r/GUI/Plater.cpp:2795
+#: src/slic3r/GUI/Plater.cpp:2818
msgid "Untitled"
msgstr ""
@@ -5382,8 +5431,8 @@ msgstr ""
#. TRN To be shown in the main menu View->Top
#. TRN To be shown in Print Settings "Top solid layers"
-#: src/slic3r/GUI/MainFrame.cpp:1118 src/libslic3r/PrintConfig.cpp:2861
-#: src/libslic3r/PrintConfig.cpp:2870
+#: src/slic3r/GUI/MainFrame.cpp:1118 src/libslic3r/PrintConfig.cpp:2867
+#: src/libslic3r/PrintConfig.cpp:2876
msgid "Top"
msgstr ""
@@ -5411,7 +5460,7 @@ msgstr ""
msgid "Front View"
msgstr ""
-#: src/slic3r/GUI/MainFrame.cpp:1125 src/libslic3r/PrintConfig.cpp:2218
+#: src/slic3r/GUI/MainFrame.cpp:1125 src/libslic3r/PrintConfig.cpp:2224
msgid "Rear"
msgstr ""
@@ -5800,7 +5849,7 @@ msgid "Open New Instance"
msgstr ""
#: src/slic3r/GUI/MainFrame.cpp:1417
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1554
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1562
msgid "Compare Presets"
msgstr ""
@@ -5820,7 +5869,7 @@ msgstr ""
msgid "&Collapse Sidebar"
msgstr ""
-#: src/slic3r/GUI/MainFrame.cpp:1430 src/slic3r/GUI/Plater.cpp:2296
+#: src/slic3r/GUI/MainFrame.cpp:1430 src/slic3r/GUI/Plater.cpp:2319
msgid "Collapse sidebar"
msgstr ""
@@ -5909,9 +5958,9 @@ msgstr ""
msgid "Save zip file as:"
msgstr ""
-#: src/slic3r/GUI/MainFrame.cpp:1682 src/slic3r/GUI/Plater.cpp:3276
-#: src/slic3r/GUI/Plater.cpp:5972 src/slic3r/GUI/Tab.cpp:1662
-#: src/slic3r/GUI/Tab.cpp:4391
+#: src/slic3r/GUI/MainFrame.cpp:1682 src/slic3r/GUI/Plater.cpp:3295
+#: src/slic3r/GUI/Plater.cpp:6011 src/slic3r/GUI/Tab.cpp:1666
+#: src/slic3r/GUI/Tab.cpp:4662
msgid "Slicing"
msgstr ""
@@ -5942,7 +5991,7 @@ msgstr ""
msgid "Your file was repaired."
msgstr ""
-#: src/slic3r/GUI/MainFrame.cpp:1747 src/libslic3r/PrintConfig.cpp:4370
+#: src/slic3r/GUI/MainFrame.cpp:1747 src/libslic3r/PrintConfig.cpp:4376
msgid "Repair"
msgstr ""
@@ -6015,32 +6064,32 @@ msgstr ""
msgid "Swap Y/Z axes"
msgstr ""
-#: src/slic3r/GUI/MsgDialog.cpp:203
+#: src/slic3r/GUI/MsgDialog.cpp:212
#, possible-c-format, possible-boost-format
msgid "%s error"
msgstr ""
-#: src/slic3r/GUI/MsgDialog.cpp:204
+#: src/slic3r/GUI/MsgDialog.cpp:213
#, possible-c-format, possible-boost-format
msgid "%s has encountered an error"
msgstr ""
-#: src/slic3r/GUI/MsgDialog.cpp:223
+#: src/slic3r/GUI/MsgDialog.cpp:232
#, possible-c-format, possible-boost-format
msgid "%s warning"
msgstr ""
-#: src/slic3r/GUI/MsgDialog.cpp:224
+#: src/slic3r/GUI/MsgDialog.cpp:233
#, possible-c-format, possible-boost-format
msgid "%s has a warning"
msgstr ""
-#: src/slic3r/GUI/MsgDialog.cpp:237 src/slic3r/GUI/MsgDialog.cpp:250
+#: src/slic3r/GUI/MsgDialog.cpp:246 src/slic3r/GUI/MsgDialog.cpp:259
#, possible-c-format, possible-boost-format
msgid "%s info"
msgstr ""
-#: src/slic3r/GUI/MsgDialog.cpp:278
+#: src/slic3r/GUI/MsgDialog.cpp:287
#, possible-c-format, possible-boost-format
msgid "%s information"
msgstr ""
@@ -6172,7 +6221,7 @@ msgstr ""
#: src/slic3r/GUI/NotificationManager.cpp:1459
#: src/slic3r/GUI/NotificationManager.cpp:1486
#: src/slic3r/GUI/NotificationManager.cpp:1494
-#: src/slic3r/GUI/NotificationManager.cpp:1505 src/slic3r/GUI/Plater.cpp:3144
+#: src/slic3r/GUI/NotificationManager.cpp:1505 src/slic3r/GUI/Plater.cpp:3163
msgid "WARNING:"
msgstr ""
@@ -6198,8 +6247,8 @@ msgstr ""
msgid "Instance %d"
msgstr ""
-#: src/slic3r/GUI/ObjectDataViewModel.cpp:105 src/slic3r/GUI/Tab.cpp:4229
-#: src/slic3r/GUI/Tab.cpp:4320
+#: src/slic3r/GUI/ObjectDataViewModel.cpp:105 src/slic3r/GUI/Tab.cpp:4500
+#: src/slic3r/GUI/Tab.cpp:4591
msgid "Layers"
msgstr ""
@@ -6239,40 +6288,16 @@ msgstr ""
msgid "Error loading shaders"
msgstr ""
-#: src/slic3r/GUI/OptionsGroup.cpp:351
+#: src/slic3r/GUI/OptionsGroup.cpp:352
msgctxt "Layers"
msgid "Top"
msgstr ""
-#: src/slic3r/GUI/OptionsGroup.cpp:351
+#: src/slic3r/GUI/OptionsGroup.cpp:352
msgctxt "Layers"
msgid "Bottom"
msgstr ""
-#: src/slic3r/GUI/OptionsGroup.cpp:991 src/slic3r/GUI/Preferences.cpp:362
-msgid "Suppress to open hyperlink in browser"
-msgstr ""
-
-#: src/slic3r/GUI/OptionsGroup.cpp:993
-msgid "PrusaSlicer will remember your choice."
-msgstr ""
-
-#: src/slic3r/GUI/OptionsGroup.cpp:994
-msgid "You will not be asked about it again on label hovering."
-msgstr ""
-
-#: src/slic3r/GUI/OptionsGroup.cpp:995
-#, possible-boost-format
-msgid ""
-"Visit \"Preferences\" and check \"%1%\"\n"
-"to changes your choice."
-msgstr ""
-
-#: src/slic3r/GUI/OptionsGroup.cpp:997
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:905
-msgid "PrusaSlicer: Don't ask me again"
-msgstr ""
-
#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:52
msgid "Delete this preset from this printer device"
msgstr ""
@@ -6293,7 +6318,7 @@ msgstr ""
msgid "Add preset for this printer device"
msgstr ""
-#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:210 src/slic3r/GUI/Tab.cpp:2223
+#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:210 src/slic3r/GUI/Tab.cpp:2247
msgid "Print Host upload"
msgstr ""
@@ -6407,18 +6432,18 @@ msgstr ""
msgid "Sliced Info"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:296 src/slic3r/GUI/Plater.cpp:1357
+#: src/slic3r/GUI/Plater.cpp:296 src/slic3r/GUI/Plater.cpp:1376
+msgid "Used Filament (g)"
+msgstr ""
+
+#: src/slic3r/GUI/Plater.cpp:297 src/slic3r/GUI/Plater.cpp:1357
msgid "Used Filament (m)"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:297 src/slic3r/GUI/Plater.cpp:1369
+#: src/slic3r/GUI/Plater.cpp:298 src/slic3r/GUI/Plater.cpp:1369
msgid "Used Filament (mm³)"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:298 src/slic3r/GUI/Plater.cpp:1376
-msgid "Used Filament (g)"
-msgstr ""
-
#: src/slic3r/GUI/Plater.cpp:299
msgid "Used Material (unit)"
msgstr ""
@@ -6440,8 +6465,8 @@ msgstr ""
msgid "Select what kind of support do you need"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:433 src/libslic3r/PrintConfig.cpp:2534
-#: src/libslic3r/PrintConfig.cpp:3493
+#: src/slic3r/GUI/Plater.cpp:433 src/libslic3r/PrintConfig.cpp:2540
+#: src/libslic3r/PrintConfig.cpp:3499
msgid "Support on build plate only"
msgstr ""
@@ -6453,7 +6478,7 @@ msgstr ""
msgid "Everywhere"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:467 src/slic3r/GUI/Tab.cpp:1541
+#: src/slic3r/GUI/Plater.cpp:467 src/slic3r/GUI/Tab.cpp:1545
msgid "Brim"
msgstr ""
@@ -6479,12 +6504,12 @@ msgstr ""
msgid "Around object"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:893 src/slic3r/GUI/Plater.cpp:6454
+#: src/slic3r/GUI/Plater.cpp:893 src/slic3r/GUI/Plater.cpp:6493
msgid "Send to printer"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:913 src/slic3r/GUI/Plater.cpp:3276
-#: src/slic3r/GUI/Plater.cpp:5975
+#: src/slic3r/GUI/Plater.cpp:913 src/slic3r/GUI/Plater.cpp:3295
+#: src/slic3r/GUI/Plater.cpp:6014
msgid "Slice now"
msgstr ""
@@ -6539,7 +6564,7 @@ msgid "(including spool)"
msgstr ""
#: src/slic3r/GUI/Plater.cpp:1410 src/libslic3r/PrintConfig.cpp:1045
-#: src/libslic3r/PrintConfig.cpp:3287 src/libslic3r/PrintConfig.cpp:3288
+#: src/libslic3r/PrintConfig.cpp:3293 src/libslic3r/PrintConfig.cpp:3294
msgid "Cost"
msgstr ""
@@ -6563,32 +6588,43 @@ msgstr ""
msgid "Import SLA archive"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:1723
+#: src/slic3r/GUI/Plater.cpp:1727
#, possible-boost-format
msgid "Do you want to save the changes to \"%1%\"?"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2174
+#: src/slic3r/GUI/Plater.cpp:1732 src/slic3r/GUI/Preferences.cpp:222
+msgid "Ask for unsaved changes in project"
+msgstr ""
+
+#: src/slic3r/GUI/Plater.cpp:1735
+msgid ""
+"You will not be asked about it again, when: \n"
+"- Closing PrusaSlicer,\n"
+"- Loading or creating a new project"
+msgstr ""
+
+#: src/slic3r/GUI/Plater.cpp:2197
#, possible-c-format, possible-boost-format
msgid ""
"Successfully unmounted. The device %s(%s) can now be safely removed from the "
"computer."
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2179
+#: src/slic3r/GUI/Plater.cpp:2202
#, possible-c-format, possible-boost-format
msgid "Ejecting of device %s(%s) has failed."
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2198 src/slic3r/GUI/Plater.cpp:5024
+#: src/slic3r/GUI/Plater.cpp:2221 src/slic3r/GUI/Plater.cpp:5074
msgid "New Project"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2295
+#: src/slic3r/GUI/Plater.cpp:2318
msgid "Expand sidebar"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2463
+#: src/slic3r/GUI/Plater.cpp:2486
msgid ""
"The preset below was temporarily installed on the active instance of "
"PrusaSlicer"
@@ -6598,12 +6634,12 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/slic3r/GUI/Plater.cpp:2493
+#: src/slic3r/GUI/Plater.cpp:2516
#, possible-boost-format
msgid "Failed loading file \"%1%\" due to an invalid configuration."
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2513
+#: src/slic3r/GUI/Plater.cpp:2536
#, possible-c-format, possible-boost-format
msgid ""
"Object size from file %s appears to be zero.\n"
@@ -6614,11 +6650,11 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/slic3r/GUI/Plater.cpp:2517
+#: src/slic3r/GUI/Plater.cpp:2540
msgid "The size of the object is zero"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2530
+#: src/slic3r/GUI/Plater.cpp:2553
#, possible-c-format, possible-boost-format
msgid ""
"The dimensions of the object from file %s seem to be defined in meters.\n"
@@ -6631,15 +6667,15 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/slic3r/GUI/Plater.cpp:2534 src/slic3r/GUI/Plater.cpp:2556
+#: src/slic3r/GUI/Plater.cpp:2557 src/slic3r/GUI/Plater.cpp:2579
msgid "The object is too small"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2535 src/slic3r/GUI/Plater.cpp:2557
+#: src/slic3r/GUI/Plater.cpp:2558 src/slic3r/GUI/Plater.cpp:2580
msgid "Apply to all the remaining small objects being loaded."
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2552
+#: src/slic3r/GUI/Plater.cpp:2575
#, possible-c-format, possible-boost-format
msgid ""
"The dimensions of the object from file %s seem to be defined in inches.\n"
@@ -6652,180 +6688,180 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/slic3r/GUI/Plater.cpp:2570
+#: src/slic3r/GUI/Plater.cpp:2593
msgid ""
"This file contains several objects positioned at multiple heights.\n"
"Instead of considering them as multiple objects, should \n"
"the file be loaded as a single object having multiple parts?"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2573 src/slic3r/GUI/Plater.cpp:2628
+#: src/slic3r/GUI/Plater.cpp:2596 src/slic3r/GUI/Plater.cpp:2651
msgid "Multi-part object detected"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2581
+#: src/slic3r/GUI/Plater.cpp:2604
msgid ""
"This file cannot be loaded in a simple mode. Do you want to switch to an "
"advanced mode?"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2582
+#: src/slic3r/GUI/Plater.cpp:2605
msgid "Detected advanced data"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2602
+#: src/slic3r/GUI/Plater.cpp:2625
#, possible-c-format, possible-boost-format
msgid ""
"You can't to add the object(s) from %s because of one or some of them "
"is(are) multi-part"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2625
+#: src/slic3r/GUI/Plater.cpp:2648
msgid ""
"Multiple objects were loaded for a multi-material printer.\n"
"Instead of considering them as multiple objects, should I consider\n"
"these files to represent a single object having multiple parts?"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2744
+#: src/slic3r/GUI/Plater.cpp:2767
msgid ""
"Your object appears to be too large, so it was automatically scaled down to "
"fit your print bed."
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2745
+#: src/slic3r/GUI/Plater.cpp:2768
msgid "Object too large?"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2823
+#: src/slic3r/GUI/Plater.cpp:2846
msgid "Export STL file:"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2830
+#: src/slic3r/GUI/Plater.cpp:2853
msgid "Export AMF file:"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2836
+#: src/slic3r/GUI/Plater.cpp:2859
msgid "Save file as:"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2842
+#: src/slic3r/GUI/Plater.cpp:2865
msgid "Export OBJ file:"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2940
+#: src/slic3r/GUI/Plater.cpp:2963
msgid "Delete Object"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2952
+#: src/slic3r/GUI/Plater.cpp:2975
msgid "Delete All Objects"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:2980
+#: src/slic3r/GUI/Plater.cpp:3003
msgid "Reset Project"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3063
+#: src/slic3r/GUI/Plater.cpp:3086
msgid ""
"The selected object couldn't be split because it contains only one solid "
"part."
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3070
+#: src/slic3r/GUI/Plater.cpp:3093
msgid "All non-solid parts (modifiers) were deleted"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3072
+#: src/slic3r/GUI/Plater.cpp:3095
msgid "Split to Objects"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3126
+#: src/slic3r/GUI/Plater.cpp:3145
msgid ""
"An object has custom support enforcers which will not be used because "
"supports are disabled."
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3128
+#: src/slic3r/GUI/Plater.cpp:3147
msgid "Enable supports for enforcers only"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3257 src/slic3r/GUI/Plater.cpp:4090
+#: src/slic3r/GUI/Plater.cpp:3276 src/slic3r/GUI/Plater.cpp:4142
msgid "Invalid data"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3327
+#: src/slic3r/GUI/Plater.cpp:3346
msgid "Another export job is currently running."
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3385
+#: src/slic3r/GUI/Plater.cpp:3432
msgid "Replace from:"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3401
+#: src/slic3r/GUI/Plater.cpp:3450
msgid "Unable to replace with more than one volume"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3401 src/slic3r/GUI/Plater.cpp:3480
+#: src/slic3r/GUI/Plater.cpp:3450 src/slic3r/GUI/Plater.cpp:3529
msgid "Error during replace"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3472
+#: src/slic3r/GUI/Plater.cpp:3521
msgid "Select the new file"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3480
+#: src/slic3r/GUI/Plater.cpp:3529
msgid "File for the replace wasn't selected"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3571
+#: src/slic3r/GUI/Plater.cpp:3620
msgid "Please select the file to reload"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3602 src/slic3r/GUI/Plater.cpp:5152
+#: src/slic3r/GUI/Plater.cpp:3651 src/slic3r/GUI/Plater.cpp:5202
msgid "The selected file"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3603
+#: src/slic3r/GUI/Plater.cpp:3652
msgid "differs from the original file"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3603
+#: src/slic3r/GUI/Plater.cpp:3652
msgid "Do you want to replace it"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3625
+#: src/slic3r/GUI/Plater.cpp:3669 src/slic3r/GUI/Plater.cpp:3675
msgid "Reload from:"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3726
+#: src/slic3r/GUI/Plater.cpp:3778
msgid "Unable to reload:"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3731
+#: src/slic3r/GUI/Plater.cpp:3783
msgid "Error during reload"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:3749
+#: src/slic3r/GUI/Plater.cpp:3801
msgid "Reload all from disk"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:4044
+#: src/slic3r/GUI/Plater.cpp:4096
msgid "There are active warnings concerning sliced models:"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:4055
+#: src/slic3r/GUI/Plater.cpp:4107
msgid "generated warnings"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:4386
+#: src/slic3r/GUI/Plater.cpp:4438
msgid "3D editor view"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:4809
+#: src/slic3r/GUI/Plater.cpp:4859
msgid "Undo / Redo is processing"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:4811
+#: src/slic3r/GUI/Plater.cpp:4861
#, possible-boost-format
msgid ""
"Switching the printer technology from %1% to %2%.\n"
@@ -6833,223 +6869,223 @@ msgid ""
"printer technology."
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5008
+#: src/slic3r/GUI/Plater.cpp:5058
msgid "Creating a new project while the current project is modified."
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5011
+#: src/slic3r/GUI/Plater.cpp:5061
msgid "Creating a new project while some presets are modified."
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5012
+#: src/slic3r/GUI/Plater.cpp:5062
msgid "You can keep presets modifications to the new project or discard them"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5013
+#: src/slic3r/GUI/Plater.cpp:5063
msgid ""
"You can keep presets modifications to the new project, discard them or save "
"changes as new presets.\n"
"Note, if changes will be saved then new project wouldn't keep them"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5019
+#: src/slic3r/GUI/Plater.cpp:5069
msgid "Creating a new project"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5050
+#: src/slic3r/GUI/Plater.cpp:5100
msgid "Load Project"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5076 src/slic3r/GUI/Plater.cpp:5336
+#: src/slic3r/GUI/Plater.cpp:5126 src/slic3r/GUI/Plater.cpp:5386
msgid "Import Object"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5080
+#: src/slic3r/GUI/Plater.cpp:5130
msgid "Import Objects"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5152
+#: src/slic3r/GUI/Plater.cpp:5202
msgid "does not contain valid gcode."
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5153
+#: src/slic3r/GUI/Plater.cpp:5203
msgid "Error while loading .gcode file"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5206
+#: src/slic3r/GUI/Plater.cpp:5256
#, possible-c-format, possible-boost-format
msgid "%s - Drop project file"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5213
+#: src/slic3r/GUI/Plater.cpp:5263
msgid "Open as project"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5214
+#: src/slic3r/GUI/Plater.cpp:5264
msgid "Import geometry only"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5215
+#: src/slic3r/GUI/Plater.cpp:5265
msgid "Import config only"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5218
+#: src/slic3r/GUI/Plater.cpp:5268
msgid "Select an action to apply to the file"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5223
+#: src/slic3r/GUI/Plater.cpp:5273
msgid "Action"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5239
+#: src/slic3r/GUI/Plater.cpp:5289
msgid "Don't show again"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5280
+#: src/slic3r/GUI/Plater.cpp:5330
msgid "You can open only one .gcode file at a time."
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5281
+#: src/slic3r/GUI/Plater.cpp:5331
msgid "Drag and drop G-code file"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5358
+#: src/slic3r/GUI/Plater.cpp:5408
msgid "Load File"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5363
+#: src/slic3r/GUI/Plater.cpp:5413
msgid "Load Files"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5413
+#: src/slic3r/GUI/Plater.cpp:5463
msgid "All objects will be removed, continue?"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5424
+#: src/slic3r/GUI/Plater.cpp:5474
msgid "Delete Selected Objects"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5433
+#: src/slic3r/GUI/Plater.cpp:5483
msgid "Increase Instances"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5467
+#: src/slic3r/GUI/Plater.cpp:5517
msgid "Decrease Instances"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5518
+#: src/slic3r/GUI/Plater.cpp:5568
msgid "Enter the number of copies:"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5519
+#: src/slic3r/GUI/Plater.cpp:5569
msgid "Copies of the selected object"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5523
+#: src/slic3r/GUI/Plater.cpp:5573
#, possible-c-format, possible-boost-format
msgid "Set numbers of copies to %d"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5597
+#: src/slic3r/GUI/Plater.cpp:5647
msgid "Cut by Plane"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5657
+#: src/slic3r/GUI/Plater.cpp:5707
msgid "Save G-code file as:"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5657
+#: src/slic3r/GUI/Plater.cpp:5707
msgid "Save SL1 / SL1S file as:"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5666
+#: src/slic3r/GUI/Plater.cpp:5716
msgid "The provided file name is not valid."
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5667
+#: src/slic3r/GUI/Plater.cpp:5717
msgid "The following characters are not allowed by a FAT file system:"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5865
+#: src/slic3r/GUI/Plater.cpp:5904
msgid ""
"The plater is empty.\n"
"Do you want to save the project?"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:5865
+#: src/slic3r/GUI/Plater.cpp:5904
msgid "Save project"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:6453
+#: src/slic3r/GUI/Plater.cpp:6492
msgid "Export"
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:6487
+#: src/slic3r/GUI/Plater.cpp:6526
msgid ""
"Custom supports, seams and multimaterial painting were removed after "
"repairing the mesh."
msgstr ""
-#: src/slic3r/GUI/Plater.cpp:6601
+#: src/slic3r/GUI/Plater.cpp:6640
msgid "Paste From Clipboard"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:106 src/slic3r/GUI/Tab.cpp:2258
-#: src/slic3r/GUI/Tab.cpp:2481 src/slic3r/GUI/Tab.cpp:2587
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1275
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1663
+#: src/slic3r/GUI/Preferences.cpp:106 src/slic3r/GUI/Tab.cpp:2282
+#: src/slic3r/GUI/Tab.cpp:2508 src/slic3r/GUI/Tab.cpp:2614
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1283
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1671
msgid "General"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:119
+#: src/slic3r/GUI/Preferences.cpp:121
msgid "Remember output directory"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:121
+#: src/slic3r/GUI/Preferences.cpp:123
msgid ""
"If this is enabled, Slic3r will prompt the last output directory instead of "
"the one containing the input files."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:127
+#: src/slic3r/GUI/Preferences.cpp:129
msgid "Auto-center parts"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:129
+#: src/slic3r/GUI/Preferences.cpp:131
msgid ""
"If this is enabled, Slic3r will auto-center objects around the print bed "
"center."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:135
+#: src/slic3r/GUI/Preferences.cpp:137
msgid "Background processing"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:137
+#: src/slic3r/GUI/Preferences.cpp:139
msgid ""
"If this is enabled, Slic3r will pre-process objects as soon as they're "
"loaded in order to save time when exporting G-code."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:146
+#: src/slic3r/GUI/Preferences.cpp:148
msgid "Export sources full pathnames to 3mf and amf"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:148
+#: src/slic3r/GUI/Preferences.cpp:150
msgid ""
"If enabled, allows the Reload from disk command to automatically find and "
"load the files when invoked."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:157
+#: src/slic3r/GUI/Preferences.cpp:159
msgid "If enabled, sets PrusaSlicer as default application to open .3mf files."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:164
+#: src/slic3r/GUI/Preferences.cpp:166
msgid "If enabled, sets PrusaSlicer as default application to open .stl files."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:175
+#: src/slic3r/GUI/Preferences.cpp:177
msgid ""
"If enabled, Slic3r downloads updates of built-in system presets in the "
"background. These updates are downloaded into a separate temporary location. "
@@ -7057,208 +7093,216 @@ msgid ""
"startup."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:180
+#: src/slic3r/GUI/Preferences.cpp:182
msgid "Suppress \" - default - \" presets"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:182
+#: src/slic3r/GUI/Preferences.cpp:184
msgid ""
"Suppress \" - default - \" presets in the Print / Filament / Printer "
"selections once there are any other valid presets available."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:188
+#: src/slic3r/GUI/Preferences.cpp:190
msgid "Show incompatible print and filament presets"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:190
+#: src/slic3r/GUI/Preferences.cpp:192
msgid ""
"When checked, the print and filament presets are shown in the preset editor "
"even if they are marked as incompatible with the active printer"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:198
+#: src/slic3r/GUI/Preferences.cpp:200
msgid "Show drop project dialog"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:200
+#: src/slic3r/GUI/Preferences.cpp:202
msgid ""
"When checked, whenever dragging and dropping a project file on the "
"application, shows a dialog asking to select the action to take on the file "
"to load."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:206 src/slic3r/GUI/Preferences.cpp:210
+#: src/slic3r/GUI/Preferences.cpp:208 src/slic3r/GUI/Preferences.cpp:212
msgid "Allow just a single PrusaSlicer instance"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:208
+#: src/slic3r/GUI/Preferences.cpp:210
msgid ""
"On OSX there is always only one instance of app running by default. However "
"it is allowed to run multiple instances of same app from the command line. "
"In such case this settings will allow only one instance."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:212
+#: src/slic3r/GUI/Preferences.cpp:214
msgid ""
"If this is enabled, when starting PrusaSlicer and another instance of the "
"same PrusaSlicer is already running, that instance will be reactivated "
"instead."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:220
+#: src/slic3r/GUI/Preferences.cpp:224
+msgid ""
+"Always ask for unsaved changes in project, when: \n"
+"- Closing PrusaSlicer,\n"
+"- Loading or creating a new project"
+msgstr ""
+
+#: src/slic3r/GUI/Preferences.cpp:233
#: src/slic3r/GUI/UnsavedChangesDialog.cpp:896
msgid ""
"Ask to save unsaved changes in presets when closing the application or when "
"loading a new project"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:222
+#: src/slic3r/GUI/Preferences.cpp:235
msgid ""
"Always ask for unsaved changes in presets, when: \n"
"- Closing PrusaSlicer while some presets are modified,\n"
"- Loading a new project while some presets are modified"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:229
+#: src/slic3r/GUI/Preferences.cpp:242
#: src/slic3r/GUI/UnsavedChangesDialog.cpp:895
msgid "Ask for unsaved changes in presets when selecting new preset"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:231
+#: src/slic3r/GUI/Preferences.cpp:244
msgid ""
"Always ask for unsaved changes in presets when selecting new preset or "
"resetting a preset"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:236
+#: src/slic3r/GUI/Preferences.cpp:249
#: src/slic3r/GUI/UnsavedChangesDialog.cpp:894
msgid "Ask for unsaved changes in presets when creating new project"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:238
+#: src/slic3r/GUI/Preferences.cpp:251
msgid "Always ask for unsaved changes in presets when creating new project"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:245
+#: src/slic3r/GUI/Preferences.cpp:258
msgid "Associate .gcode files to PrusaSlicer G-code Viewer"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:247
+#: src/slic3r/GUI/Preferences.cpp:260
msgid ""
"If enabled, sets PrusaSlicer G-code Viewer as default application to open ."
"gcode files."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:255
+#: src/slic3r/GUI/Preferences.cpp:268
msgid "Use Retina resolution for the 3D scene"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:257
+#: src/slic3r/GUI/Preferences.cpp:270
msgid ""
"If enabled, the 3D scene will be rendered in Retina resolution. If you are "
"experiencing 3D performance problems, disabling this option may help."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:267 src/slic3r/GUI/Preferences.cpp:269
+#: src/slic3r/GUI/Preferences.cpp:280 src/slic3r/GUI/Preferences.cpp:282
msgid "Show splash screen"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:275
+#: src/slic3r/GUI/Preferences.cpp:289
+msgid "If enabled, PrusaSlicer will be open at the position it was closed"
+msgstr ""
+
+#: src/slic3r/GUI/Preferences.cpp:295
msgid "Clear Undo / Redo stack on new project"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:277
+#: src/slic3r/GUI/Preferences.cpp:297
msgid ""
"Clear Undo / Redo stack on new project or when an existing project is loaded."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:283
+#: src/slic3r/GUI/Preferences.cpp:303
msgid "Enable support for legacy 3DConnexion devices"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:285
+#: src/slic3r/GUI/Preferences.cpp:305
msgid ""
"If enabled, the legacy 3DConnexion devices settings dialog is available by "
"pressing CTRL+M"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:294
+#: src/slic3r/GUI/Preferences.cpp:314
msgid "Camera"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:299
+#: src/slic3r/GUI/Preferences.cpp:319
msgid "Use perspective camera"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:301
+#: src/slic3r/GUI/Preferences.cpp:321
msgid ""
"If enabled, use perspective camera. If not enabled, use orthographic camera."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:306
+#: src/slic3r/GUI/Preferences.cpp:326
msgid "Use free camera"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:308
+#: src/slic3r/GUI/Preferences.cpp:328
msgid "If enabled, use free camera. If not enabled, use constrained camera."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:313
+#: src/slic3r/GUI/Preferences.cpp:333
msgid "Reverse direction of zoom with mouse wheel"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:315
+#: src/slic3r/GUI/Preferences.cpp:335
msgid "If enabled, reverses the direction of zoom with mouse wheel"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:323
+#: src/slic3r/GUI/Preferences.cpp:343
msgid "GUI"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:346
+#: src/slic3r/GUI/Preferences.cpp:366
msgid "Sequential slider applied only to top layer"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:348
+#: src/slic3r/GUI/Preferences.cpp:368
msgid ""
"If enabled, changes made using the sequential slider, in preview, apply only "
"to gcode top layer. If disabled, changes made using the sequential slider, "
"in preview, apply to the whole gcode."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:355
+#: src/slic3r/GUI/Preferences.cpp:375
msgid "Show sidebar collapse/expand button"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:357
+#: src/slic3r/GUI/Preferences.cpp:377
msgid ""
"If enabled, the button for the collapse sidebar will be appeared in top "
"right corner of the 3D Scene"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:364
-msgid ""
-"If enabled, the descriptions of configuration parameters in settings tabs "
-"wouldn't work as hyperlinks. If disabled, the descriptions of configuration "
-"parameters in settings tabs will work as hyperlinks."
+#: src/slic3r/GUI/Preferences.cpp:384
+msgid "If enabled, PrusaSlicer will not open hyperlinks in your browser."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:370
+#: src/slic3r/GUI/Preferences.cpp:391
msgid "Use colors for axes values in Manipulation panel"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:372
+#: src/slic3r/GUI/Preferences.cpp:393
msgid ""
"If enabled, the axes names and axes values will be colorized according to "
"the axes colors. If disabled, old UI will be used."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:378
+#: src/slic3r/GUI/Preferences.cpp:399
msgid "Order object volumes by types"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:380
+#: src/slic3r/GUI/Preferences.cpp:401
msgid ""
"If enabled, volumes will be always ordered inside the object. Correct order "
"is Model Part, Negative Volume, Modifier, Support Blocker and Support "
@@ -7266,117 +7310,117 @@ msgid ""
"Modifiers. But one of the model parts have to be on the first place."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:387
+#: src/slic3r/GUI/Preferences.cpp:408
msgid "Set settings tabs as menu items (experimental)"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:389
+#: src/slic3r/GUI/Preferences.cpp:410
msgid ""
"If enabled, Settings Tabs will be placed as menu items. If disabled, old UI "
"will be used."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:398
+#: src/slic3r/GUI/Preferences.cpp:419
msgid "Show \"Tip of the day\" notification after start"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:400
+#: src/slic3r/GUI/Preferences.cpp:421
msgid "If enabled, useful hints are displayed at startup."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:406
+#: src/slic3r/GUI/Preferences.cpp:427
msgid "Notify about new releases"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:408
+#: src/slic3r/GUI/Preferences.cpp:429
msgid ""
"You will be notified about new release after startup acordingly: All = "
"Regular release and alpha / beta releases. Release only = regular release."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:414
+#: src/slic3r/GUI/Preferences.cpp:435
msgid "Release only"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:423
+#: src/slic3r/GUI/Preferences.cpp:444
msgid "Use custom size for toolbar icons"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:425
+#: src/slic3r/GUI/Preferences.cpp:446
msgid "If enabled, you can change size of toolbar icons manually."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:450
+#: src/slic3r/GUI/Preferences.cpp:471
msgid "Render"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:455
+#: src/slic3r/GUI/Preferences.cpp:476
msgid "Use environment map"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:457
+#: src/slic3r/GUI/Preferences.cpp:478
msgid "If enabled, renders object using the environment map."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:470
+#: src/slic3r/GUI/Preferences.cpp:491
msgid "Dark mode (experimental)"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:475
+#: src/slic3r/GUI/Preferences.cpp:496
msgid "Enable dark mode"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:477
+#: src/slic3r/GUI/Preferences.cpp:498
msgid ""
"If enabled, UI will use Dark mode colors. If disabled, old UI will be used."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:486
+#: src/slic3r/GUI/Preferences.cpp:507
msgid "Use system menu for application"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:488
+#: src/slic3r/GUI/Preferences.cpp:509
msgid ""
"If enabled, application will use the standard Windows system menu,\n"
"but on some combination of display scales it can looks ugly. If disabled, "
"old UI will be used."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:557
+#: src/slic3r/GUI/Preferences.cpp:578
msgid "Changes for the critical options"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:559
+#: src/slic3r/GUI/Preferences.cpp:580
msgid ""
"Changing some options will trigger application restart.\n"
"You will lose the content of the plater."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:666
+#: src/slic3r/GUI/Preferences.cpp:694
msgid "Icon size in a respect to the default size"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:681
+#: src/slic3r/GUI/Preferences.cpp:709
msgid "Select toolbar icon size in respect to the default one."
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:715 src/slic3r/GUI/Preferences.cpp:726
+#: src/slic3r/GUI/Preferences.cpp:743 src/slic3r/GUI/Preferences.cpp:754
msgid "Old regular layout with the tab bar"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:716
+#: src/slic3r/GUI/Preferences.cpp:744
msgid "New layout, access via settings button in the top menu"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:717 src/slic3r/GUI/Preferences.cpp:727
+#: src/slic3r/GUI/Preferences.cpp:745 src/slic3r/GUI/Preferences.cpp:755
msgid "Settings in non-modal window"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:735
+#: src/slic3r/GUI/Preferences.cpp:763
msgid "Layout Options"
msgstr ""
-#: src/slic3r/GUI/Preferences.cpp:778
+#: src/slic3r/GUI/Preferences.cpp:806
msgid "Text colors"
msgstr ""
@@ -7418,7 +7462,7 @@ msgid "Add/Remove presets"
msgstr ""
#: src/slic3r/GUI/PresetComboBoxes.cpp:702
-#: src/slic3r/GUI/PresetComboBoxes.cpp:742 src/slic3r/GUI/Tab.cpp:3208
+#: src/slic3r/GUI/PresetComboBoxes.cpp:742 src/slic3r/GUI/Tab.cpp:3241
msgid "Add physical printer"
msgstr ""
@@ -7430,7 +7474,7 @@ msgstr ""
msgid "Change extruder color"
msgstr ""
-#: src/slic3r/GUI/PresetComboBoxes.cpp:730 src/slic3r/GUI/Tab.cpp:3208
+#: src/slic3r/GUI/PresetComboBoxes.cpp:730 src/slic3r/GUI/Tab.cpp:3241
msgid "Edit physical printer"
msgstr ""
@@ -7642,82 +7686,82 @@ msgstr ""
msgid "Group"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:83
+#: src/slic3r/GUI/PrintHostDialogs.cpp:84
#, possible-c-format, possible-boost-format
msgid "Upload filename doesn't end with \"%s\". Do you wish to continue?"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:91
+#: src/slic3r/GUI/PrintHostDialogs.cpp:92
msgid "Upload and Print"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:102
+#: src/slic3r/GUI/PrintHostDialogs.cpp:103
msgid "Upload and Simulate"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:114
+#: src/slic3r/GUI/PrintHostDialogs.cpp:115
msgid "Upload"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:246
+#: src/slic3r/GUI/PrintHostDialogs.cpp:247
msgid "ID"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:247
+#: src/slic3r/GUI/PrintHostDialogs.cpp:248
msgid "Progress"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:248
+#: src/slic3r/GUI/PrintHostDialogs.cpp:249
msgid "Status"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:249
+#: src/slic3r/GUI/PrintHostDialogs.cpp:250
msgid "Host"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:250
+#: src/slic3r/GUI/PrintHostDialogs.cpp:251
msgctxt "OfFile"
msgid "Size"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:251
+#: src/slic3r/GUI/PrintHostDialogs.cpp:252
msgid "Filename"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:252
+#: src/slic3r/GUI/PrintHostDialogs.cpp:253
msgid "Error Message"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:255
+#: src/slic3r/GUI/PrintHostDialogs.cpp:256
msgid "Cancel selected"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:257
+#: src/slic3r/GUI/PrintHostDialogs.cpp:258
msgid "Show error message"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:315
-#: src/slic3r/GUI/PrintHostDialogs.cpp:370
+#: src/slic3r/GUI/PrintHostDialogs.cpp:316
+#: src/slic3r/GUI/PrintHostDialogs.cpp:371
msgid "Enqueued"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:371
+#: src/slic3r/GUI/PrintHostDialogs.cpp:372
msgid "Uploading"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:373
+#: src/slic3r/GUI/PrintHostDialogs.cpp:374
msgid "Cancelling"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:374
+#: src/slic3r/GUI/PrintHostDialogs.cpp:375
msgid "Cancelled"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:375
+#: src/slic3r/GUI/PrintHostDialogs.cpp:376
msgid "Completed"
msgstr ""
-#: src/slic3r/GUI/PrintHostDialogs.cpp:423
+#: src/slic3r/GUI/PrintHostDialogs.cpp:424
msgid "Error uploading to print host:"
msgstr ""
@@ -7727,11 +7771,11 @@ msgstr ""
#: src/slic3r/GUI/RammingChart.cpp:90 src/slic3r/GUI/WipeTowerDialog.cpp:114
#: src/libslic3r/PrintConfig.cpp:929 src/libslic3r/PrintConfig.cpp:973
-#: src/libslic3r/PrintConfig.cpp:988 src/libslic3r/PrintConfig.cpp:3154
-#: src/libslic3r/PrintConfig.cpp:3163 src/libslic3r/PrintConfig.cpp:3304
-#: src/libslic3r/PrintConfig.cpp:3312 src/libslic3r/PrintConfig.cpp:3320
-#: src/libslic3r/PrintConfig.cpp:3327 src/libslic3r/PrintConfig.cpp:3335
-#: src/libslic3r/PrintConfig.cpp:3343
+#: src/libslic3r/PrintConfig.cpp:988 src/libslic3r/PrintConfig.cpp:3160
+#: src/libslic3r/PrintConfig.cpp:3169 src/libslic3r/PrintConfig.cpp:3310
+#: src/libslic3r/PrintConfig.cpp:3318 src/libslic3r/PrintConfig.cpp:3326
+#: src/libslic3r/PrintConfig.cpp:3333 src/libslic3r/PrintConfig.cpp:3341
+#: src/libslic3r/PrintConfig.cpp:3349
msgid "s"
msgstr ""
@@ -7740,7 +7784,7 @@ msgid "Volumetric speed"
msgstr ""
#: src/slic3r/GUI/RammingChart.cpp:95 src/libslic3r/PrintConfig.cpp:886
-#: src/libslic3r/PrintConfig.cpp:1776
+#: src/libslic3r/PrintConfig.cpp:1782
msgid "mm³/s"
msgstr ""
@@ -7840,48 +7884,48 @@ msgid "Just switch to \"%1%\" preset"
msgstr ""
#: src/slic3r/GUI/Search.cpp:90 src/slic3r/GUI/Search.cpp:345
-#: src/slic3r/GUI/Tab.cpp:2615
+#: src/slic3r/GUI/Tab.cpp:2642
msgid "Stealth"
msgstr ""
#: src/slic3r/GUI/Search.cpp:90 src/slic3r/GUI/Search.cpp:345
-#: src/slic3r/GUI/Tab.cpp:2609
+#: src/slic3r/GUI/Tab.cpp:2636
msgid "Normal"
msgstr ""
-#: src/slic3r/GUI/Selection.cpp:170
+#: src/slic3r/GUI/Selection.cpp:168
msgid "Selection-Add"
msgstr ""
-#: src/slic3r/GUI/Selection.cpp:211
+#: src/slic3r/GUI/Selection.cpp:209
msgid "Selection-Remove"
msgstr ""
-#: src/slic3r/GUI/Selection.cpp:243
+#: src/slic3r/GUI/Selection.cpp:241
msgid "Selection-Add Object"
msgstr ""
-#: src/slic3r/GUI/Selection.cpp:262
+#: src/slic3r/GUI/Selection.cpp:260
msgid "Selection-Remove Object"
msgstr ""
-#: src/slic3r/GUI/Selection.cpp:280
+#: src/slic3r/GUI/Selection.cpp:278
msgid "Selection-Add Instance"
msgstr ""
-#: src/slic3r/GUI/Selection.cpp:299
+#: src/slic3r/GUI/Selection.cpp:297
msgid "Selection-Remove Instance"
msgstr ""
-#: src/slic3r/GUI/Selection.cpp:396
+#: src/slic3r/GUI/Selection.cpp:394
msgid "Selection-Add All"
msgstr ""
-#: src/slic3r/GUI/Selection.cpp:421
+#: src/slic3r/GUI/Selection.cpp:419
msgid "Selection-Remove All"
msgstr ""
-#: src/slic3r/GUI/Selection.cpp:961 src/slic3r/GUI/Selection.cpp:1063
+#: src/slic3r/GUI/Selection.cpp:950
msgid "Scale To Fit"
msgstr ""
@@ -8010,223 +8054,227 @@ msgstr ""
msgid "Search in settings [%1%]"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1298
+#: src/slic3r/GUI/Tab.cpp:1302
msgid "Detach from system preset"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1311
+#: src/slic3r/GUI/Tab.cpp:1315
msgid ""
"A copy of the current system preset will be created, which will be detached "
"from the system preset."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1312
+#: src/slic3r/GUI/Tab.cpp:1316
msgid ""
"The current custom preset will be detached from the parent system preset."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1315
+#: src/slic3r/GUI/Tab.cpp:1319
msgid "Modifications to the current profile will be saved."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1321
+#: src/slic3r/GUI/Tab.cpp:1325
msgid "Detach preset"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1347
+#: src/slic3r/GUI/Tab.cpp:1351
msgid "This is a default preset."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1349
+#: src/slic3r/GUI/Tab.cpp:1353
msgid "This is a system preset."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1351
+#: src/slic3r/GUI/Tab.cpp:1355
msgid "Current preset is inherited from the default preset."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1355
+#: src/slic3r/GUI/Tab.cpp:1359
msgid "Current preset is inherited from"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1359
+#: src/slic3r/GUI/Tab.cpp:1363
msgid "It can't be deleted or modified."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1360
+#: src/slic3r/GUI/Tab.cpp:1364
msgid ""
"Any modifications should be saved as a new preset inherited from this one."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1361
+#: src/slic3r/GUI/Tab.cpp:1365
msgid "To do that please specify a new name for the preset."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1365
+#: src/slic3r/GUI/Tab.cpp:1369
msgid "Additional information:"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1371
+#: src/slic3r/GUI/Tab.cpp:1375
msgid "printer model"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1379
+#: src/slic3r/GUI/Tab.cpp:1383
msgid "default print profile"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1382
+#: src/slic3r/GUI/Tab.cpp:1386
msgid "default filament profile"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1396
+#: src/slic3r/GUI/Tab.cpp:1400
msgid "default SLA material profile"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1400
+#: src/slic3r/GUI/Tab.cpp:1404
msgid "default SLA print profile"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1408
+#: src/slic3r/GUI/Tab.cpp:1412
msgid "full profile name"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1409
+#: src/slic3r/GUI/Tab.cpp:1413
msgid "symbolic profile name"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1447 src/slic3r/GUI/Tab.cpp:4318
+#: src/slic3r/GUI/Tab.cpp:1451 src/slic3r/GUI/Tab.cpp:4589
msgid "Layers and perimeters"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1453
+#: src/slic3r/GUI/Tab.cpp:1457
msgid "Vertical shells"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1465
+#: src/slic3r/GUI/Tab.cpp:1469
msgid "Horizontal shells"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1466 src/libslic3r/PrintConfig.cpp:2361
+#: src/slic3r/GUI/Tab.cpp:1470 src/libslic3r/PrintConfig.cpp:2367
msgid "Solid layers"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1471
+#: src/slic3r/GUI/Tab.cpp:1475
msgid "Minimum shell thickness"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1482
+#: src/slic3r/GUI/Tab.cpp:1486
msgid "Quality (slower slicing)"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1496
+#: src/slic3r/GUI/Tab.cpp:1500
msgid "Fuzzy skin (experimental)"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1519
+#: src/slic3r/GUI/Tab.cpp:1523
msgid "Reducing printing time"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1534 src/libslic3r/ExtrusionEntity.cpp:358
+#: src/slic3r/GUI/Tab.cpp:1538 src/libslic3r/ExtrusionEntity.cpp:358
msgid "Skirt"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1556
+#: src/slic3r/GUI/Tab.cpp:1560
msgid "Raft"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1561
+#: src/slic3r/GUI/Tab.cpp:1565
msgid "Options for support material and raft"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1581
+#: src/slic3r/GUI/Tab.cpp:1585
msgid "Speed for print moves"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1594
+#: src/slic3r/GUI/Tab.cpp:1598
msgid "Speed for non-print moves"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1598
+#: src/slic3r/GUI/Tab.cpp:1602
msgid "Modifiers"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1602
+#: src/slic3r/GUI/Tab.cpp:1606
msgid "Acceleration control (advanced)"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1610
+#: src/slic3r/GUI/Tab.cpp:1614
msgid "Autospeed (advanced)"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1618
+#: src/slic3r/GUI/Tab.cpp:1622
msgid "Multiple Extruders"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1626
+#: src/slic3r/GUI/Tab.cpp:1630
msgid "Ooze prevention"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1646
+#: src/slic3r/GUI/Tab.cpp:1650
msgid "Extrusion width"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1656
+#: src/slic3r/GUI/Tab.cpp:1660
msgid "Overlap"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1659
+#: src/slic3r/GUI/Tab.cpp:1663
msgid "Flow"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1670
+#: src/slic3r/GUI/Tab.cpp:1674
msgid "Other"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1673 src/slic3r/GUI/Tab.cpp:4395
+#: src/slic3r/GUI/Tab.cpp:1677 src/slic3r/GUI/Tab.cpp:4666
msgid "Output options"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1674
+#: src/slic3r/GUI/Tab.cpp:1678
msgid "Sequential printing"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1676
+#: src/slic3r/GUI/Tab.cpp:1680
msgid "Extruder clearance"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1681 src/slic3r/GUI/Tab.cpp:4396
+#: src/slic3r/GUI/Tab.cpp:1685 src/slic3r/GUI/Tab.cpp:4667
msgid "Output file"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1688 src/libslic3r/PrintConfig.cpp:1986
+#: src/slic3r/GUI/Tab.cpp:1692 src/libslic3r/PrintConfig.cpp:1992
msgid "Post-processing scripts"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1700 src/slic3r/GUI/Tab.cpp:1701
-#: src/slic3r/GUI/Tab.cpp:2078 src/slic3r/GUI/Tab.cpp:2079
-#: src/slic3r/GUI/Tab.cpp:2462 src/slic3r/GUI/Tab.cpp:2463
-#: src/slic3r/GUI/Tab.cpp:2534 src/slic3r/GUI/Tab.cpp:2535
-#: src/slic3r/GUI/Tab.cpp:4246 src/slic3r/GUI/Tab.cpp:4247
+#: src/slic3r/GUI/Tab.cpp:1704
+msgid "G-code Substitutions"
+msgstr ""
+
+#: src/slic3r/GUI/Tab.cpp:1716 src/slic3r/GUI/Tab.cpp:1717
+#: src/slic3r/GUI/Tab.cpp:2102 src/slic3r/GUI/Tab.cpp:2103
+#: src/slic3r/GUI/Tab.cpp:2489 src/slic3r/GUI/Tab.cpp:2490
+#: src/slic3r/GUI/Tab.cpp:2561 src/slic3r/GUI/Tab.cpp:2562
+#: src/slic3r/GUI/Tab.cpp:4517 src/slic3r/GUI/Tab.cpp:4518
msgid "Notes"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1707 src/slic3r/GUI/Tab.cpp:2086
-#: src/slic3r/GUI/Tab.cpp:2469 src/slic3r/GUI/Tab.cpp:2541
-#: src/slic3r/GUI/Tab.cpp:4254 src/slic3r/GUI/Tab.cpp:4401
+#: src/slic3r/GUI/Tab.cpp:1723 src/slic3r/GUI/Tab.cpp:2110
+#: src/slic3r/GUI/Tab.cpp:2496 src/slic3r/GUI/Tab.cpp:2568
+#: src/slic3r/GUI/Tab.cpp:4525 src/slic3r/GUI/Tab.cpp:4672
msgid "Dependencies"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1708 src/slic3r/GUI/Tab.cpp:2087
-#: src/slic3r/GUI/Tab.cpp:2470 src/slic3r/GUI/Tab.cpp:2542
-#: src/slic3r/GUI/Tab.cpp:4255 src/slic3r/GUI/Tab.cpp:4402
+#: src/slic3r/GUI/Tab.cpp:1724 src/slic3r/GUI/Tab.cpp:2111
+#: src/slic3r/GUI/Tab.cpp:2497 src/slic3r/GUI/Tab.cpp:2569
+#: src/slic3r/GUI/Tab.cpp:4526 src/slic3r/GUI/Tab.cpp:4673
msgid "Profile dependencies"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1746
+#: src/slic3r/GUI/Tab.cpp:1763
msgid "Post processing scripts shall modify G-code file in place."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1818
+#: src/slic3r/GUI/Tab.cpp:1842
#, possible-c-format, possible-boost-format
msgid ""
"The following line %s contains reserved keywords.\n"
@@ -8239,82 +8287,82 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/slic3r/GUI/Tab.cpp:1823
+#: src/slic3r/GUI/Tab.cpp:1847
msgid "Found reserved keywords in"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1837
+#: src/slic3r/GUI/Tab.cpp:1861
msgid "Filament Overrides"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1960
+#: src/slic3r/GUI/Tab.cpp:1984
msgid "Nozzle"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1965
+#: src/slic3r/GUI/Tab.cpp:1989
msgid "Bed"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1970
+#: src/slic3r/GUI/Tab.cpp:1994
msgid "Cooling"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1972 src/libslic3r/PrintConfig.cpp:1888
-#: src/libslic3r/PrintConfig.cpp:2938
+#: src/slic3r/GUI/Tab.cpp:1996 src/libslic3r/PrintConfig.cpp:1894
+#: src/libslic3r/PrintConfig.cpp:2944
msgid "Enable"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1983
+#: src/slic3r/GUI/Tab.cpp:2007
msgid "Fan settings"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:1994
+#: src/slic3r/GUI/Tab.cpp:2018
msgid "Cooling thresholds"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2000
+#: src/slic3r/GUI/Tab.cpp:2024
msgid "Filament properties"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2007
+#: src/slic3r/GUI/Tab.cpp:2031
msgid "Print speed override"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2017
+#: src/slic3r/GUI/Tab.cpp:2041
msgid "Wipe tower parameters"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2020
+#: src/slic3r/GUI/Tab.cpp:2044
msgid "Toolchange parameters with single extruder MM printers"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2033
+#: src/slic3r/GUI/Tab.cpp:2057
msgid "Ramming settings"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2057 src/slic3r/GUI/Tab.cpp:2374
-#: src/slic3r/GUI/Tab.cpp:3925 src/libslic3r/GCode.cpp:733
-#: src/libslic3r/PrintConfig.cpp:2444
+#: src/slic3r/GUI/Tab.cpp:2081 src/slic3r/GUI/Tab.cpp:2401
+#: src/slic3r/GUI/Tab.cpp:4196 src/libslic3r/GCode.cpp:733
+#: src/libslic3r/PrintConfig.cpp:2450
msgid "Custom G-code"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2058 src/slic3r/GUI/Tab.cpp:2375
-#: src/libslic3r/GCode.cpp:707 src/libslic3r/PrintConfig.cpp:2394
-#: src/libslic3r/PrintConfig.cpp:2409
+#: src/slic3r/GUI/Tab.cpp:2082 src/slic3r/GUI/Tab.cpp:2402
+#: src/libslic3r/GCode.cpp:707 src/libslic3r/PrintConfig.cpp:2400
+#: src/libslic3r/PrintConfig.cpp:2415
msgid "Start G-code"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2068 src/slic3r/GUI/Tab.cpp:2385
+#: src/slic3r/GUI/Tab.cpp:2092 src/slic3r/GUI/Tab.cpp:2412
#: src/libslic3r/GCode.cpp:708 src/libslic3r/PrintConfig.cpp:662
#: src/libslic3r/PrintConfig.cpp:672
msgid "End G-code"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2121
+#: src/slic3r/GUI/Tab.cpp:2145
msgid "Volumetric flow hints not available"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2225
+#: src/slic3r/GUI/Tab.cpp:2249
msgid ""
"Note: All parameters from this group are moved to the Physical Printer "
"settings (see changelog).\n"
@@ -8327,20 +8375,20 @@ msgid ""
"physical_printer directory."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2259 src/slic3r/GUI/Tab.cpp:2482
+#: src/slic3r/GUI/Tab.cpp:2283 src/slic3r/GUI/Tab.cpp:2509
msgid "Size and coordinates"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2268 src/slic3r/GUI/UnsavedChangesDialog.cpp:1275
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1663
+#: src/slic3r/GUI/Tab.cpp:2292 src/slic3r/GUI/UnsavedChangesDialog.cpp:1283
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1671
msgid "Capabilities"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2273
+#: src/slic3r/GUI/Tab.cpp:2297
msgid "Number of extruders of the printer."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2302
+#: src/slic3r/GUI/Tab.cpp:2326
msgid ""
"Single Extruder Multi Material is selected, \n"
"and all extruders must have the same diameter.\n"
@@ -8348,171 +8396,171 @@ msgid ""
"nozzle diameter value?"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2306 src/slic3r/GUI/Tab.cpp:2743
-#: src/libslic3r/PrintConfig.cpp:1852
+#: src/slic3r/GUI/Tab.cpp:2330 src/slic3r/GUI/Tab.cpp:2772
+#: src/libslic3r/PrintConfig.cpp:1858
msgid "Nozzle diameter"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2395 src/libslic3r/GCode.cpp:709
+#: src/slic3r/GUI/Tab.cpp:2422 src/libslic3r/GCode.cpp:709
#: src/libslic3r/PrintConfig.cpp:402
msgid "Before layer change G-code"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2405 src/libslic3r/GCode.cpp:710
-#: src/libslic3r/PrintConfig.cpp:1578
+#: src/slic3r/GUI/Tab.cpp:2432 src/libslic3r/GCode.cpp:710
+#: src/libslic3r/PrintConfig.cpp:1584
msgid "After layer change G-code"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2415 src/libslic3r/GCode.cpp:711
-#: src/libslic3r/PrintConfig.cpp:2821
+#: src/slic3r/GUI/Tab.cpp:2442 src/libslic3r/GCode.cpp:711
+#: src/libslic3r/PrintConfig.cpp:2827
msgid "Tool change G-code"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2425 src/libslic3r/GCode.cpp:712
+#: src/slic3r/GUI/Tab.cpp:2452 src/libslic3r/GCode.cpp:712
msgid "Between objects G-code (for sequential printing)"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2435 src/libslic3r/GCode.cpp:713
+#: src/slic3r/GUI/Tab.cpp:2462 src/libslic3r/GCode.cpp:713
msgid "Color Change G-code"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2444 src/libslic3r/GCode.cpp:714
-#: src/libslic3r/PrintConfig.cpp:2435
+#: src/slic3r/GUI/Tab.cpp:2471 src/libslic3r/GCode.cpp:714
+#: src/libslic3r/PrintConfig.cpp:2441
msgid "Pause Print G-code"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2453 src/libslic3r/GCode.cpp:715
+#: src/slic3r/GUI/Tab.cpp:2480 src/libslic3r/GCode.cpp:715
msgid "Template Custom G-code"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2489
+#: src/slic3r/GUI/Tab.cpp:2516
msgid "Display"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2504
+#: src/slic3r/GUI/Tab.cpp:2531
msgid "Tilt"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2505
+#: src/slic3r/GUI/Tab.cpp:2532
msgid "Tilt time"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2511 src/slic3r/GUI/Tab.cpp:4236
+#: src/slic3r/GUI/Tab.cpp:2538 src/slic3r/GUI/Tab.cpp:4507
msgid "Corrections"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2524 src/slic3r/GUI/Tab.cpp:4232
+#: src/slic3r/GUI/Tab.cpp:2551 src/slic3r/GUI/Tab.cpp:4503
msgid "Exposure"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2585 src/slic3r/GUI/Tab.cpp:2670
-#: src/libslic3r/PrintConfig.cpp:1607 src/libslic3r/PrintConfig.cpp:1642
-#: src/libslic3r/PrintConfig.cpp:1659 src/libslic3r/PrintConfig.cpp:1676
-#: src/libslic3r/PrintConfig.cpp:1692 src/libslic3r/PrintConfig.cpp:1702
-#: src/libslic3r/PrintConfig.cpp:1712 src/libslic3r/PrintConfig.cpp:1725
-#: src/libslic3r/PrintConfig.cpp:1735
+#: src/slic3r/GUI/Tab.cpp:2612 src/slic3r/GUI/Tab.cpp:2699
+#: src/libslic3r/PrintConfig.cpp:1613 src/libslic3r/PrintConfig.cpp:1648
+#: src/libslic3r/PrintConfig.cpp:1665 src/libslic3r/PrintConfig.cpp:1682
+#: src/libslic3r/PrintConfig.cpp:1698 src/libslic3r/PrintConfig.cpp:1708
+#: src/libslic3r/PrintConfig.cpp:1718 src/libslic3r/PrintConfig.cpp:1731
+#: src/libslic3r/PrintConfig.cpp:1741
msgid "Machine limits"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2608
+#: src/slic3r/GUI/Tab.cpp:2635
msgid "Values in this column are for Normal mode"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2614
+#: src/slic3r/GUI/Tab.cpp:2641
msgid "Values in this column are for Stealth mode"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2623
+#: src/slic3r/GUI/Tab.cpp:2650
msgid "Maximum feedrates"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2628
+#: src/slic3r/GUI/Tab.cpp:2655
msgid "Maximum accelerations"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2637
+#: src/slic3r/GUI/Tab.cpp:2664
msgid "Jerk limits"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2642
+#: src/slic3r/GUI/Tab.cpp:2670
msgid "Minimum feedrates"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2695 src/slic3r/GUI/Tab.cpp:2704
+#: src/slic3r/GUI/Tab.cpp:2724 src/slic3r/GUI/Tab.cpp:2733
msgid "Single extruder MM setup"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2705
+#: src/slic3r/GUI/Tab.cpp:2734
msgid "Single extruder multimaterial parameters"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2740
+#: src/slic3r/GUI/Tab.cpp:2769
msgid ""
"This is a single extruder multimaterial printer, diameters of all extruders "
"will be set to the new value. Do you want to proceed?"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2765
+#: src/slic3r/GUI/Tab.cpp:2794
msgid "Layer height limits"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2770
+#: src/slic3r/GUI/Tab.cpp:2799
msgid "Position (for multi-extruder printers)"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2776
+#: src/slic3r/GUI/Tab.cpp:2805
msgid "Only lift Z"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2789
+#: src/slic3r/GUI/Tab.cpp:2818
msgid ""
"Retraction when tool is disabled (advanced settings for multi-extruder "
"setups)"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2796
+#: src/slic3r/GUI/Tab.cpp:2825
msgid "Reset to Filament Color"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2976
+#: src/slic3r/GUI/Tab.cpp:3005
msgid ""
"The Wipe option is not available when using the Firmware Retraction mode.\n"
"\n"
"Shall I disable it in order to enable Firmware Retraction?"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:2978
+#: src/slic3r/GUI/Tab.cpp:3007
msgid "Firmware Retraction"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:3279
+#: src/slic3r/GUI/Tab.cpp:3312
msgid "New printer preset selected"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:3585
+#: src/slic3r/GUI/Tab.cpp:3618
msgid "Detached"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:3652
+#: src/slic3r/GUI/Tab.cpp:3685
msgid "remove"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:3652
+#: src/slic3r/GUI/Tab.cpp:3685
msgid "delete"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:3661
+#: src/slic3r/GUI/Tab.cpp:3694
msgid "It's a last preset for this physical printer."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:3666
+#: src/slic3r/GUI/Tab.cpp:3699
#, possible-boost-format
msgid ""
"Are you sure you want to delete \"%1%\" preset from the physical printer "
"\"%2%\"?"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:3678
+#: src/slic3r/GUI/Tab.cpp:3711
msgid ""
"The physical printer below is based on the preset, you are going to delete."
msgid_plural ""
@@ -8520,14 +8568,14 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/slic3r/GUI/Tab.cpp:3683
+#: src/slic3r/GUI/Tab.cpp:3716
msgid "Note, that the selected preset will be deleted from this printer too."
msgid_plural ""
"Note, that the selected preset will be deleted from these printers too."
msgstr[0] ""
msgstr[1] ""
-#: src/slic3r/GUI/Tab.cpp:3688
+#: src/slic3r/GUI/Tab.cpp:3721
msgid ""
"The physical printer below is based only on the preset, you are going to "
"delete."
@@ -8537,7 +8585,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/slic3r/GUI/Tab.cpp:3693
+#: src/slic3r/GUI/Tab.cpp:3726
msgid ""
"Note, that this printer will be deleted after deleting the selected preset."
msgid_plural ""
@@ -8545,56 +8593,76 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/slic3r/GUI/Tab.cpp:3698
+#: src/slic3r/GUI/Tab.cpp:3731
#, possible-boost-format
msgid "Are you sure you want to %1% the selected preset?"
msgstr ""
#. TRN Remove/Delete
-#: src/slic3r/GUI/Tab.cpp:3703
+#: src/slic3r/GUI/Tab.cpp:3736
#, possible-boost-format
msgid "%1% Preset"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:3786 src/slic3r/GUI/Tab.cpp:3859
+#: src/slic3r/GUI/Tab.cpp:3819 src/slic3r/GUI/Tab.cpp:4130
msgid "Set"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:3953
+#: src/slic3r/GUI/Tab.cpp:3906
+msgid "Plain pattern"
+msgstr ""
+
+#: src/slic3r/GUI/Tab.cpp:3906
+msgid "Format"
+msgstr ""
+
+#: src/slic3r/GUI/Tab.cpp:3906
+msgid "Params"
+msgstr ""
+
+#: src/slic3r/GUI/Tab.cpp:4088
+msgid "Add G-code substitution"
+msgstr ""
+
+#: src/slic3r/GUI/Tab.cpp:4094
+msgid "Delete all G-code substitution"
+msgstr ""
+
+#: src/slic3r/GUI/Tab.cpp:4224
msgid ""
"Machine limits will be emitted to G-code and used to estimate print time."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:3956
+#: src/slic3r/GUI/Tab.cpp:4227
msgid ""
"Machine limits will NOT be emitted to G-code, however they will be used to "
"estimate print time, which may therefore not be accurate as the printer may "
"apply a different set of machine limits."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:3960
+#: src/slic3r/GUI/Tab.cpp:4231
msgid ""
"Machine limits are not set, therefore the print time estimate may not be "
"accurate."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:3982
+#: src/slic3r/GUI/Tab.cpp:4253
msgid "LOCKED LOCK"
msgstr ""
#. TRN Description for "LOCKED LOCK"
-#: src/slic3r/GUI/Tab.cpp:3984
+#: src/slic3r/GUI/Tab.cpp:4255
msgid ""
"indicates that the settings are the same as the system (or default) values "
"for the current option group"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:3986
+#: src/slic3r/GUI/Tab.cpp:4257
msgid "UNLOCKED LOCK"
msgstr ""
#. TRN Description for "UNLOCKED LOCK"
-#: src/slic3r/GUI/Tab.cpp:3988
+#: src/slic3r/GUI/Tab.cpp:4259
msgid ""
"indicates that some settings were changed and are not equal to the system "
"(or default) values for the current option group.\n"
@@ -8602,23 +8670,23 @@ msgid ""
"to the system (or default) values."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:3993
+#: src/slic3r/GUI/Tab.cpp:4264
msgid "WHITE BULLET"
msgstr ""
#. TRN Description for "WHITE BULLET"
-#: src/slic3r/GUI/Tab.cpp:3995
+#: src/slic3r/GUI/Tab.cpp:4266
msgid ""
"for the left button: indicates a non-system (or non-default) preset,\n"
"for the right button: indicates that the settings hasn't been modified."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:3998
+#: src/slic3r/GUI/Tab.cpp:4269
msgid "BACK ARROW"
msgstr ""
#. TRN Description for "BACK ARROW"
-#: src/slic3r/GUI/Tab.cpp:4000
+#: src/slic3r/GUI/Tab.cpp:4271
msgid ""
"indicates that the settings were changed and are not equal to the last saved "
"preset for the current option group.\n"
@@ -8626,13 +8694,13 @@ msgid ""
"to the last saved preset."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4010
+#: src/slic3r/GUI/Tab.cpp:4281
msgid ""
"LOCKED LOCK icon indicates that the settings are the same as the system (or "
"default) values for the current option group"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4012
+#: src/slic3r/GUI/Tab.cpp:4283
msgid ""
"UNLOCKED LOCK icon indicates that some settings were changed and are not "
"equal to the system (or default) values for the current option group.\n"
@@ -8640,17 +8708,17 @@ msgid ""
"default) values."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4015
+#: src/slic3r/GUI/Tab.cpp:4286
msgid "WHITE BULLET icon indicates a non system (or non default) preset."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4018
+#: src/slic3r/GUI/Tab.cpp:4289
msgid ""
"WHITE BULLET icon indicates that the settings are the same as in the last "
"saved preset for the current option group."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4020
+#: src/slic3r/GUI/Tab.cpp:4291
msgid ""
"BACK ARROW icon indicates that the settings were changed and are not equal "
"to the last saved preset for the current option group.\n"
@@ -8658,68 +8726,68 @@ msgid ""
"preset."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4026
+#: src/slic3r/GUI/Tab.cpp:4297
msgid ""
"LOCKED LOCK icon indicates that the value is the same as the system (or "
"default) value."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4027
+#: src/slic3r/GUI/Tab.cpp:4298
msgid ""
"UNLOCKED LOCK icon indicates that the value was changed and is not equal to "
"the system (or default) value.\n"
"Click to reset current value to the system (or default) value."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4033
+#: src/slic3r/GUI/Tab.cpp:4304
msgid ""
"WHITE BULLET icon indicates that the value is the same as in the last saved "
"preset."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4034
+#: src/slic3r/GUI/Tab.cpp:4305
msgid ""
"BACK ARROW icon indicates that the value was changed and is not equal to the "
"last saved preset.\n"
"Click to reset current value to the last saved preset."
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4188 src/slic3r/GUI/Tab.cpp:4190
+#: src/slic3r/GUI/Tab.cpp:4459 src/slic3r/GUI/Tab.cpp:4461
msgid "Material"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4275 src/slic3r/GUI/Tab.cpp:4276
+#: src/slic3r/GUI/Tab.cpp:4546 src/slic3r/GUI/Tab.cpp:4547
msgid "Material printing profile"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4328
+#: src/slic3r/GUI/Tab.cpp:4599
msgid "Support head"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4333
+#: src/slic3r/GUI/Tab.cpp:4604
msgid "Support pillar"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4356
+#: src/slic3r/GUI/Tab.cpp:4627
msgid "Connection of the support sticks and junctions"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4361
+#: src/slic3r/GUI/Tab.cpp:4632
msgid "Automatic generation"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4436
+#: src/slic3r/GUI/Tab.cpp:4707
#, possible-boost-format
msgid ""
"\"%1%\" is disabled because \"%2%\" is on in \"%3%\" category.\n"
"To enable \"%1%\", please switch off \"%2%\""
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4438 src/libslic3r/PrintConfig.cpp:3572
+#: src/slic3r/GUI/Tab.cpp:4709 src/libslic3r/PrintConfig.cpp:3578
msgid "Object elevation"
msgstr ""
-#: src/slic3r/GUI/Tab.cpp:4438 src/libslic3r/PrintConfig.cpp:3674
+#: src/slic3r/GUI/Tab.cpp:4709 src/libslic3r/PrintConfig.cpp:3680
msgid "Pad around object"
msgstr ""
@@ -8836,75 +8904,75 @@ msgstr ""
msgid "Transfer the selected options to the newly selected preset \"%1%\"."
msgstr ""
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1214
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1222
msgid "The following preset was modified"
msgid_plural "The following presets were modified"
msgstr[0] ""
msgstr[1] ""
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1220
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1228
#, possible-boost-format
msgid "Preset \"%1%\" has the following unsaved changes:"
msgstr ""
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1224
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1232
#, possible-boost-format
msgid ""
"Preset \"%1%\" is not compatible with the new printer profile and it has the "
"following unsaved changes:"
msgstr ""
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1225
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1233
#, possible-boost-format
msgid ""
"Preset \"%1%\" is not compatible with the new print profile and it has the "
"following unsaved changes:"
msgstr ""
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1271
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1659
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1279
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1667
msgid "Extruders count"
msgstr ""
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1444
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1452
msgid "Select presets to compare"
msgstr ""
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1493
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1501
msgid "Show all presets (including incompatible)"
msgstr ""
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1508
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1516
msgid "Left Preset Value"
msgstr ""
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1509
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1517
msgid "Right Preset Value"
msgstr ""
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1616
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1624
msgid "One of the presets doesn't found"
msgstr ""
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1627
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1635
msgid "Compared presets has different printer technology"
msgstr ""
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1641
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1649
msgid "Presets are the same"
msgstr ""
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1649
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1657
msgid ""
"Presets are different.\n"
"Click this button to select the same preset for the right and left preset."
msgstr ""
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1673
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1681
msgid "Undef category"
msgstr ""
-#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1673
+#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1681
msgid "Undef group"
msgstr ""
@@ -9212,7 +9280,7 @@ msgid "Could not get resources to create a new connection"
msgstr ""
#: src/slic3r/Utils/FixModelByWin10.cpp:221
-#: src/slic3r/Utils/FixModelByWin10.cpp:359
+#: src/slic3r/Utils/FixModelByWin10.cpp:362
msgid "Exporting source model"
msgstr ""
@@ -9229,45 +9297,45 @@ msgid "Mesh repair failed."
msgstr ""
#: src/slic3r/Utils/FixModelByWin10.cpp:253
-#: src/slic3r/Utils/FixModelByWin10.cpp:386
+#: src/slic3r/Utils/FixModelByWin10.cpp:389
msgid "Loading repaired model"
msgstr ""
#: src/slic3r/Utils/FixModelByWin10.cpp:265
#: src/slic3r/Utils/FixModelByWin10.cpp:272
-#: src/slic3r/Utils/FixModelByWin10.cpp:304
+#: src/slic3r/Utils/FixModelByWin10.cpp:303
msgid "Saving mesh into the 3MF container failed."
msgstr ""
-#: src/slic3r/Utils/FixModelByWin10.cpp:376
+#: src/slic3r/Utils/FixModelByWin10.cpp:379
msgid "Export of a temporary 3mf file failed"
msgstr ""
-#: src/slic3r/Utils/FixModelByWin10.cpp:392
+#: src/slic3r/Utils/FixModelByWin10.cpp:395
msgid "Import of the repaired 3mf file failed"
msgstr ""
-#: src/slic3r/Utils/FixModelByWin10.cpp:394
+#: src/slic3r/Utils/FixModelByWin10.cpp:397
msgid "Repaired 3MF file does not contain any object"
msgstr ""
-#: src/slic3r/Utils/FixModelByWin10.cpp:396
+#: src/slic3r/Utils/FixModelByWin10.cpp:399
msgid "Repaired 3MF file contains more than one object"
msgstr ""
-#: src/slic3r/Utils/FixModelByWin10.cpp:398
+#: src/slic3r/Utils/FixModelByWin10.cpp:401
msgid "Repaired 3MF file does not contain any volume"
msgstr ""
-#: src/slic3r/Utils/FixModelByWin10.cpp:400
+#: src/slic3r/Utils/FixModelByWin10.cpp:403
msgid "Repaired 3MF file contains more than one volume"
msgstr ""
-#: src/slic3r/Utils/FixModelByWin10.cpp:410
+#: src/slic3r/Utils/FixModelByWin10.cpp:413
msgid "Model repair finished"
msgstr ""
-#: src/slic3r/Utils/FixModelByWin10.cpp:416
+#: src/slic3r/Utils/FixModelByWin10.cpp:419
msgid "Model repair canceled"
msgstr ""
@@ -9478,11 +9546,11 @@ msgid ""
"This may cause problems in g-code visualization and printing time estimation."
msgstr ""
-#: src/libslic3r/GCode.cpp:1217 src/libslic3r/GCode.cpp:1228
+#: src/libslic3r/GCode.cpp:1236 src/libslic3r/GCode.cpp:1247
msgid "No extrusions were generated for objects."
msgstr ""
-#: src/libslic3r/GCode.cpp:1426
+#: src/libslic3r/GCode.cpp:1445
msgid ""
"Your print is very close to the priming regions. Make sure there is no "
"collision."
@@ -9666,115 +9734,115 @@ msgstr ""
msgid "write calledback failed"
msgstr ""
-#: src/libslic3r/Print.cpp:446
+#: src/libslic3r/Print.cpp:447
msgid "All objects are outside of the print volume."
msgstr ""
-#: src/libslic3r/Print.cpp:449
+#: src/libslic3r/Print.cpp:450
msgid "The supplied settings will cause an empty print."
msgstr ""
-#: src/libslic3r/Print.cpp:453
+#: src/libslic3r/Print.cpp:454
msgid "Some objects are too close; your extruder will collide with them."
msgstr ""
-#: src/libslic3r/Print.cpp:455
+#: src/libslic3r/Print.cpp:456
msgid ""
"Some objects are too tall and cannot be printed without extruder collisions."
msgstr ""
-#: src/libslic3r/Print.cpp:464
+#: src/libslic3r/Print.cpp:465
msgid ""
"Only a single object may be printed at a time in Spiral Vase mode. Either "
"remove all but the last object, or enable sequential mode by "
"\"complete_objects\"."
msgstr ""
-#: src/libslic3r/Print.cpp:468
+#: src/libslic3r/Print.cpp:469
msgid ""
"The Spiral Vase option can only be used when printing single material "
"objects."
msgstr ""
-#: src/libslic3r/Print.cpp:481
+#: src/libslic3r/Print.cpp:482
msgid ""
"The wipe tower is only supported if all extruders have the same nozzle "
"diameter and use filaments of the same diameter."
msgstr ""
-#: src/libslic3r/Print.cpp:487
+#: src/libslic3r/Print.cpp:488
msgid ""
"The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter, "
"RepRapFirmware and Repetier G-code flavors."
msgstr ""
-#: src/libslic3r/Print.cpp:489
+#: src/libslic3r/Print.cpp:490
msgid ""
"The Wipe Tower is currently only supported with the relative extruder "
"addressing (use_relative_e_distances=1)."
msgstr ""
-#: src/libslic3r/Print.cpp:491
+#: src/libslic3r/Print.cpp:492
msgid "Ooze prevention is currently not supported with the wipe tower enabled."
msgstr ""
-#: src/libslic3r/Print.cpp:493
+#: src/libslic3r/Print.cpp:494
msgid ""
"The Wipe Tower currently does not support volumetric E (use_volumetric_e=0)."
msgstr ""
-#: src/libslic3r/Print.cpp:495
+#: src/libslic3r/Print.cpp:496
msgid ""
"The Wipe Tower is currently not supported for multimaterial sequential "
"prints."
msgstr ""
-#: src/libslic3r/Print.cpp:516
+#: src/libslic3r/Print.cpp:517
msgid ""
"The Wipe Tower is only supported for multiple objects if they have equal "
"layer heights"
msgstr ""
-#: src/libslic3r/Print.cpp:518
+#: src/libslic3r/Print.cpp:519
msgid ""
"The Wipe Tower is only supported for multiple objects if they are printed "
"over an equal number of raft layers"
msgstr ""
-#: src/libslic3r/Print.cpp:521
+#: src/libslic3r/Print.cpp:522
msgid ""
"The Wipe Tower is only supported for multiple objects if they are printed "
"with the same support_material_contact_distance"
msgstr ""
-#: src/libslic3r/Print.cpp:523
+#: src/libslic3r/Print.cpp:524
msgid ""
"The Wipe Tower is only supported for multiple objects if they are sliced "
"equally."
msgstr ""
-#: src/libslic3r/Print.cpp:536
+#: src/libslic3r/Print.cpp:537
msgid ""
"The Wipe tower is only supported if all objects have the same variable layer "
"height"
msgstr ""
-#: src/libslic3r/Print.cpp:558
+#: src/libslic3r/Print.cpp:559
msgid ""
"One or more object were assigned an extruder that the printer does not have."
msgstr ""
-#: src/libslic3r/Print.cpp:571
+#: src/libslic3r/Print.cpp:572
#, possible-boost-format
msgid "%1%=%2% mm is too low to be printable at a layer height %3% mm"
msgstr ""
-#: src/libslic3r/Print.cpp:574
+#: src/libslic3r/Print.cpp:575
#, possible-boost-format
msgid "Excessive %1%=%2% mm to be printable with a nozzle diameter %3% mm"
msgstr ""
-#: src/libslic3r/Print.cpp:585
+#: src/libslic3r/Print.cpp:586
msgid ""
"Printing with multiple extruders of differing nozzle diameters. If support "
"is to be printed with the current extruder (support_material_extruder == 0 "
@@ -9782,13 +9850,13 @@ msgid ""
"same diameter."
msgstr ""
-#: src/libslic3r/Print.cpp:593
+#: src/libslic3r/Print.cpp:594
msgid ""
"For the Wipe Tower to work with the soluble supports, the support layers "
"need to be synchronized with the object layers."
msgstr ""
-#: src/libslic3r/Print.cpp:597
+#: src/libslic3r/Print.cpp:598
msgid ""
"The Wipe Tower currently supports the non-soluble supports only if they are "
"printed with the current extruder without triggering a tool change. (both "
@@ -9796,27 +9864,27 @@ msgid ""
"set to 0)."
msgstr ""
-#: src/libslic3r/Print.cpp:633
+#: src/libslic3r/Print.cpp:634
msgid "First layer height can't be greater than nozzle diameter"
msgstr ""
-#: src/libslic3r/Print.cpp:638
+#: src/libslic3r/Print.cpp:639
msgid "Layer height can't be greater than nozzle diameter"
msgstr ""
-#: src/libslic3r/Print.cpp:792
+#: src/libslic3r/Print.cpp:793
msgid "Infilling layers"
msgstr ""
-#: src/libslic3r/Print.cpp:814
+#: src/libslic3r/Print.cpp:815
msgid "Generating skirt and brim"
msgstr ""
-#: src/libslic3r/Print.cpp:862
+#: src/libslic3r/Print.cpp:863
msgid "Exporting G-code"
msgstr ""
-#: src/libslic3r/Print.cpp:866
+#: src/libslic3r/Print.cpp:867
msgid "Generating G-code"
msgstr ""
@@ -10086,7 +10154,7 @@ msgstr ""
msgid "mm or % (zero to disable)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:392 src/libslic3r/PrintConfig.cpp:2783
+#: src/libslic3r/PrintConfig.cpp:392 src/libslic3r/PrintConfig.cpp:2789
msgid "Other layers"
msgstr ""
@@ -10151,9 +10219,9 @@ msgstr ""
#: src/libslic3r/PrintConfig.cpp:445 src/libslic3r/PrintConfig.cpp:616
#: src/libslic3r/PrintConfig.cpp:1169 src/libslic3r/PrintConfig.cpp:1178
-#: src/libslic3r/PrintConfig.cpp:1372 src/libslic3r/PrintConfig.cpp:1665
-#: src/libslic3r/PrintConfig.cpp:1716 src/libslic3r/PrintConfig.cpp:1727
-#: src/libslic3r/PrintConfig.cpp:1737 src/libslic3r/PrintConfig.cpp:1935
+#: src/libslic3r/PrintConfig.cpp:1378 src/libslic3r/PrintConfig.cpp:1671
+#: src/libslic3r/PrintConfig.cpp:1722 src/libslic3r/PrintConfig.cpp:1733
+#: src/libslic3r/PrintConfig.cpp:1743 src/libslic3r/PrintConfig.cpp:1941
msgid "mm/s²"
msgstr ""
@@ -10169,10 +10237,10 @@ msgid ""
msgstr ""
#: src/libslic3r/PrintConfig.cpp:456 src/libslic3r/PrintConfig.cpp:1075
-#: src/libslic3r/PrintConfig.cpp:2226 src/libslic3r/PrintConfig.cpp:2236
-#: src/libslic3r/PrintConfig.cpp:2527 src/libslic3r/PrintConfig.cpp:2768
-#: src/libslic3r/PrintConfig.cpp:2985 src/libslic3r/PrintConfig.cpp:3546
-#: src/libslic3r/PrintConfig.cpp:3667
+#: src/libslic3r/PrintConfig.cpp:2232 src/libslic3r/PrintConfig.cpp:2242
+#: src/libslic3r/PrintConfig.cpp:2533 src/libslic3r/PrintConfig.cpp:2774
+#: src/libslic3r/PrintConfig.cpp:2991 src/libslic3r/PrintConfig.cpp:3552
+#: src/libslic3r/PrintConfig.cpp:3673
msgid "°"
msgstr ""
@@ -10185,10 +10253,10 @@ msgid "This fan speed is enforced during all bridges and overhangs."
msgstr ""
#: src/libslic3r/PrintConfig.cpp:464 src/libslic3r/PrintConfig.cpp:1087
-#: src/libslic3r/PrintConfig.cpp:1553 src/libslic3r/PrintConfig.cpp:1745
-#: src/libslic3r/PrintConfig.cpp:1808 src/libslic3r/PrintConfig.cpp:2059
-#: src/libslic3r/PrintConfig.cpp:2118 src/libslic3r/PrintConfig.cpp:3171
-#: src/libslic3r/PrintConfig.cpp:3460 src/libslic3r/PrintConfig.cpp:3586
+#: src/libslic3r/PrintConfig.cpp:1559 src/libslic3r/PrintConfig.cpp:1751
+#: src/libslic3r/PrintConfig.cpp:1814 src/libslic3r/PrintConfig.cpp:2065
+#: src/libslic3r/PrintConfig.cpp:2124 src/libslic3r/PrintConfig.cpp:3177
+#: src/libslic3r/PrintConfig.cpp:3466 src/libslic3r/PrintConfig.cpp:3592
msgid "%"
msgstr ""
@@ -10216,13 +10284,13 @@ msgstr ""
#: src/libslic3r/PrintConfig.cpp:902 src/libslic3r/PrintConfig.cpp:911
#: src/libslic3r/PrintConfig.cpp:919 src/libslic3r/PrintConfig.cpp:946
#: src/libslic3r/PrintConfig.cpp:965 src/libslic3r/PrintConfig.cpp:1306
-#: src/libslic3r/PrintConfig.cpp:1490 src/libslic3r/PrintConfig.cpp:1572
-#: src/libslic3r/PrintConfig.cpp:1648 src/libslic3r/PrintConfig.cpp:1682
-#: src/libslic3r/PrintConfig.cpp:1694 src/libslic3r/PrintConfig.cpp:1704
-#: src/libslic3r/PrintConfig.cpp:1767 src/libslic3r/PrintConfig.cpp:1826
-#: src/libslic3r/PrintConfig.cpp:1966 src/libslic3r/PrintConfig.cpp:2193
-#: src/libslic3r/PrintConfig.cpp:2202 src/libslic3r/PrintConfig.cpp:2733
-#: src/libslic3r/PrintConfig.cpp:2883 src/libslic3r/PrintConfig.cpp:2893
+#: src/libslic3r/PrintConfig.cpp:1496 src/libslic3r/PrintConfig.cpp:1578
+#: src/libslic3r/PrintConfig.cpp:1654 src/libslic3r/PrintConfig.cpp:1688
+#: src/libslic3r/PrintConfig.cpp:1700 src/libslic3r/PrintConfig.cpp:1710
+#: src/libslic3r/PrintConfig.cpp:1773 src/libslic3r/PrintConfig.cpp:1832
+#: src/libslic3r/PrintConfig.cpp:1972 src/libslic3r/PrintConfig.cpp:2199
+#: src/libslic3r/PrintConfig.cpp:2208 src/libslic3r/PrintConfig.cpp:2739
+#: src/libslic3r/PrintConfig.cpp:2889 src/libslic3r/PrintConfig.cpp:2899
msgid "mm/s"
msgstr ""
@@ -10374,8 +10442,8 @@ msgstr ""
msgid "Default print profile"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:630 src/libslic3r/PrintConfig.cpp:3390
-#: src/libslic3r/PrintConfig.cpp:3401
+#: src/libslic3r/PrintConfig.cpp:630 src/libslic3r/PrintConfig.cpp:3396
+#: src/libslic3r/PrintConfig.cpp:3407
msgid ""
"Default print profile associated with the current printer profile. On "
"selection of the current printer profile, this print profile will be "
@@ -10446,7 +10514,7 @@ msgid ""
msgstr ""
#: src/libslic3r/PrintConfig.cpp:704 src/libslic3r/PrintConfig.cpp:1144
-#: src/libslic3r/PrintConfig.cpp:2698 src/libslic3r/PrintConfig.cpp:2715
+#: src/libslic3r/PrintConfig.cpp:2704 src/libslic3r/PrintConfig.cpp:2721
msgid "Rectilinear"
msgstr ""
@@ -10459,7 +10527,7 @@ msgid "Aligned Rectilinear"
msgstr ""
#: src/libslic3r/PrintConfig.cpp:707 src/libslic3r/PrintConfig.cpp:1151
-#: src/libslic3r/PrintConfig.cpp:2716
+#: src/libslic3r/PrintConfig.cpp:2722
msgid "Concentric"
msgstr ""
@@ -10498,11 +10566,11 @@ msgid ""
msgstr ""
#: src/libslic3r/PrintConfig.cpp:732 src/libslic3r/PrintConfig.cpp:843
-#: src/libslic3r/PrintConfig.cpp:1200 src/libslic3r/PrintConfig.cpp:1397
-#: src/libslic3r/PrintConfig.cpp:1454 src/libslic3r/PrintConfig.cpp:1481
-#: src/libslic3r/PrintConfig.cpp:1955 src/libslic3r/PrintConfig.cpp:2341
-#: src/libslic3r/PrintConfig.cpp:2515 src/libslic3r/PrintConfig.cpp:2604
-#: src/libslic3r/PrintConfig.cpp:2839
+#: src/libslic3r/PrintConfig.cpp:1200 src/libslic3r/PrintConfig.cpp:1403
+#: src/libslic3r/PrintConfig.cpp:1460 src/libslic3r/PrintConfig.cpp:1487
+#: src/libslic3r/PrintConfig.cpp:1961 src/libslic3r/PrintConfig.cpp:2347
+#: src/libslic3r/PrintConfig.cpp:2521 src/libslic3r/PrintConfig.cpp:2610
+#: src/libslic3r/PrintConfig.cpp:2845
msgid "mm or %"
msgstr ""
@@ -10514,9 +10582,9 @@ msgid ""
msgstr ""
#: src/libslic3r/PrintConfig.cpp:744 src/libslic3r/PrintConfig.cpp:1222
-#: src/libslic3r/PrintConfig.cpp:1233 src/libslic3r/PrintConfig.cpp:2300
-#: src/libslic3r/PrintConfig.cpp:2353 src/libslic3r/PrintConfig.cpp:2684
-#: src/libslic3r/PrintConfig.cpp:2853
+#: src/libslic3r/PrintConfig.cpp:1233 src/libslic3r/PrintConfig.cpp:2306
+#: src/libslic3r/PrintConfig.cpp:2359 src/libslic3r/PrintConfig.cpp:2690
+#: src/libslic3r/PrintConfig.cpp:2859
msgid "mm/s or %"
msgstr ""
@@ -10568,7 +10636,7 @@ msgid "Extruder Color"
msgstr ""
#: src/libslic3r/PrintConfig.cpp:805 src/libslic3r/PrintConfig.cpp:868
-#: src/libslic3r/PrintConfig.cpp:3242
+#: src/libslic3r/PrintConfig.cpp:3248
msgid "This is only used in the Slic3r interface as a visual help."
msgstr ""
@@ -10640,11 +10708,11 @@ msgid ""
"maximum speeds."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:860 src/libslic3r/PrintConfig.cpp:2288
+#: src/libslic3r/PrintConfig.cpp:860 src/libslic3r/PrintConfig.cpp:2294
msgid "approximate seconds"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:867 src/libslic3r/PrintConfig.cpp:3241
+#: src/libslic3r/PrintConfig.cpp:867 src/libslic3r/PrintConfig.cpp:3247
msgid "Color"
msgstr ""
@@ -10656,7 +10724,7 @@ msgstr ""
msgid "You can put your notes regarding the filament here."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:882 src/libslic3r/PrintConfig.cpp:1773
+#: src/libslic3r/PrintConfig.cpp:882 src/libslic3r/PrintConfig.cpp:1779
msgid "Max volumetric speed"
msgstr ""
@@ -10795,8 +10863,8 @@ msgid ""
"average."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1002 src/libslic3r/PrintConfig.cpp:3280
-#: src/libslic3r/PrintConfig.cpp:3281
+#: src/libslic3r/PrintConfig.cpp:1002 src/libslic3r/PrintConfig.cpp:3286
+#: src/libslic3r/PrintConfig.cpp:3287
msgid "Density"
msgstr ""
@@ -10854,7 +10922,7 @@ msgstr ""
msgid "g"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1066 src/libslic3r/PrintConfig.cpp:3385
+#: src/libslic3r/PrintConfig.cpp:1066 src/libslic3r/PrintConfig.cpp:3391
msgid "(Unknown)"
msgstr ""
@@ -10885,7 +10953,7 @@ msgstr ""
msgid "Fill pattern for general low-density infill."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1146 src/libslic3r/PrintConfig.cpp:2747
+#: src/libslic3r/PrintConfig.cpp:1146 src/libslic3r/PrintConfig.cpp:2753
msgid "Grid"
msgstr ""
@@ -10901,7 +10969,7 @@ msgstr ""
msgid "Line"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1152 src/libslic3r/PrintConfig.cpp:2700
+#: src/libslic3r/PrintConfig.cpp:1152 src/libslic3r/PrintConfig.cpp:2706
msgid "Honeycomb"
msgstr ""
@@ -11104,41 +11172,49 @@ msgid ""
msgstr ""
#: src/libslic3r/PrintConfig.cpp:1361
-msgid "High extruder current on filament swap"
+msgid "G-code substitutions"
msgstr ""
#: src/libslic3r/PrintConfig.cpp:1362
+msgid "Find / replace patterns in G-code lines and substitute them."
+msgstr ""
+
+#: src/libslic3r/PrintConfig.cpp:1367
+msgid "High extruder current on filament swap"
+msgstr ""
+
+#: src/libslic3r/PrintConfig.cpp:1368
msgid ""
"It may be beneficial to increase the extruder motor current during the "
"filament exchange sequence to allow for rapid ramming feed rates and to "
"overcome resistance when loading a filament with an ugly shaped tip."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1370
+#: src/libslic3r/PrintConfig.cpp:1376
msgid ""
"This is the acceleration your printer will use for infill. Set zero to "
"disable acceleration control for infill."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1378
+#: src/libslic3r/PrintConfig.cpp:1384
msgid "Combine infill every"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1380
+#: src/libslic3r/PrintConfig.cpp:1386
msgid ""
"This feature allows to combine infill and speed up your print by extruding "
"thicker infill layers while preserving thin perimeters, thus accuracy."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1383
+#: src/libslic3r/PrintConfig.cpp:1389
msgid "Combine infill every n layers"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1389
+#: src/libslic3r/PrintConfig.cpp:1395
msgid "Length of the infill anchor"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1391
+#: src/libslic3r/PrintConfig.cpp:1397
msgid ""
"Connect an infill line to an internal perimeter with a short segment of an "
"additional perimeter. If expressed as percentage (example: 15%) it is "
@@ -11151,35 +11227,35 @@ msgid ""
"perimeters connected to a single infill line."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1407
+#: src/libslic3r/PrintConfig.cpp:1413
msgid "0 (no open anchors)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1408 src/libslic3r/PrintConfig.cpp:1431
+#: src/libslic3r/PrintConfig.cpp:1414 src/libslic3r/PrintConfig.cpp:1437
msgid "1 mm"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1409 src/libslic3r/PrintConfig.cpp:1432
+#: src/libslic3r/PrintConfig.cpp:1415 src/libslic3r/PrintConfig.cpp:1438
msgid "2 mm"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1410 src/libslic3r/PrintConfig.cpp:1433
+#: src/libslic3r/PrintConfig.cpp:1416 src/libslic3r/PrintConfig.cpp:1439
msgid "5 mm"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1411 src/libslic3r/PrintConfig.cpp:1434
+#: src/libslic3r/PrintConfig.cpp:1417 src/libslic3r/PrintConfig.cpp:1440
msgid "10 mm"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1412 src/libslic3r/PrintConfig.cpp:1435
+#: src/libslic3r/PrintConfig.cpp:1418 src/libslic3r/PrintConfig.cpp:1441
msgid "1000 (unlimited)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1417
+#: src/libslic3r/PrintConfig.cpp:1423
msgid "Maximum length of the infill anchor"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1419
+#: src/libslic3r/PrintConfig.cpp:1425
msgid ""
"Connect an infill line to an internal perimeter with a short segment of an "
"additional perimeter. If expressed as percentage (example: 15%) it is "
@@ -11191,19 +11267,19 @@ msgid ""
"parameter. Set this parameter to zero to disable anchoring."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1430
+#: src/libslic3r/PrintConfig.cpp:1436
msgid "0 (not anchored)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1440
+#: src/libslic3r/PrintConfig.cpp:1446
msgid "Infill extruder"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1442
+#: src/libslic3r/PrintConfig.cpp:1448
msgid "The extruder to use when printing infill."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1450
+#: src/libslic3r/PrintConfig.cpp:1456
msgid ""
"Set this to a non-zero value to set a manual extrusion width for infill. If "
"left zero, default extrusion width will be used if set, otherwise 1.125 x "
@@ -11212,32 +11288,32 @@ msgid ""
"example 90%) it will be computed over layer height."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1461
+#: src/libslic3r/PrintConfig.cpp:1467
msgid "Infill before perimeters"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1462
+#: src/libslic3r/PrintConfig.cpp:1468
msgid ""
"This option will switch the print order of perimeters and infill, making the "
"latter first."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1467
+#: src/libslic3r/PrintConfig.cpp:1473
msgid "Only infill where needed"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1469
+#: src/libslic3r/PrintConfig.cpp:1475
msgid ""
"This option will limit infill to the areas actually needed for supporting "
"ceilings (it will act as internal support material). If enabled, slows down "
"the G-code generation due to the multiple checks involved."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1476
+#: src/libslic3r/PrintConfig.cpp:1482
msgid "Infill/perimeters overlap"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1478
+#: src/libslic3r/PrintConfig.cpp:1484
msgid ""
"This setting applies an additional overlap between infill and perimeters for "
"better bonding. Theoretically this shouldn't be needed, but backlash might "
@@ -11245,84 +11321,84 @@ msgid ""
"perimeter extrusion width."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1489
+#: src/libslic3r/PrintConfig.cpp:1495
msgid "Speed for printing the internal fill. Set to zero for auto."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1497
+#: src/libslic3r/PrintConfig.cpp:1503
msgid "Inherits profile"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1498
+#: src/libslic3r/PrintConfig.cpp:1504
msgid "Name of the profile, from which this profile inherits."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1511
+#: src/libslic3r/PrintConfig.cpp:1517
msgid "Interface shells"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1512
+#: src/libslic3r/PrintConfig.cpp:1518
msgid ""
"Force the generation of solid shells between adjacent materials/volumes. "
"Useful for multi-extruder prints with translucent materials or manual "
"soluble support material."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1520
+#: src/libslic3r/PrintConfig.cpp:1526
msgid "Maximum width of a segmented region"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1521
+#: src/libslic3r/PrintConfig.cpp:1527
msgid "Maximum width of a segmented region. Zero disables this feature."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1522 src/libslic3r/PrintConfig.cpp:2133
-#: src/libslic3r/PrintConfig.cpp:2142
+#: src/libslic3r/PrintConfig.cpp:1528 src/libslic3r/PrintConfig.cpp:2139
+#: src/libslic3r/PrintConfig.cpp:2148
msgid "mm (zero to disable)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1529
+#: src/libslic3r/PrintConfig.cpp:1535
msgid "Enable ironing"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1530
+#: src/libslic3r/PrintConfig.cpp:1536
msgid ""
"Enable ironing of the top layers with the hot print head for smooth surface"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1536 src/libslic3r/PrintConfig.cpp:1538
+#: src/libslic3r/PrintConfig.cpp:1542 src/libslic3r/PrintConfig.cpp:1544
msgid "Ironing Type"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1543
+#: src/libslic3r/PrintConfig.cpp:1549
msgid "All top surfaces"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1544
+#: src/libslic3r/PrintConfig.cpp:1550
msgid "Topmost surface only"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1545
+#: src/libslic3r/PrintConfig.cpp:1551
msgid "All solid surfaces"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1550
+#: src/libslic3r/PrintConfig.cpp:1556
msgid "Flow rate"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1552
+#: src/libslic3r/PrintConfig.cpp:1558
msgid "Percent of a flow rate relative to object's normal layer height."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1560
+#: src/libslic3r/PrintConfig.cpp:1566
msgid "Spacing between ironing passes"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1562
+#: src/libslic3r/PrintConfig.cpp:1568
msgid "Distance between ironing lines"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1579
+#: src/libslic3r/PrintConfig.cpp:1585
msgid ""
"This custom code is inserted at every layer change, right after the Z move "
"and before the extruder moves to the first layer point. Note that you can "
@@ -11330,11 +11406,11 @@ msgid ""
"[layer_z]."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1590
+#: src/libslic3r/PrintConfig.cpp:1596
msgid "Supports remaining times"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1591
+#: src/libslic3r/PrintConfig.cpp:1597
msgid ""
"Emit M73 P[percent printed] R[remaining time in minutes] at 1 minute "
"intervals into the G-code to let the firmware show accurate remaining time. "
@@ -11342,155 +11418,155 @@ msgid ""
"firmware supports M73 Qxx Sxx for the silent mode."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1599
+#: src/libslic3r/PrintConfig.cpp:1605
msgid "Supports stealth mode"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1600
+#: src/libslic3r/PrintConfig.cpp:1606
msgid "The firmware supports stealth mode"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1605
+#: src/libslic3r/PrintConfig.cpp:1611
msgid "How to apply limits"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1606
+#: src/libslic3r/PrintConfig.cpp:1612
msgid "Purpose of Machine Limits"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1608
+#: src/libslic3r/PrintConfig.cpp:1614
msgid "How to apply the Machine Limits"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1613
+#: src/libslic3r/PrintConfig.cpp:1619
msgid "Emit to G-code"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1614
+#: src/libslic3r/PrintConfig.cpp:1620
msgid "Use for time estimate"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1615
+#: src/libslic3r/PrintConfig.cpp:1621
msgid "Ignore"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1638
+#: src/libslic3r/PrintConfig.cpp:1644
msgid "Maximum feedrate X"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1639
+#: src/libslic3r/PrintConfig.cpp:1645
msgid "Maximum feedrate Y"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1640
+#: src/libslic3r/PrintConfig.cpp:1646
msgid "Maximum feedrate Z"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1641
+#: src/libslic3r/PrintConfig.cpp:1647
msgid "Maximum feedrate E"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1644
+#: src/libslic3r/PrintConfig.cpp:1650
msgid "Maximum feedrate of the X axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1645
+#: src/libslic3r/PrintConfig.cpp:1651
msgid "Maximum feedrate of the Y axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1646
+#: src/libslic3r/PrintConfig.cpp:1652
msgid "Maximum feedrate of the Z axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1647
+#: src/libslic3r/PrintConfig.cpp:1653
msgid "Maximum feedrate of the E axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1655
+#: src/libslic3r/PrintConfig.cpp:1661
msgid "Maximum acceleration X"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1656
+#: src/libslic3r/PrintConfig.cpp:1662
msgid "Maximum acceleration Y"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1657
+#: src/libslic3r/PrintConfig.cpp:1663
msgid "Maximum acceleration Z"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1658
+#: src/libslic3r/PrintConfig.cpp:1664
msgid "Maximum acceleration E"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1661
+#: src/libslic3r/PrintConfig.cpp:1667
msgid "Maximum acceleration of the X axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1662
+#: src/libslic3r/PrintConfig.cpp:1668
msgid "Maximum acceleration of the Y axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1663
+#: src/libslic3r/PrintConfig.cpp:1669
msgid "Maximum acceleration of the Z axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1664
+#: src/libslic3r/PrintConfig.cpp:1670
msgid "Maximum acceleration of the E axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1672
+#: src/libslic3r/PrintConfig.cpp:1678
msgid "Maximum jerk X"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1673
+#: src/libslic3r/PrintConfig.cpp:1679
msgid "Maximum jerk Y"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1674
+#: src/libslic3r/PrintConfig.cpp:1680
msgid "Maximum jerk Z"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1675
+#: src/libslic3r/PrintConfig.cpp:1681
msgid "Maximum jerk E"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1678
+#: src/libslic3r/PrintConfig.cpp:1684
msgid "Maximum jerk of the X axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1679
+#: src/libslic3r/PrintConfig.cpp:1685
msgid "Maximum jerk of the Y axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1680
+#: src/libslic3r/PrintConfig.cpp:1686
msgid "Maximum jerk of the Z axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1681
+#: src/libslic3r/PrintConfig.cpp:1687
msgid "Maximum jerk of the E axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1691
+#: src/libslic3r/PrintConfig.cpp:1697
msgid "Minimum feedrate when extruding"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1693
+#: src/libslic3r/PrintConfig.cpp:1699
msgid "Minimum feedrate when extruding (M205 S)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1701
+#: src/libslic3r/PrintConfig.cpp:1707
msgid "Minimum travel feedrate"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1703
+#: src/libslic3r/PrintConfig.cpp:1709
msgid "Minimum travel feedrate (M205 T)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1711
+#: src/libslic3r/PrintConfig.cpp:1717
msgid "Maximum acceleration when extruding"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1713
+#: src/libslic3r/PrintConfig.cpp:1719
msgid ""
"Maximum acceleration when extruding (M204 P)\n"
"\n"
@@ -11498,31 +11574,31 @@ msgid ""
"(M204 T)."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1724
+#: src/libslic3r/PrintConfig.cpp:1730
msgid "Maximum acceleration when retracting"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1726
+#: src/libslic3r/PrintConfig.cpp:1732
msgid "Maximum acceleration when retracting (M204 R)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1734
+#: src/libslic3r/PrintConfig.cpp:1740
msgid "Maximum acceleration for travel moves"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1736
+#: src/libslic3r/PrintConfig.cpp:1742
msgid "Maximum acceleration for travel moves (M204 T)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1743 src/libslic3r/PrintConfig.cpp:1752
+#: src/libslic3r/PrintConfig.cpp:1749 src/libslic3r/PrintConfig.cpp:1758
msgid "Max"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1744
+#: src/libslic3r/PrintConfig.cpp:1750
msgid "This setting represents the maximum speed of your fan."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1753
+#: src/libslic3r/PrintConfig.cpp:1759
msgid ""
"This is the highest printable layer height for this extruder, used to cap "
"the variable layer height and support layer height. Maximum recommended "
@@ -11530,28 +11606,28 @@ msgid ""
"adhesion. If set to 0, layer height is limited to 75% of the nozzle diameter."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1763
+#: src/libslic3r/PrintConfig.cpp:1769
msgid "Max print speed"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1764
+#: src/libslic3r/PrintConfig.cpp:1770
msgid ""
"When setting other speed settings to 0 Slic3r will autocalculate the optimal "
"speed in order to keep constant extruder pressure. This experimental setting "
"is used to set the highest print speed you want to allow."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1774
+#: src/libslic3r/PrintConfig.cpp:1780
msgid ""
"This experimental setting is used to set the maximum volumetric speed your "
"extruder supports."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1783
+#: src/libslic3r/PrintConfig.cpp:1789
msgid "Max volumetric slope positive"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1784 src/libslic3r/PrintConfig.cpp:1795
+#: src/libslic3r/PrintConfig.cpp:1790 src/libslic3r/PrintConfig.cpp:1801
msgid ""
"This experimental setting is used to limit the speed of change in extrusion "
"rate. A value of 1.8 mm³/s² ensures, that a change from the extrusion rate "
@@ -11559,95 +11635,95 @@ msgid ""
"s) to 5.4 mm³/s (feedrate 60 mm/s) will take at least 2 seconds."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1788 src/libslic3r/PrintConfig.cpp:1799
+#: src/libslic3r/PrintConfig.cpp:1794 src/libslic3r/PrintConfig.cpp:1805
msgid "mm³/s²"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1794
+#: src/libslic3r/PrintConfig.cpp:1800
msgid "Max volumetric slope negative"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1806 src/libslic3r/PrintConfig.cpp:1815
+#: src/libslic3r/PrintConfig.cpp:1812 src/libslic3r/PrintConfig.cpp:1821
msgid "Min"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1807
+#: src/libslic3r/PrintConfig.cpp:1813
msgid "This setting represents the minimum PWM your fan needs to work."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1816
+#: src/libslic3r/PrintConfig.cpp:1822
msgid ""
"This is the lowest printable layer height for this extruder and limits the "
"resolution for variable layer height. Typical values are between 0.05 mm and "
"0.1 mm."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1824
+#: src/libslic3r/PrintConfig.cpp:1830
msgid "Min print speed"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1825
+#: src/libslic3r/PrintConfig.cpp:1831
msgid "Slic3r will not scale speed down below this speed."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1832
+#: src/libslic3r/PrintConfig.cpp:1838
msgid "Minimal filament extrusion length"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1833
+#: src/libslic3r/PrintConfig.cpp:1839
msgid ""
"Generate no less than the number of skirt loops required to consume the "
"specified amount of filament on the bottom layer. For multi-extruder "
"machines, this minimum applies to each extruder."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1842
+#: src/libslic3r/PrintConfig.cpp:1848
msgid "Configuration notes"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1843
+#: src/libslic3r/PrintConfig.cpp:1849
msgid ""
"You can put here your personal notes. This text will be added to the G-code "
"header comments."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1853
+#: src/libslic3r/PrintConfig.cpp:1859
msgid ""
"This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1858
+#: src/libslic3r/PrintConfig.cpp:1864
msgid "Host Type"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1859
+#: src/libslic3r/PrintConfig.cpp:1865
msgid ""
"Slic3r can upload G-code files to a printer host. This field must contain "
"the kind of the host."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1881
+#: src/libslic3r/PrintConfig.cpp:1887
msgid "Only retract when crossing perimeters"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1882
+#: src/libslic3r/PrintConfig.cpp:1888
msgid ""
"Disables retraction when the travel path does not exceed the upper layer's "
"perimeters (and thus any ooze will be probably invisible)."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1889
+#: src/libslic3r/PrintConfig.cpp:1895
msgid ""
"This option will drop the temperature of the inactive extruders to prevent "
"oozing. It will enable a tall skirt automatically and move extruders outside "
"such skirt when changing temperatures."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1896
+#: src/libslic3r/PrintConfig.cpp:1902
msgid "Output filename format"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1897
+#: src/libslic3r/PrintConfig.cpp:1903
msgid ""
"You can use all configuration options as variables inside this template. For "
"example: [layer_height], [fill_density] etc. You can also use [timestamp], "
@@ -11655,31 +11731,31 @@ msgid ""
"[input_filename], [input_filename_base]."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1906
+#: src/libslic3r/PrintConfig.cpp:1912
msgid "Detect bridging perimeters"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1908
+#: src/libslic3r/PrintConfig.cpp:1914
msgid ""
"Experimental option to adjust flow for overhangs (bridge flow will be used), "
"to apply bridge speed to them and enable fan."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1914
+#: src/libslic3r/PrintConfig.cpp:1920
msgid "Filament parking position"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1915
+#: src/libslic3r/PrintConfig.cpp:1921
msgid ""
"Distance of the extruder tip from the position where the filament is parked "
"when unloaded. This should match the value in printer firmware."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1923
+#: src/libslic3r/PrintConfig.cpp:1929
msgid "Extra loading distance"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1924
+#: src/libslic3r/PrintConfig.cpp:1930
msgid ""
"When set to zero, the distance the filament is moved from parking position "
"during load is exactly the same as it was moved back during unload. When "
@@ -11687,27 +11763,27 @@ msgid ""
"than unloading."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1932 src/libslic3r/PrintConfig.cpp:1949
-#: src/libslic3r/PrintConfig.cpp:1963 src/libslic3r/PrintConfig.cpp:1973
+#: src/libslic3r/PrintConfig.cpp:1938 src/libslic3r/PrintConfig.cpp:1955
+#: src/libslic3r/PrintConfig.cpp:1969 src/libslic3r/PrintConfig.cpp:1979
msgid "Perimeters"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1933
+#: src/libslic3r/PrintConfig.cpp:1939
msgid ""
"This is the acceleration your printer will use for perimeters. Set zero to "
"disable acceleration control for perimeters."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1940
+#: src/libslic3r/PrintConfig.cpp:1946
msgid "Perimeter extruder"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1942
+#: src/libslic3r/PrintConfig.cpp:1948
msgid ""
"The extruder to use when printing perimeters and brim. First extruder is 1."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1951
+#: src/libslic3r/PrintConfig.cpp:1957
msgid ""
"Set this to a non-zero value to set a manual extrusion width for perimeters. "
"You may want to use thinner extrudates to get more accurate surfaces. If "
@@ -11716,12 +11792,12 @@ msgid ""
"it will be computed over layer height."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1965
+#: src/libslic3r/PrintConfig.cpp:1971
msgid ""
"Speed for perimeters (contours, aka vertical shells). Set to zero for auto."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1975
+#: src/libslic3r/PrintConfig.cpp:1981
msgid ""
"This option sets the number of perimeters to generate for each layer. Note "
"that Slic3r may increase this number automatically when it detects sloping "
@@ -11729,11 +11805,11 @@ msgid ""
"Perimeters option is enabled."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1979
+#: src/libslic3r/PrintConfig.cpp:1985
msgid "(minimum)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1987
+#: src/libslic3r/PrintConfig.cpp:1993
msgid ""
"If you want to process the output G-code through custom scripts, just list "
"their absolute paths here. Separate multiple scripts with a semicolon. "
@@ -11742,90 +11818,90 @@ msgid ""
"environment variables."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:1999
+#: src/libslic3r/PrintConfig.cpp:2005
msgid "Printer type"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2000
+#: src/libslic3r/PrintConfig.cpp:2006
msgid "Type of the printer."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2005
+#: src/libslic3r/PrintConfig.cpp:2011
msgid "Printer notes"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2006
+#: src/libslic3r/PrintConfig.cpp:2012
msgid "You can put your notes regarding the printer here."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2014
+#: src/libslic3r/PrintConfig.cpp:2020
msgid "Printer vendor"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2015
+#: src/libslic3r/PrintConfig.cpp:2021
msgid "Name of the printer vendor."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2020
+#: src/libslic3r/PrintConfig.cpp:2026
msgid "Printer variant"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2021
+#: src/libslic3r/PrintConfig.cpp:2027
msgid ""
"Name of the printer variant. For example, the printer variants may be "
"differentiated by a nozzle diameter."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2038
+#: src/libslic3r/PrintConfig.cpp:2044
msgid "Raft contact Z distance"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2040
+#: src/libslic3r/PrintConfig.cpp:2046
msgid ""
"The vertical distance between object and raft. Ignored for soluble interface."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2047
+#: src/libslic3r/PrintConfig.cpp:2053
msgid "Raft expansion"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2049
+#: src/libslic3r/PrintConfig.cpp:2055
msgid "Expansion of the raft in XY plane for better stability."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2056
+#: src/libslic3r/PrintConfig.cpp:2062
msgid "First layer density"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2058
+#: src/libslic3r/PrintConfig.cpp:2064
msgid "Density of the first raft or support layer."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2066
+#: src/libslic3r/PrintConfig.cpp:2072
msgid "First layer expansion"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2068
+#: src/libslic3r/PrintConfig.cpp:2074
msgid ""
"Expansion of the first raft or support layer to improve adhesion to print "
"bed."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2075
+#: src/libslic3r/PrintConfig.cpp:2081
msgid "Raft layers"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2077
+#: src/libslic3r/PrintConfig.cpp:2083
msgid ""
"The object will be raised by this number of layers, and support material "
"will be generated under it."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2085
+#: src/libslic3r/PrintConfig.cpp:2091
msgid "Slice resolution"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2086
+#: src/libslic3r/PrintConfig.cpp:2092
msgid ""
"Minimum detail resolution, used to simplify the input file for speeding up "
"the slicing job and reducing memory usage. High-resolution models often "
@@ -11833,11 +11909,11 @@ msgid ""
"simplification and use full resolution from input."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2096
+#: src/libslic3r/PrintConfig.cpp:2102
msgid "G-code resolution"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2097
+#: src/libslic3r/PrintConfig.cpp:2103
msgid ""
"Maximum deviation of exported G-code paths from their full resolution "
"counterparts. Very high resolution G-code requires huge amount of RAM to "
@@ -11848,201 +11924,201 @@ msgid ""
"produced."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2108
+#: src/libslic3r/PrintConfig.cpp:2114
msgid "Minimum travel after retraction"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2109
+#: src/libslic3r/PrintConfig.cpp:2115
msgid ""
"Retraction is not triggered when travel moves are shorter than this length."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2115
+#: src/libslic3r/PrintConfig.cpp:2121
msgid "Retract amount before wipe"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2116
+#: src/libslic3r/PrintConfig.cpp:2122
msgid ""
"With bowden extruders, it may be wise to do some amount of quick retract "
"before doing the wipe movement."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2123
+#: src/libslic3r/PrintConfig.cpp:2129
msgid "Retract on layer change"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2124
+#: src/libslic3r/PrintConfig.cpp:2130
msgid "This flag enforces a retraction whenever a Z move is done."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2129 src/libslic3r/PrintConfig.cpp:2137
+#: src/libslic3r/PrintConfig.cpp:2135 src/libslic3r/PrintConfig.cpp:2143
msgid "Length"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2130
+#: src/libslic3r/PrintConfig.cpp:2136
msgid "Retraction Length"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2131
+#: src/libslic3r/PrintConfig.cpp:2137
msgid ""
"When retraction is triggered, filament is pulled back by the specified "
"amount (the length is measured on raw filament, before it enters the "
"extruder)."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2138
+#: src/libslic3r/PrintConfig.cpp:2144
msgid "Retraction Length (Toolchange)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2139
+#: src/libslic3r/PrintConfig.cpp:2145
msgid ""
"When retraction is triggered before changing tool, filament is pulled back "
"by the specified amount (the length is measured on raw filament, before it "
"enters the extruder)."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2147
+#: src/libslic3r/PrintConfig.cpp:2153
msgid "Lift Z"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2148
+#: src/libslic3r/PrintConfig.cpp:2154
msgid ""
"If you set this to a positive value, Z is quickly raised every time a "
"retraction is triggered. When using multiple extruders, only the setting for "
"the first extruder will be considered."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2155
+#: src/libslic3r/PrintConfig.cpp:2161
msgid "Above Z"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2156
+#: src/libslic3r/PrintConfig.cpp:2162
msgid "Only lift Z above"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2157
+#: src/libslic3r/PrintConfig.cpp:2163
msgid ""
"If you set this to a positive value, Z lift will only take place above the "
"specified absolute Z. You can tune this setting for skipping lift on the "
"first layers."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2164
+#: src/libslic3r/PrintConfig.cpp:2170
msgid "Below Z"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2165
+#: src/libslic3r/PrintConfig.cpp:2171
msgid "Only lift Z below"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2166
+#: src/libslic3r/PrintConfig.cpp:2172
msgid ""
"If you set this to a positive value, Z lift will only take place below the "
"specified absolute Z. You can tune this setting for limiting lift to the "
"first layers."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2174 src/libslic3r/PrintConfig.cpp:2182
+#: src/libslic3r/PrintConfig.cpp:2180 src/libslic3r/PrintConfig.cpp:2188
msgid "Extra length on restart"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2175
+#: src/libslic3r/PrintConfig.cpp:2181
msgid ""
"When the retraction is compensated after the travel move, the extruder will "
"push this additional amount of filament. This setting is rarely needed."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2183
+#: src/libslic3r/PrintConfig.cpp:2189
msgid ""
"When the retraction is compensated after changing tool, the extruder will "
"push this additional amount of filament."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2190 src/libslic3r/PrintConfig.cpp:2191
+#: src/libslic3r/PrintConfig.cpp:2196 src/libslic3r/PrintConfig.cpp:2197
msgid "Retraction Speed"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2192
+#: src/libslic3r/PrintConfig.cpp:2198
msgid "The speed for retractions (it only applies to the extruder motor)."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2198 src/libslic3r/PrintConfig.cpp:2199
+#: src/libslic3r/PrintConfig.cpp:2204 src/libslic3r/PrintConfig.cpp:2205
msgid "Deretraction Speed"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2200
+#: src/libslic3r/PrintConfig.cpp:2206
msgid ""
"The speed for loading of a filament into extruder after retraction (it only "
"applies to the extruder motor). If left to zero, the retraction speed is "
"used."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2207
+#: src/libslic3r/PrintConfig.cpp:2213
msgid "Seam position"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2209
+#: src/libslic3r/PrintConfig.cpp:2215
msgid "Position of perimeters starting points."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2215
+#: src/libslic3r/PrintConfig.cpp:2221
msgid "Random"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2216
+#: src/libslic3r/PrintConfig.cpp:2222
msgid "Nearest"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2217
+#: src/libslic3r/PrintConfig.cpp:2223
msgid "Aligned"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2225
+#: src/libslic3r/PrintConfig.cpp:2231
msgid "Direction"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2227
+#: src/libslic3r/PrintConfig.cpp:2233
msgid "Preferred direction of the seam"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2228
+#: src/libslic3r/PrintConfig.cpp:2234
msgid "Seam preferred direction"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2235
+#: src/libslic3r/PrintConfig.cpp:2241
msgid "Jitter"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2237
+#: src/libslic3r/PrintConfig.cpp:2243
msgid "Seam preferred direction jitter"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2238
+#: src/libslic3r/PrintConfig.cpp:2244
msgid "Preferred direction of the seam - jitter"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2245
+#: src/libslic3r/PrintConfig.cpp:2251
msgid "Distance from brim/object"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2246
+#: src/libslic3r/PrintConfig.cpp:2252
msgid ""
"Distance between skirt and brim (when draft shield is not used) or objects."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2252
+#: src/libslic3r/PrintConfig.cpp:2258
msgid "Skirt height"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2253
+#: src/libslic3r/PrintConfig.cpp:2259
msgid "Height of skirt expressed in layers."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2259
+#: src/libslic3r/PrintConfig.cpp:2265
msgid "Draft shield"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2260
+#: src/libslic3r/PrintConfig.cpp:2266
msgid ""
"With draft shield active, the skirt will be printed skirt_distance from the "
"object, possibly intersecting brim.\n"
@@ -12052,81 +12128,81 @@ msgid ""
"from print bed due to wind draft."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2268
+#: src/libslic3r/PrintConfig.cpp:2274
msgid "Disabled"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2269
+#: src/libslic3r/PrintConfig.cpp:2275
msgid "Limited"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2270
+#: src/libslic3r/PrintConfig.cpp:2276
msgid "Enabled"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2275
+#: src/libslic3r/PrintConfig.cpp:2281
msgid "Loops (minimum)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2276
+#: src/libslic3r/PrintConfig.cpp:2282
msgid "Skirt Loops"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2277
+#: src/libslic3r/PrintConfig.cpp:2283
msgid ""
"Number of loops for the skirt. If the Minimum Extrusion Length option is "
"set, the number of loops might be greater than the one configured here. Set "
"this to zero to disable skirt completely."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2285
+#: src/libslic3r/PrintConfig.cpp:2291
msgid "Slow down if layer print time is below"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2286
+#: src/libslic3r/PrintConfig.cpp:2292
msgid ""
"If layer print time is estimated below this number of seconds, print moves "
"speed will be scaled down to extend duration to this value."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2295
+#: src/libslic3r/PrintConfig.cpp:2301
msgid "Small perimeters"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2297
+#: src/libslic3r/PrintConfig.cpp:2303
msgid ""
"This separate setting will affect the speed of perimeters having radius <= "
"6.5mm (usually holes). If expressed as percentage (for example: 80%) it will "
"be calculated on the perimeters speed setting above. Set to zero for auto."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2307
+#: src/libslic3r/PrintConfig.cpp:2313
msgid "Solid infill threshold area"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2309
+#: src/libslic3r/PrintConfig.cpp:2315
msgid ""
"Force solid infill for regions having a smaller area than the specified "
"threshold."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2310
+#: src/libslic3r/PrintConfig.cpp:2316
msgid "mm²"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2316
+#: src/libslic3r/PrintConfig.cpp:2322
msgid "Solid infill extruder"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2318
+#: src/libslic3r/PrintConfig.cpp:2324
msgid "The extruder to use when printing solid infill."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2324
+#: src/libslic3r/PrintConfig.cpp:2330
msgid "Solid infill every"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2326
+#: src/libslic3r/PrintConfig.cpp:2332
msgid ""
"This feature allows to force a solid layer every given number of layers. "
"Zero to disable. You can set this to any value (for example 9999); Slic3r "
@@ -12134,7 +12210,7 @@ msgid ""
"according to nozzle diameter and layer height."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2338
+#: src/libslic3r/PrintConfig.cpp:2344
msgid ""
"Set this to a non-zero value to set a manual extrusion width for infill for "
"solid surfaces. If left zero, default extrusion width will be used if set, "
@@ -12142,26 +12218,26 @@ msgid ""
"(for example 90%) it will be computed over layer height."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2350
+#: src/libslic3r/PrintConfig.cpp:2356
msgid ""
"Speed for printing solid regions (top/bottom/internal horizontal shells). "
"This can be expressed as a percentage (for example: 80%) over the default "
"infill speed above. Set to zero for auto."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2362
+#: src/libslic3r/PrintConfig.cpp:2368
msgid "Number of solid layers to generate on top and bottom surfaces."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2368 src/libslic3r/PrintConfig.cpp:2369
+#: src/libslic3r/PrintConfig.cpp:2374 src/libslic3r/PrintConfig.cpp:2375
msgid "Minimum thickness of a top / bottom shell"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2375
+#: src/libslic3r/PrintConfig.cpp:2381
msgid "Spiral vase"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2376
+#: src/libslic3r/PrintConfig.cpp:2382
msgid ""
"This feature will raise Z gradually while printing a single-walled object in "
"order to remove any visible seam. This option requires a single perimeter, "
@@ -12170,18 +12246,18 @@ msgid ""
"when printing more than one single object."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2384
+#: src/libslic3r/PrintConfig.cpp:2390
msgid "Temperature variation"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2385
+#: src/libslic3r/PrintConfig.cpp:2391
msgid ""
"Temperature difference to be applied when an extruder is not active. Enables "
"a full-height \"sacrificial\" skirt on which the nozzles are periodically "
"wiped."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2395
+#: src/libslic3r/PrintConfig.cpp:2401
msgid ""
"This start procedure is inserted at the beginning, after bed has reached the "
"target temperature and extruder just started heating, and before extruder "
@@ -12192,7 +12268,7 @@ msgid ""
"put a \"M109 S[first_layer_temperature]\" command wherever you want."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2410
+#: src/libslic3r/PrintConfig.cpp:2416
msgid ""
"This start procedure is inserted at the beginning, after any printer start "
"gcode (and after any toolchange to this filament in case of multi-material "
@@ -12205,45 +12281,45 @@ msgid ""
"extruders, the gcode is processed in extruder order."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2426
+#: src/libslic3r/PrintConfig.cpp:2432
msgid "Color change G-code"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2427
+#: src/libslic3r/PrintConfig.cpp:2433
msgid "This G-code will be used as a code for the color change"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2436
+#: src/libslic3r/PrintConfig.cpp:2442
msgid "This G-code will be used as a code for the pause print"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2445
+#: src/libslic3r/PrintConfig.cpp:2451
msgid "This G-code will be used as a custom code"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2453
+#: src/libslic3r/PrintConfig.cpp:2459
msgid "Single Extruder Multi Material"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2454
+#: src/libslic3r/PrintConfig.cpp:2460
msgid "The printer multiplexes filaments into a single hot end."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2459
+#: src/libslic3r/PrintConfig.cpp:2465
msgid "Prime all printing extruders"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2460
+#: src/libslic3r/PrintConfig.cpp:2466
msgid ""
"If enabled, all printing extruders will be primed at the front edge of the "
"print bed at the start of the print."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2465
+#: src/libslic3r/PrintConfig.cpp:2471
msgid "No sparse layers (EXPERIMENTAL)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2466
+#: src/libslic3r/PrintConfig.cpp:2472
msgid ""
"If enabled, the wipe tower will not be printed on layers with no "
"toolchanges. On layers with a toolchange, extruder will travel downward to "
@@ -12251,112 +12327,112 @@ msgid ""
"with the print."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2473
+#: src/libslic3r/PrintConfig.cpp:2479
msgid "Slice gap closing radius"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2475
+#: src/libslic3r/PrintConfig.cpp:2481
msgid ""
"Cracks smaller than 2x gap closing radius are being filled during the "
"triangle mesh slicing. The gap closing operation may reduce the final print "
"resolution, therefore it is advisable to keep the value reasonably low."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2483
+#: src/libslic3r/PrintConfig.cpp:2489
msgid "Slicing Mode"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2485
+#: src/libslic3r/PrintConfig.cpp:2491
msgid ""
"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to "
"close all holes in the model."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2490
+#: src/libslic3r/PrintConfig.cpp:2496
msgid "Regular"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2491
+#: src/libslic3r/PrintConfig.cpp:2497
msgid "Even-odd"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2492
+#: src/libslic3r/PrintConfig.cpp:2498
msgid "Close holes"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2497
+#: src/libslic3r/PrintConfig.cpp:2503
msgid "Generate support material"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2499
+#: src/libslic3r/PrintConfig.cpp:2505
msgid "Enable support material generation."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2503
+#: src/libslic3r/PrintConfig.cpp:2509
msgid "Auto generated supports"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2505
+#: src/libslic3r/PrintConfig.cpp:2511
msgid ""
"If checked, supports will be generated automatically based on the overhang "
"threshold value. If unchecked, supports will be generated inside the "
"\"Support Enforcer\" volumes only."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2511
+#: src/libslic3r/PrintConfig.cpp:2517
msgid "XY separation between an object and its support"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2513
+#: src/libslic3r/PrintConfig.cpp:2519
msgid ""
"XY separation between an object and its support. If expressed as percentage "
"(for example 50%), it will be calculated over external perimeter width."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2524
+#: src/libslic3r/PrintConfig.cpp:2530
msgid "Pattern angle"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2526
+#: src/libslic3r/PrintConfig.cpp:2532
msgid ""
"Use this setting to rotate the support material pattern on the horizontal "
"plane."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2536 src/libslic3r/PrintConfig.cpp:3495
+#: src/libslic3r/PrintConfig.cpp:2542 src/libslic3r/PrintConfig.cpp:3501
msgid ""
"Only create support if it lies on a build plate. Don't create support on a "
"print."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2542
+#: src/libslic3r/PrintConfig.cpp:2548
msgid "Top contact Z distance"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2544
+#: src/libslic3r/PrintConfig.cpp:2550
msgid ""
"The vertical distance between object and support material interface. Setting "
"this to 0 will also prevent Slic3r from using bridge flow and speed for the "
"first object layer."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2552
+#: src/libslic3r/PrintConfig.cpp:2558
msgid "0 (soluble)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2553
+#: src/libslic3r/PrintConfig.cpp:2559
msgid "0.1 (detachable)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2554
+#: src/libslic3r/PrintConfig.cpp:2560
msgid "0.2 (detachable)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2560
+#: src/libslic3r/PrintConfig.cpp:2566
msgid "Bottom contact Z distance"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2562
+#: src/libslic3r/PrintConfig.cpp:2568
msgid ""
"The vertical distance between the object top surface and the support "
"material interface. If set to zero, support_material_contact_distance will "
@@ -12365,15 +12441,15 @@ msgstr ""
#. TRN To be shown in Print Settings "Bottom contact Z distance". Have to be as short as possible
#. TRN To be shown in Print Settings "Bottom interface layers". Have to be as short as possible
-#: src/libslic3r/PrintConfig.cpp:2570 src/libslic3r/PrintConfig.cpp:2655
+#: src/libslic3r/PrintConfig.cpp:2576 src/libslic3r/PrintConfig.cpp:2661
msgid "Same as top"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2577
+#: src/libslic3r/PrintConfig.cpp:2583
msgid "Enforce support for the first"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2579
+#: src/libslic3r/PrintConfig.cpp:2585
msgid ""
"Generate support material for the specified number of layers counting from "
"bottom, regardless of whether normal support material is enabled or not and "
@@ -12381,21 +12457,21 @@ msgid ""
"of objects having a very thin or poor footprint on the build plate."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2584
+#: src/libslic3r/PrintConfig.cpp:2590
msgid "Enforce support for the first n layers"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2590
+#: src/libslic3r/PrintConfig.cpp:2596
msgid "Support material/raft/skirt extruder"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2592
+#: src/libslic3r/PrintConfig.cpp:2598
msgid ""
"The extruder to use when printing support material, raft and skirt (1+, 0 to "
"use the current extruder to minimize tool changes)."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2601
+#: src/libslic3r/PrintConfig.cpp:2607
msgid ""
"Set this to a non-zero value to set a manual extrusion width for support "
"material. If left zero, default extrusion width will be used if set, "
@@ -12403,151 +12479,151 @@ msgid ""
"example 90%) it will be computed over layer height."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2611
+#: src/libslic3r/PrintConfig.cpp:2617
msgid "Interface loops"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2613
+#: src/libslic3r/PrintConfig.cpp:2619
msgid ""
"Cover the top contact layer of the supports with loops. Disabled by default."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2618
+#: src/libslic3r/PrintConfig.cpp:2624
msgid "Support material/raft interface extruder"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2620
+#: src/libslic3r/PrintConfig.cpp:2626
msgid ""
"The extruder to use when printing support material interface (1+, 0 to use "
"the current extruder to minimize tool changes). This affects raft too."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2628
+#: src/libslic3r/PrintConfig.cpp:2634
msgid "Top interface layers"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2630
+#: src/libslic3r/PrintConfig.cpp:2636
msgid ""
"Number of interface layers to insert between the object(s) and support "
"material."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2637
+#: src/libslic3r/PrintConfig.cpp:2643
msgid "0 (off)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2638
+#: src/libslic3r/PrintConfig.cpp:2644
msgid "1 (light)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2639
+#: src/libslic3r/PrintConfig.cpp:2645
msgid "2 (default)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2640
+#: src/libslic3r/PrintConfig.cpp:2646
msgid "3 (heavy)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2646
+#: src/libslic3r/PrintConfig.cpp:2652
msgid "Bottom interface layers"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2648
+#: src/libslic3r/PrintConfig.cpp:2654
msgid ""
"Number of interface layers to insert between the object(s) and support "
"material. Set to -1 to use support_material_interface_layers"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2661
+#: src/libslic3r/PrintConfig.cpp:2667
msgid "Closing radius"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2663
+#: src/libslic3r/PrintConfig.cpp:2669
msgid ""
"For snug supports, the support regions will be merged using morphological "
"closing operation. Gaps smaller than the closing radius will be filled in."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2671
+#: src/libslic3r/PrintConfig.cpp:2677
msgid "Interface pattern spacing"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2673
+#: src/libslic3r/PrintConfig.cpp:2679
msgid "Spacing between interface lines. Set zero to get a solid interface."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2682
+#: src/libslic3r/PrintConfig.cpp:2688
msgid ""
"Speed for printing support material interface layers. If expressed as "
"percentage (for example 50%) it will be calculated over support material "
"speed."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2691
+#: src/libslic3r/PrintConfig.cpp:2697
msgid "Pattern"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2693
+#: src/libslic3r/PrintConfig.cpp:2699
msgid "Pattern used to generate support material."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2699
+#: src/libslic3r/PrintConfig.cpp:2705
msgid "Rectilinear grid"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2705
+#: src/libslic3r/PrintConfig.cpp:2711
msgid "Interface pattern"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2707
+#: src/libslic3r/PrintConfig.cpp:2713
msgid ""
"Pattern used to generate support material interface. Default pattern for non-"
"soluble support interface is Rectilinear, while default pattern for soluble "
"support interface is Concentric."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2721
+#: src/libslic3r/PrintConfig.cpp:2727
msgid "Pattern spacing"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2723
+#: src/libslic3r/PrintConfig.cpp:2729
msgid "Spacing between support material lines."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2732
+#: src/libslic3r/PrintConfig.cpp:2738
msgid "Speed for printing support material."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2739
+#: src/libslic3r/PrintConfig.cpp:2745
msgid "Style"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2741
+#: src/libslic3r/PrintConfig.cpp:2747
msgid ""
"Style and shape of the support towers. Projecting the supports into a "
"regular grid will create more stable supports, while snug support towers "
"will save material and reduce object scarring."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2748
+#: src/libslic3r/PrintConfig.cpp:2754
msgid "Snug"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2753
+#: src/libslic3r/PrintConfig.cpp:2759
msgid "Synchronize with object layers"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2755
+#: src/libslic3r/PrintConfig.cpp:2761
msgid ""
"Synchronize support layers with the object print layers. This is useful with "
"multi-material printers, where the extruder switch is expensive."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2761
+#: src/libslic3r/PrintConfig.cpp:2767
msgid "Overhang threshold"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2763
+#: src/libslic3r/PrintConfig.cpp:2769
msgid ""
"Support material will not be generated for overhangs whose slope angle (90° "
"= vertical) is above the given threshold. In other words, this value "
@@ -12556,58 +12632,58 @@ msgid ""
"detection (recommended)."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2775
+#: src/libslic3r/PrintConfig.cpp:2781
msgid "With sheath around the support"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2777
+#: src/libslic3r/PrintConfig.cpp:2783
msgid ""
"Add a sheath (a single perimeter line) around the base support. This makes "
"the support more reliable, but also more difficult to remove."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2784
+#: src/libslic3r/PrintConfig.cpp:2790
msgid ""
"Nozzle temperature for layers after the first one. Set this to zero to "
"disable temperature control commands in the output G-code."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2787
+#: src/libslic3r/PrintConfig.cpp:2793
msgid "Nozzle temperature"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2793
+#: src/libslic3r/PrintConfig.cpp:2799
msgid "Thick bridges"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2795
+#: src/libslic3r/PrintConfig.cpp:2801
msgid ""
"If enabled, bridges are more reliable, can bridge longer distances, but may "
"look worse. If disabled, bridges look better but are reliable just for "
"shorter bridged distances."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2801
+#: src/libslic3r/PrintConfig.cpp:2807
msgid "Detect thin walls"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2803
+#: src/libslic3r/PrintConfig.cpp:2809
msgid ""
"Detect single-width walls (parts where two extrusions don't fit and we need "
"to collapse them into a single trace)."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2809
+#: src/libslic3r/PrintConfig.cpp:2815
msgid "Threads"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2810
+#: src/libslic3r/PrintConfig.cpp:2816
msgid ""
"Threads are used to parallelize long-running tasks. Optimal threads number "
"is slightly above the number of available cores/processors."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2822
+#: src/libslic3r/PrintConfig.cpp:2828
msgid ""
"This custom code is inserted before every toolchange. Placeholder variables "
"for all PrusaSlicer settings as well as {toolchange_z}, {previous_extruder} "
@@ -12617,7 +12693,7 @@ msgid ""
"behaviour both before and after the toolchange."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2835
+#: src/libslic3r/PrintConfig.cpp:2841
msgid ""
"Set this to a non-zero value to set a manual extrusion width for infill for "
"top surfaces. You may want to use thinner extrudates to fill all narrow "
@@ -12626,7 +12702,7 @@ msgid ""
"percentage (for example 90%) it will be computed over layer height."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2848
+#: src/libslic3r/PrintConfig.cpp:2854
msgid ""
"Speed for printing top solid layers (it only applies to the uppermost "
"external layers and not to their internal solid layers). You may want to "
@@ -12635,65 +12711,65 @@ msgid ""
"for auto."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2863
+#: src/libslic3r/PrintConfig.cpp:2869
msgid "Number of solid layers to generate on top surfaces."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2864
+#: src/libslic3r/PrintConfig.cpp:2870
msgid "Top solid layers"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2872
+#: src/libslic3r/PrintConfig.cpp:2878
msgid ""
"The number of top solid layers is increased above top_solid_layers if "
"necessary to satisfy minimum thickness of top shell. This is useful to "
"prevent pillowing effect when printing with variable layer height."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2875
+#: src/libslic3r/PrintConfig.cpp:2881
msgid "Minimum top shell thickness"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2882
+#: src/libslic3r/PrintConfig.cpp:2888
msgid "Speed for travel moves (jumps between distant extrusion points)."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2890
+#: src/libslic3r/PrintConfig.cpp:2896
msgid "Z travel"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2891
+#: src/libslic3r/PrintConfig.cpp:2897
msgid ""
"Speed for movements along the Z axis.\n"
"When set to zero, the value is ignored and regular travel speed is used "
"instead."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2899
+#: src/libslic3r/PrintConfig.cpp:2905
msgid "Use firmware retraction"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2900
+#: src/libslic3r/PrintConfig.cpp:2906
msgid ""
"This experimental setting uses G10 and G11 commands to have the firmware "
"handle the retraction. This is only supported in recent Marlin."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2906
+#: src/libslic3r/PrintConfig.cpp:2912
msgid "Use relative E distances"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2907
+#: src/libslic3r/PrintConfig.cpp:2913
msgid ""
"If your firmware requires relative E values, check this, otherwise leave it "
"unchecked. Most firmwares use absolute values."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2913
+#: src/libslic3r/PrintConfig.cpp:2919
msgid "Use volumetric E"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2914
+#: src/libslic3r/PrintConfig.cpp:2920
msgid ""
"This experimental setting uses outputs the E values in cubic millimeters "
"instead of linear millimeters. If your firmware doesn't already know "
@@ -12703,131 +12779,131 @@ msgid ""
"only supported in recent Marlin."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2924
+#: src/libslic3r/PrintConfig.cpp:2930
msgid "Enable variable layer height feature"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2925
+#: src/libslic3r/PrintConfig.cpp:2931
msgid ""
"Some printers or printer setups may have difficulties printing with a "
"variable layer height. Enabled by default."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2931
+#: src/libslic3r/PrintConfig.cpp:2937
msgid "Wipe while retracting"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2932
+#: src/libslic3r/PrintConfig.cpp:2938
msgid ""
"This flag will move the nozzle while retracting to minimize the possible "
"blob on leaky extruders."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2939
+#: src/libslic3r/PrintConfig.cpp:2945
msgid ""
"Multi material printers may need to prime or purge extruders on tool "
"changes. Extrude the excess material into the wipe tower."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2945
+#: src/libslic3r/PrintConfig.cpp:2951
msgid "Purging volumes - load/unload volumes"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2946
+#: src/libslic3r/PrintConfig.cpp:2952
msgid ""
"This vector saves required volumes to change from/to each tool used on the "
"wipe tower. These values are used to simplify creation of the full purging "
"volumes below."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2952
+#: src/libslic3r/PrintConfig.cpp:2958
msgid "Purging volumes - matrix"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2953
+#: src/libslic3r/PrintConfig.cpp:2959
msgid ""
"This matrix describes volumes (in cubic milimetres) required to purge the "
"new filament on the wipe tower for any given pair of tools."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2962
+#: src/libslic3r/PrintConfig.cpp:2968
msgid "Position X"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2963
+#: src/libslic3r/PrintConfig.cpp:2969
msgid "X coordinate of the left front corner of a wipe tower"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2969
+#: src/libslic3r/PrintConfig.cpp:2975
msgid "Position Y"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2970
+#: src/libslic3r/PrintConfig.cpp:2976
msgid "Y coordinate of the left front corner of a wipe tower"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2977
+#: src/libslic3r/PrintConfig.cpp:2983
msgid "Width of a wipe tower"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2983
+#: src/libslic3r/PrintConfig.cpp:2989
msgid "Wipe tower rotation angle"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2984
+#: src/libslic3r/PrintConfig.cpp:2990
msgid "Wipe tower rotation angle with respect to x-axis."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2990 src/libslic3r/PrintConfig.cpp:2991
+#: src/libslic3r/PrintConfig.cpp:2996 src/libslic3r/PrintConfig.cpp:2997
msgid "Wipe tower brim width"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:2999
+#: src/libslic3r/PrintConfig.cpp:3005
msgid "Wipe into this object's infill"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3000
+#: src/libslic3r/PrintConfig.cpp:3006
msgid ""
"Purging after toolchange will be done inside this object's infills. This "
"lowers the amount of waste but may result in longer print time due to "
"additional travel moves."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3007
+#: src/libslic3r/PrintConfig.cpp:3013
msgid "Wipe into this object"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3008
+#: src/libslic3r/PrintConfig.cpp:3014
msgid ""
"Object will be used to purge the nozzle after a toolchange to save material "
"that would otherwise end up in the wipe tower and decrease print time. "
"Colours of the objects will be mixed as a result."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3014
+#: src/libslic3r/PrintConfig.cpp:3020
msgid "Maximal bridging distance"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3015
+#: src/libslic3r/PrintConfig.cpp:3021
msgid "Maximal distance between supports on sparse infill sections."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3021
+#: src/libslic3r/PrintConfig.cpp:3027
msgid "XY Size Compensation"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3023
+#: src/libslic3r/PrintConfig.cpp:3029
msgid ""
"The object will be grown/shrunk in the XY plane by the configured value "
"(negative = inwards, positive = outwards). This might be useful for fine-"
"tuning hole sizes."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3031
+#: src/libslic3r/PrintConfig.cpp:3037
msgid "Z offset"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3032
+#: src/libslic3r/PrintConfig.cpp:3038
msgid ""
"This value will be added (or subtracted) from all the Z coordinates in the "
"output G-code. It is used to compensate for bad Z endstop position: for "
@@ -12835,450 +12911,450 @@ msgid ""
"print bed, set this to -0.3 (or fix your endstop)."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3099
+#: src/libslic3r/PrintConfig.cpp:3105
msgid "Display width"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3100
+#: src/libslic3r/PrintConfig.cpp:3106
msgid "Width of the display"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3105
+#: src/libslic3r/PrintConfig.cpp:3111
msgid "Display height"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3106
+#: src/libslic3r/PrintConfig.cpp:3112
msgid "Height of the display"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3111
+#: src/libslic3r/PrintConfig.cpp:3117
msgid "Number of pixels in"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3113
+#: src/libslic3r/PrintConfig.cpp:3119
msgid "Number of pixels in X"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3119
+#: src/libslic3r/PrintConfig.cpp:3125
msgid "Number of pixels in Y"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3124
+#: src/libslic3r/PrintConfig.cpp:3130
msgid "Display horizontal mirroring"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3125
+#: src/libslic3r/PrintConfig.cpp:3131
msgid "Mirror horizontally"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3126
+#: src/libslic3r/PrintConfig.cpp:3132
msgid "Enable horizontal mirroring of output images"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3131
+#: src/libslic3r/PrintConfig.cpp:3137
msgid "Display vertical mirroring"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3132
+#: src/libslic3r/PrintConfig.cpp:3138
msgid "Mirror vertically"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3133
+#: src/libslic3r/PrintConfig.cpp:3139
msgid "Enable vertical mirroring of output images"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3138
+#: src/libslic3r/PrintConfig.cpp:3144
msgid "Display orientation"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3139
+#: src/libslic3r/PrintConfig.cpp:3145
msgid ""
"Set the actual LCD display orientation inside the SLA printer. Portrait mode "
"will flip the meaning of display width and height parameters and the output "
"images will be rotated by 90 degrees."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3145
+#: src/libslic3r/PrintConfig.cpp:3151
msgid "Landscape"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3146
+#: src/libslic3r/PrintConfig.cpp:3152
msgid "Portrait"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3151 src/libslic3r/PrintConfig.cpp:3776
+#: src/libslic3r/PrintConfig.cpp:3157 src/libslic3r/PrintConfig.cpp:3782
msgid "Fast"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3152
+#: src/libslic3r/PrintConfig.cpp:3158
msgid "Fast tilt"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3153
+#: src/libslic3r/PrintConfig.cpp:3159
msgid "Time of the fast tilt"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3160 src/libslic3r/PrintConfig.cpp:3775
+#: src/libslic3r/PrintConfig.cpp:3166 src/libslic3r/PrintConfig.cpp:3781
msgid "Slow"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3161
+#: src/libslic3r/PrintConfig.cpp:3167
msgid "Slow tilt"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3162
+#: src/libslic3r/PrintConfig.cpp:3168
msgid "Time of the slow tilt"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3169
+#: src/libslic3r/PrintConfig.cpp:3175
msgid "Area fill"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3170
+#: src/libslic3r/PrintConfig.cpp:3176
msgid ""
"The percentage of the bed area. \n"
"If the print area exceeds the specified value, \n"
"then a slow tilt will be used, otherwise - a fast tilt"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3177 src/libslic3r/PrintConfig.cpp:3178
-#: src/libslic3r/PrintConfig.cpp:3179
+#: src/libslic3r/PrintConfig.cpp:3183 src/libslic3r/PrintConfig.cpp:3184
+#: src/libslic3r/PrintConfig.cpp:3185
msgid "Printer scaling correction"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3185 src/libslic3r/PrintConfig.cpp:3187
+#: src/libslic3r/PrintConfig.cpp:3191 src/libslic3r/PrintConfig.cpp:3193
msgid "Printer scaling correction in X axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3186
+#: src/libslic3r/PrintConfig.cpp:3192
msgid "Printer scaling X axis correction"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3193 src/libslic3r/PrintConfig.cpp:3195
+#: src/libslic3r/PrintConfig.cpp:3199 src/libslic3r/PrintConfig.cpp:3201
msgid "Printer scaling correction in Y axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3194
+#: src/libslic3r/PrintConfig.cpp:3200
msgid "Printer scaling Y axis correction"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3201 src/libslic3r/PrintConfig.cpp:3203
+#: src/libslic3r/PrintConfig.cpp:3207 src/libslic3r/PrintConfig.cpp:3209
msgid "Printer scaling correction in Z axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3202
+#: src/libslic3r/PrintConfig.cpp:3208
msgid "Printer scaling Z axis correction"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3209 src/libslic3r/PrintConfig.cpp:3210
+#: src/libslic3r/PrintConfig.cpp:3215 src/libslic3r/PrintConfig.cpp:3216
msgid "Printer absolute correction"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3211
+#: src/libslic3r/PrintConfig.cpp:3217
msgid ""
"Will inflate or deflate the sliced 2D polygons according to the sign of the "
"correction."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3217
+#: src/libslic3r/PrintConfig.cpp:3223
msgid "Elephant foot minimum width"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3219
+#: src/libslic3r/PrintConfig.cpp:3225
msgid ""
"Minimum width of features to maintain when doing elephant foot compensation."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3226 src/libslic3r/PrintConfig.cpp:3227
+#: src/libslic3r/PrintConfig.cpp:3232 src/libslic3r/PrintConfig.cpp:3233
msgid "Printer gamma correction"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3228
+#: src/libslic3r/PrintConfig.cpp:3234
msgid ""
"This will apply a gamma correction to the rasterized 2D polygons. A gamma "
"value of zero means thresholding with the threshold in the middle. This "
"behaviour eliminates antialiasing without losing holes in polygons."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3247 src/libslic3r/PrintConfig.cpp:3248
+#: src/libslic3r/PrintConfig.cpp:3253 src/libslic3r/PrintConfig.cpp:3254
msgid "SLA material type"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3259 src/libslic3r/PrintConfig.cpp:3260
+#: src/libslic3r/PrintConfig.cpp:3265 src/libslic3r/PrintConfig.cpp:3266
msgid "Initial layer height"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3266 src/libslic3r/PrintConfig.cpp:3267
+#: src/libslic3r/PrintConfig.cpp:3272 src/libslic3r/PrintConfig.cpp:3273
msgid "Bottle volume"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3268
+#: src/libslic3r/PrintConfig.cpp:3274
msgid "ml"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3273 src/libslic3r/PrintConfig.cpp:3274
+#: src/libslic3r/PrintConfig.cpp:3279 src/libslic3r/PrintConfig.cpp:3280
msgid "Bottle weight"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3275
+#: src/libslic3r/PrintConfig.cpp:3281
msgid "kg"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3282
+#: src/libslic3r/PrintConfig.cpp:3288
msgid "g/ml"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3289
+#: src/libslic3r/PrintConfig.cpp:3295
msgid "money/bottle"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3294
+#: src/libslic3r/PrintConfig.cpp:3300
msgid "Faded layers"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3295
+#: src/libslic3r/PrintConfig.cpp:3301
msgid ""
"Number of the layers needed for the exposure time fade from initial exposure "
"time to the exposure time"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3302 src/libslic3r/PrintConfig.cpp:3303
+#: src/libslic3r/PrintConfig.cpp:3308 src/libslic3r/PrintConfig.cpp:3309
msgid "Minimum exposure time"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3310 src/libslic3r/PrintConfig.cpp:3311
+#: src/libslic3r/PrintConfig.cpp:3316 src/libslic3r/PrintConfig.cpp:3317
msgid "Maximum exposure time"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3318 src/libslic3r/PrintConfig.cpp:3319
+#: src/libslic3r/PrintConfig.cpp:3324 src/libslic3r/PrintConfig.cpp:3325
msgid "Exposure time"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3325 src/libslic3r/PrintConfig.cpp:3326
+#: src/libslic3r/PrintConfig.cpp:3331 src/libslic3r/PrintConfig.cpp:3332
msgid "Minimum initial exposure time"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3333 src/libslic3r/PrintConfig.cpp:3334
+#: src/libslic3r/PrintConfig.cpp:3339 src/libslic3r/PrintConfig.cpp:3340
msgid "Maximum initial exposure time"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3341 src/libslic3r/PrintConfig.cpp:3342
+#: src/libslic3r/PrintConfig.cpp:3347 src/libslic3r/PrintConfig.cpp:3348
msgid "Initial exposure time"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3348 src/libslic3r/PrintConfig.cpp:3349
+#: src/libslic3r/PrintConfig.cpp:3354 src/libslic3r/PrintConfig.cpp:3355
msgid "Correction for expansion"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3355 src/libslic3r/PrintConfig.cpp:3356
+#: src/libslic3r/PrintConfig.cpp:3361 src/libslic3r/PrintConfig.cpp:3362
msgid "Correction for expansion in X axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3362 src/libslic3r/PrintConfig.cpp:3363
+#: src/libslic3r/PrintConfig.cpp:3368 src/libslic3r/PrintConfig.cpp:3369
msgid "Correction for expansion in Y axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3369 src/libslic3r/PrintConfig.cpp:3370
+#: src/libslic3r/PrintConfig.cpp:3375 src/libslic3r/PrintConfig.cpp:3376
msgid "Correction for expansion in Z axis"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3376
+#: src/libslic3r/PrintConfig.cpp:3382
msgid "SLA print material notes"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3377
+#: src/libslic3r/PrintConfig.cpp:3383
msgid "You can put your notes regarding the SLA print material here."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3389 src/libslic3r/PrintConfig.cpp:3400
+#: src/libslic3r/PrintConfig.cpp:3395 src/libslic3r/PrintConfig.cpp:3406
msgid "Default SLA material profile"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3411
+#: src/libslic3r/PrintConfig.cpp:3417
msgid "Generate supports"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3413
+#: src/libslic3r/PrintConfig.cpp:3419
msgid "Generate supports for the models"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3418
+#: src/libslic3r/PrintConfig.cpp:3424
msgid "Pinhead front diameter"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3420
+#: src/libslic3r/PrintConfig.cpp:3426
msgid "Diameter of the pointing side of the head"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3427
+#: src/libslic3r/PrintConfig.cpp:3433
msgid "Head penetration"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3429
+#: src/libslic3r/PrintConfig.cpp:3435
msgid "How much the pinhead has to penetrate the model surface"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3436
+#: src/libslic3r/PrintConfig.cpp:3442
msgid "Pinhead width"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3438
+#: src/libslic3r/PrintConfig.cpp:3444
msgid "Width from the back sphere center to the front sphere center"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3446
+#: src/libslic3r/PrintConfig.cpp:3452
msgid "Pillar diameter"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3448
+#: src/libslic3r/PrintConfig.cpp:3454
msgid "Diameter in mm of the support pillars"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3456
+#: src/libslic3r/PrintConfig.cpp:3462
msgid "Small pillar diameter percent"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3458
+#: src/libslic3r/PrintConfig.cpp:3464
msgid ""
"The percentage of smaller pillars compared to the normal pillar diameter "
"which are used in problematic areas where a normal pilla cannot fit."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3467
+#: src/libslic3r/PrintConfig.cpp:3473
msgid "Max bridges on a pillar"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3469
+#: src/libslic3r/PrintConfig.cpp:3475
msgid ""
"Maximum number of bridges that can be placed on a pillar. Bridges hold "
"support point pinheads and connect to pillars as small branches."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3477
+#: src/libslic3r/PrintConfig.cpp:3483
msgid "Pillar connection mode"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3478
+#: src/libslic3r/PrintConfig.cpp:3484
msgid ""
"Controls the bridge type between two neighboring pillars. Can be zig-zag, "
"cross (double zig-zag) or dynamic which will automatically switch between "
"the first two depending on the distance of the two pillars."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3486
+#: src/libslic3r/PrintConfig.cpp:3492
msgid "Zig-Zag"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3487
+#: src/libslic3r/PrintConfig.cpp:3493
msgid "Cross"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3488
+#: src/libslic3r/PrintConfig.cpp:3494
msgid "Dynamic"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3500
+#: src/libslic3r/PrintConfig.cpp:3506
msgid "Pillar widening factor"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3502
+#: src/libslic3r/PrintConfig.cpp:3508
msgid ""
"Merging bridges or pillars into another pillars can increase the radius. "
"Zero means no increase, one means full increase."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3511
+#: src/libslic3r/PrintConfig.cpp:3517
msgid "Support base diameter"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3513
+#: src/libslic3r/PrintConfig.cpp:3519
msgid "Diameter in mm of the pillar base"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3521
+#: src/libslic3r/PrintConfig.cpp:3527
msgid "Support base height"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3523
+#: src/libslic3r/PrintConfig.cpp:3529
msgid "The height of the pillar base cone"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3530
+#: src/libslic3r/PrintConfig.cpp:3536
msgid "Support base safety distance"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3533
+#: src/libslic3r/PrintConfig.cpp:3539
msgid ""
"The minimum distance of the pillar base from the model in mm. Makes sense in "
"zero elevation mode where a gap according to this parameter is inserted "
"between the model and the pad."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3543
+#: src/libslic3r/PrintConfig.cpp:3549
msgid "Critical angle"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3545
+#: src/libslic3r/PrintConfig.cpp:3551
msgid "The default angle for connecting support sticks and junctions."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3553
+#: src/libslic3r/PrintConfig.cpp:3559
msgid "Max bridge length"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3555
+#: src/libslic3r/PrintConfig.cpp:3561
msgid "The max length of a bridge"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3562
+#: src/libslic3r/PrintConfig.cpp:3568
msgid "Max pillar linking distance"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3564
+#: src/libslic3r/PrintConfig.cpp:3570
msgid ""
"The max distance of two pillars to get linked with each other. A zero value "
"will prohibit pillar cascading."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3574
+#: src/libslic3r/PrintConfig.cpp:3580
msgid ""
"How much the supports should lift up the supported object. If \"Pad around "
"object\" is enabled, this value is ignored."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3585
+#: src/libslic3r/PrintConfig.cpp:3591
msgid "This is a relative measure of support points density."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3591
+#: src/libslic3r/PrintConfig.cpp:3597
msgid "Minimal distance of the support points"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3593
+#: src/libslic3r/PrintConfig.cpp:3599
msgid "No support points will be placed closer than this threshold."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3599
+#: src/libslic3r/PrintConfig.cpp:3605
msgid "Use pad"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3601
+#: src/libslic3r/PrintConfig.cpp:3607
msgid "Add a pad underneath the supported model"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3606
+#: src/libslic3r/PrintConfig.cpp:3612
msgid "Pad wall thickness"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3608
+#: src/libslic3r/PrintConfig.cpp:3614
msgid "The thickness of the pad and its optional cavity walls."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3616
+#: src/libslic3r/PrintConfig.cpp:3622
msgid "Pad wall height"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3617
+#: src/libslic3r/PrintConfig.cpp:3623
msgid ""
"Defines the pad cavity depth. Set to zero to disable the cavity. Be careful "
"when enabling this feature, as some resins may produce an extreme suction "
@@ -13286,111 +13362,111 @@ msgid ""
"difficult."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3630
+#: src/libslic3r/PrintConfig.cpp:3636
msgid "Pad brim size"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3631
+#: src/libslic3r/PrintConfig.cpp:3637
msgid "How far should the pad extend around the contained geometry"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3641
+#: src/libslic3r/PrintConfig.cpp:3647
msgid "Max merge distance"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3643
+#: src/libslic3r/PrintConfig.cpp:3649
msgid ""
"Some objects can get along with a few smaller pads instead of a single big "
"one. This parameter defines how far the center of two smaller pads should "
"be. If theyare closer, they will get merged into one pad."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3663
+#: src/libslic3r/PrintConfig.cpp:3669
msgid "Pad wall slope"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3665
+#: src/libslic3r/PrintConfig.cpp:3671
msgid ""
"The slope of the pad wall relative to the bed plane. 90 degrees means "
"straight walls."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3676
+#: src/libslic3r/PrintConfig.cpp:3682
msgid "Create pad around object and ignore the support elevation"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3681
+#: src/libslic3r/PrintConfig.cpp:3687
msgid "Pad around object everywhere"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3683
+#: src/libslic3r/PrintConfig.cpp:3689
msgid "Force pad around object everywhere"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3688
+#: src/libslic3r/PrintConfig.cpp:3694
msgid "Pad object gap"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3690
+#: src/libslic3r/PrintConfig.cpp:3696
msgid ""
"The gap between the object bottom and the generated pad in zero elevation "
"mode."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3699
+#: src/libslic3r/PrintConfig.cpp:3705
msgid "Pad object connector stride"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3701
+#: src/libslic3r/PrintConfig.cpp:3707
msgid ""
"Distance between two connector sticks which connect the object and the "
"generated pad."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3708
+#: src/libslic3r/PrintConfig.cpp:3714
msgid "Pad object connector width"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3710
+#: src/libslic3r/PrintConfig.cpp:3716
msgid ""
"Width of the connector sticks which connect the object and the generated pad."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3717
+#: src/libslic3r/PrintConfig.cpp:3723
msgid "Pad object connector penetration"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3720
+#: src/libslic3r/PrintConfig.cpp:3726
msgid "How much should the tiny connectors penetrate into the model body."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3727
+#: src/libslic3r/PrintConfig.cpp:3733
msgid "Enable hollowing"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3729
+#: src/libslic3r/PrintConfig.cpp:3735
msgid "Hollow out a model to have an empty interior"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3734
+#: src/libslic3r/PrintConfig.cpp:3740
msgid "Wall thickness"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3736
+#: src/libslic3r/PrintConfig.cpp:3742
msgid "Minimum wall thickness of a hollowed model."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3744
+#: src/libslic3r/PrintConfig.cpp:3750
msgid "Accuracy"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3746
+#: src/libslic3r/PrintConfig.cpp:3752
msgid ""
"Performance vs accuracy of calculation. Lower values may produce unwanted "
"artifacts."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3756
+#: src/libslic3r/PrintConfig.cpp:3762
msgid ""
"Hollowing is done in two steps: first, an imaginary interior is calculated "
"deeper (offset plus the closing distance) in the object and then it's "
@@ -13399,240 +13475,240 @@ msgid ""
"most."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3768
+#: src/libslic3r/PrintConfig.cpp:3774
msgid "Print speed"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:3770
+#: src/libslic3r/PrintConfig.cpp:3776
msgid ""
"A slower printing profile might be necessary when using materials with "
"higher viscosity or with some hollowed parts. It slows down the tilt "
"movement and adds a delay before exposure."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4232
+#: src/libslic3r/PrintConfig.cpp:4238
msgid "Export OBJ"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4233
+#: src/libslic3r/PrintConfig.cpp:4239
msgid "Export the model(s) as OBJ."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4244
+#: src/libslic3r/PrintConfig.cpp:4250
msgid "Export SLA"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4245
+#: src/libslic3r/PrintConfig.cpp:4251
msgid "Slice the model and export SLA printing layers as PNG."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4250
+#: src/libslic3r/PrintConfig.cpp:4256
msgid "Export 3MF"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4251
+#: src/libslic3r/PrintConfig.cpp:4257
msgid "Export the model(s) as 3MF."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4255
+#: src/libslic3r/PrintConfig.cpp:4261
msgid "Export AMF"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4256
+#: src/libslic3r/PrintConfig.cpp:4262
msgid "Export the model(s) as AMF."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4260
+#: src/libslic3r/PrintConfig.cpp:4266
msgid "Export STL"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4261
+#: src/libslic3r/PrintConfig.cpp:4267
msgid "Export the model(s) as STL."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4266
+#: src/libslic3r/PrintConfig.cpp:4272
msgid "Slice the model and export toolpaths as G-code."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4271
+#: src/libslic3r/PrintConfig.cpp:4277
msgid "G-code viewer"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4272
+#: src/libslic3r/PrintConfig.cpp:4278
msgid "Visualize an already sliced and saved G-code"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4277
+#: src/libslic3r/PrintConfig.cpp:4283
msgid "Slice"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4278
+#: src/libslic3r/PrintConfig.cpp:4284
msgid ""
"Slice the model as FFF or SLA based on the printer_technology configuration "
"value."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4283
+#: src/libslic3r/PrintConfig.cpp:4289
msgid "Help"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4284
+#: src/libslic3r/PrintConfig.cpp:4290
msgid "Show this help."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4289
+#: src/libslic3r/PrintConfig.cpp:4295
msgid "Help (FFF options)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4290
+#: src/libslic3r/PrintConfig.cpp:4296
msgid "Show the full list of print/G-code configuration options."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4294
+#: src/libslic3r/PrintConfig.cpp:4300
msgid "Help (SLA options)"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4295
+#: src/libslic3r/PrintConfig.cpp:4301
msgid "Show the full list of SLA print configuration options."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4299
+#: src/libslic3r/PrintConfig.cpp:4305
msgid "Output Model Info"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4300
+#: src/libslic3r/PrintConfig.cpp:4306
msgid "Write information about the model to the console."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4304
+#: src/libslic3r/PrintConfig.cpp:4310
msgid "Save config file"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4305
+#: src/libslic3r/PrintConfig.cpp:4311
msgid "Save configuration to the specified file."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4315
+#: src/libslic3r/PrintConfig.cpp:4321
msgid "Align XY"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4316
+#: src/libslic3r/PrintConfig.cpp:4322
msgid "Align the model to the given point."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4321
+#: src/libslic3r/PrintConfig.cpp:4327
msgid "Cut model at the given Z."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4342
+#: src/libslic3r/PrintConfig.cpp:4348
msgid "Center"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4343
+#: src/libslic3r/PrintConfig.cpp:4349
msgid "Center the print around the given center."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4347
+#: src/libslic3r/PrintConfig.cpp:4353
msgid "Don't arrange"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4348
+#: src/libslic3r/PrintConfig.cpp:4354
msgid ""
"Do not rearrange the given models before merging and keep their original XY "
"coordinates."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4351
+#: src/libslic3r/PrintConfig.cpp:4357
msgid "Ensure on bed"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4352
+#: src/libslic3r/PrintConfig.cpp:4358
msgid ""
"Lift the object above the bed when it is partially below. Enabled by "
"default, use --no-ensure-on-bed to disable."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4356
+#: src/libslic3r/PrintConfig.cpp:4362
msgid "Duplicate"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4357
+#: src/libslic3r/PrintConfig.cpp:4363
msgid "Multiply copies by this factor."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4361
+#: src/libslic3r/PrintConfig.cpp:4367
msgid "Duplicate by grid"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4362
+#: src/libslic3r/PrintConfig.cpp:4368
msgid "Multiply copies by creating a grid."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4366
+#: src/libslic3r/PrintConfig.cpp:4372
msgid ""
"Arrange the supplied models in a plate and merge them in a single model in "
"order to perform actions once."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4371
+#: src/libslic3r/PrintConfig.cpp:4377
msgid ""
"Try to repair any non-manifold meshes (this option is implicitly added "
"whenever we need to slice the model to perform the requested action)."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4375
+#: src/libslic3r/PrintConfig.cpp:4381
msgid "Rotation angle around the Z axis in degrees."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4379
+#: src/libslic3r/PrintConfig.cpp:4385
msgid "Rotate around X"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4380
+#: src/libslic3r/PrintConfig.cpp:4386
msgid "Rotation angle around the X axis in degrees."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4384
+#: src/libslic3r/PrintConfig.cpp:4390
msgid "Rotate around Y"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4385
+#: src/libslic3r/PrintConfig.cpp:4391
msgid "Rotation angle around the Y axis in degrees."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4390
+#: src/libslic3r/PrintConfig.cpp:4396
msgid "Scaling factor or percentage."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4395
+#: src/libslic3r/PrintConfig.cpp:4401
msgid ""
"Detect unconnected parts in the given model(s) and split them into separate "
"objects."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4398
+#: src/libslic3r/PrintConfig.cpp:4404
msgid "Scale to Fit"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4399
+#: src/libslic3r/PrintConfig.cpp:4405
msgid "Scale to fit the given volume."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4408
+#: src/libslic3r/PrintConfig.cpp:4414
msgid "Ignore non-existent config files"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4409
+#: src/libslic3r/PrintConfig.cpp:4415
msgid "Do not fail if a file supplied to --load does not exist."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4412
+#: src/libslic3r/PrintConfig.cpp:4418
msgid ""
"Forward-compatibility rule when loading configurations from config files and "
"project files (3MF, AMF)."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4413
+#: src/libslic3r/PrintConfig.cpp:4419
msgid ""
"This version of PrusaSlicer may not understand configurations produced by "
"the newest PrusaSlicer versions. For example, newer PrusaSlicer may extend "
@@ -13640,80 +13716,80 @@ msgid ""
"substitute an unknown value with a default silently or verbosely."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4420
+#: src/libslic3r/PrintConfig.cpp:4426
msgid "Bail out on unknown configuration values"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4421
+#: src/libslic3r/PrintConfig.cpp:4427
msgid ""
"Enable reading unknown configuration values by verbosely substituting them "
"with defaults."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4422
+#: src/libslic3r/PrintConfig.cpp:4428
msgid ""
"Enable reading unknown configuration values by silently substituting them "
"with defaults."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4426
+#: src/libslic3r/PrintConfig.cpp:4432
msgid "Load config file"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4427
+#: src/libslic3r/PrintConfig.cpp:4433
msgid ""
"Load configuration from the specified file. It can be used more than once to "
"load options from multiple files."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4430
+#: src/libslic3r/PrintConfig.cpp:4436
msgid "Output File"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4431
+#: src/libslic3r/PrintConfig.cpp:4437
msgid ""
"The file where the output will be written (if not specified, it will be "
"based on the input file)."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4435
+#: src/libslic3r/PrintConfig.cpp:4441
msgid "Single instance mode"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4436
+#: src/libslic3r/PrintConfig.cpp:4442
msgid ""
"If enabled, the command line arguments are sent to an existing instance of "
"GUI PrusaSlicer, or an existing PrusaSlicer window is activated. Overrides "
"the \"single_instance\" configuration value from application preferences."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4447
+#: src/libslic3r/PrintConfig.cpp:4453
msgid "Data directory"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4448
+#: src/libslic3r/PrintConfig.cpp:4454
msgid ""
"Load and store settings at the given directory. This is useful for "
"maintaining different profiles or including configurations from a network "
"storage."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4451
+#: src/libslic3r/PrintConfig.cpp:4457
msgid "Logging level"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4452
+#: src/libslic3r/PrintConfig.cpp:4458
msgid ""
"Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:"
"trace\n"
"For example. loglevel=2 logs fatal, error and warning level messages."
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4458
+#: src/libslic3r/PrintConfig.cpp:4464
msgid "Render with a software renderer"
msgstr ""
-#: src/libslic3r/PrintConfig.cpp:4459
+#: src/libslic3r/PrintConfig.cpp:4465
msgid ""
"Render with a software renderer. The bundled MESA software renderer is "
"loaded instead of the default OpenGL driver."
@@ -13796,7 +13872,7 @@ msgid "Different layer height for each model\nDid you know that you can print ea
msgstr ""
#: resources/data/hints.ini: [hint:Solid infill threshold area]
-msgid "Solid infill threshold area\nDid you know that you can make parts of your model with a small cross-section be filled with solid infill automatically? Set theSolid infill threshold area.(Expert mode only.)"
+msgid "Solid infill threshold area\nDid you know that you can make parts of your model with a small cross-section be filled with solid infill automatically? Set theSolid infill threshold area.(Expert mode only.)"
msgstr ""
#: resources/data/hints.ini: [hint:Search functionality]
@@ -13848,7 +13924,7 @@ msgid "Insert Custom G-code\nDid you know that you can insert a custom G-code at
msgstr ""
#: resources/data/hints.ini: [hint:Configuration snapshots]
-msgid "Configuration snapshots\nDid you know that roll back to a complete backup of all system and user profiles? You can view and move back and forth between snapshots using the Configuration - Configuration snapshots menu."
+msgid "Configuration snapshots\nDid you know that you can roll back to a complete backup of all system and user profiles? You can view and move back and forth between snapshots using the Configuration - Configuration snapshots menu."
msgstr ""
#: resources/data/hints.ini: [hint:Minimum shell thickness]
diff --git a/resources/profiles/Artillery.idx b/resources/profiles/Artillery.idx
index 0c45cb2e34..181f667e56 100644
--- a/resources/profiles/Artillery.idx
+++ b/resources/profiles/Artillery.idx
@@ -1,3 +1,5 @@
+min_slic3r_version = 2.4.1-alpha0
+0.0.5 Added Artillery Hornet
min_slic3r_version = 2.3.1-beta
0.0.4 Fixed first layer height in 0.28mm profile.
0.0.3 Fixed Genius bed size.
diff --git a/resources/profiles/Artillery.ini b/resources/profiles/Artillery.ini
index 82c7daddc2..734c584ef3 100644
--- a/resources/profiles/Artillery.ini
+++ b/resources/profiles/Artillery.ini
@@ -1,9 +1,10 @@
###############
# AUTHOR: Szabolcs Hornyak / design85@gmail.com
# https://szabolcs.eu/2020/12/29/prusaslicer-sw-x1-genius/
-# Tested with PrusaSlicer 2.2, 2.3
###############
+## Artillery Hornet printer profile is based on PR https://github.com/slic3r/slic3r-profiles/pull/14 created by https://github.com/newbeetle
+
# Print profiles for the Artillery printers.
[vendor]
@@ -11,7 +12,7 @@
name = Artillery
# Configuration version of this file. Config file will only be installed, if the config_version differs.
# This means, the server may force the PrusaSlicer configuration to be downgraded.
-config_version = 0.0.4
+config_version = 0.0.5
# Where to get the updates from?
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Artillery/
# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
@@ -25,7 +26,7 @@ config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/Prus
#############
[printer_model:X1]
-name = Sidewinder X1
+name = Artillery Sidewinder X1
variants = 0.4
technology = FFF
bed_model = bed-x1.stl
@@ -33,13 +34,21 @@ bed_texture = bed-x1.png
default_materials = Generic PLA @Artillery; Generic ABS @Artillery; Generic PETG @Artillery; Generic TPU @Artillery
[printer_model:Genius]
-name = Genius
+name = Artillery Genius
variants = 0.4
technology = FFF
bed_model = bed-genius.stl
bed_texture = bed-genius.png
default_materials = Generic PLA @Artillery; Generic ABS @Artillery; Generic PETG @Artillery; Generic TPU @Artillery
+[printer_model:Hornet]
+name = Artillery Hornet
+variants = 0.4
+technology = FFF
+bed_model = bed-hornet.stl
+bed_texture = bed-hornet.png
+default_materials = Generic PLA @Artillery; Generic ABS @Artillery; Generic PETG @Artillery; Generic TPU @Artillery
+
# Common printer preset
[printer:*common*]
before_layer_gcode = ;BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0
@@ -53,6 +62,7 @@ extruder_colour = #FFFF00
extruder_offset = 0x0
gcode_flavor = marlin
layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z]
+machine_limits_usage = emit_to_gcode
machine_max_acceleration_e = 5000,5000
machine_max_acceleration_extruding = 1250,1250
machine_max_acceleration_retracting = 1250,1250
@@ -106,38 +116,65 @@ start_gcode = ; Initial setups\nG90 ; use absolute coordinates\nM83 ; extruder r
inherits = *common*
start_gcode = ; Initial setups\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM900 K0.12 ; K factor\nM900 W[extrusion_width] H[layer_height] D[filament_diameter]\nM200 D0 ; disable volumetric e\nM220 S100 ; reset speed factor to 100%\nM221 S100 ; reset extrusion rate to 100%\n\n; Set the heating\nM190 S[first_layer_bed_temperature] ; wait for bed to heat up\nM104 S[first_layer_temperature] ; start nozzle heating but don't wait\n\n; Home\nG1 Z3 F3000 ; move z up little to prevent scratching of surface\nG28 ; home all axes\nG1 X3 Y3 F5000 ; move to corner of the bed to avoid ooze over centre\n\n; Wait for final heating\nM109 S[first_layer_temperature] ; wait for the nozzle to heat up\nM190 S[first_layer_bed_temperature] ; wait for the bed to heat up\n\n;Auto bed Leveling\n@BEDLEVELVISUALIZER\nG29 ; ABL T\nM420 S1 Z3 ; reload and fade mesh bed leveling until it reach 3mm Z\n\n; Return to prime position, Prime line routine\nG92 E0 ; Reset Extruder\nG1 Z3 F3000 ; move z up little to prevent scratching of surface\nG1 X10 Y.5 Z0.25 F5000.0 ; Move to start position\nG1 X100 Y.5 Z0.25 F1500.0 E15 ; Draw the first line\nG1 X100 Y.2 Z0.25 F5000.0 ; Move to side a little\nG1 X10 Y.2 Z0.25 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nM221 S{if layer_height<0.075}100{else}95{endif}
-[printer:Sidewinder X1]
+[printer:*bowden*]
inherits = *common_STOCK_FW*
+retract_length = 5
+retract_lift = 0.1
+retract_before_wipe = 50%
+default_filament_profile = Generic PLA @Artillery
+
+[printer:*0.4nozzle*]
+nozzle_diameter = 0.4
+max_layer_height = 0.32
+min_layer_height = 0.04
+printer_variant = 0.4
+default_print_profile = 0.20mm NORMAL @Artillery
+
+[printer:Artillery Sidewinder X1]
+inherits = *common_STOCK_FW*
+renamed_from = "Sidewinder X1"
printer_model = X1
printer_variant = 0.4
bed_shape = 0x0,300x0,300x300,0x300
max_print_height = 400
printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_Artillery\nPRINTER_MODEL_X1
-[printer:Sidewinder X1 BL-TOUCH]
+[printer:Artillery Sidewinder X1 BL-TOUCH]
inherits = *common_UPD_FW*
+renamed_from = "Sidewinder X1 BL-TOUCH"
printer_model = X1
printer_variant = 0.4
bed_shape = 0x0,300x0,300x300,0x300
max_print_height = 400
printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_Artillery\nPRINTER_MODEL_X1
-[printer:Genius]
+[printer:Artillery Genius]
inherits = *common_STOCK_FW*
+renamed_from = "Genius"
printer_model = Genius
printer_variant = 0.4
bed_shape = 0x0,220x0,220x220,0x220
max_print_height = 250
printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_Artillery\nPRINTER_MODEL_Genius
-[printer:Genius BL-TOUCH]
+[printer:Artillery Genius BL-TOUCH]
inherits = *common_UPD_FW*
+renamed_from = "Genius BL-TOUCH"
printer_model = Genius
printer_variant = 0.4
bed_shape = 0x0,220x0,220x220,0x220
max_print_height = 250
printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_Artillery\nPRINTER_MODEL_Genius
+[printer:Artillery Hornet]
+inherits = *bowden*
+printer_model = Hornet
+printer_variant = 0.4
+bed_shape = 0x0,220x0,220x220,0x220
+max_print_height = 250
+machine_limits_usage = time_estimate_only
+printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_Artillery\nPRINTER_MODEL_Hornet\nPRINTER_HAS_Bowden
+
###########
## PRINT ##
###########
@@ -308,19 +345,19 @@ top_solid_layers = 4
[print:0.08mm SUPERDETAIL @Artillery]
inherits = *0.08mm*
-compatible_printers_condition = printer_model=~/(X1|Genius).*/ and nozzle_diameter[0]==0.4
+compatible_printers_condition = printer_model=~/(X1|Genius|Hornet).*/ and nozzle_diameter[0]==0.4
[print:0.10mm HIGHDETAIL @Artillery]
inherits = *0.10mm*
-compatible_printers_condition = printer_model=~/(X1|Genius).*/ and nozzle_diameter[0]==0.4
+compatible_printers_condition = printer_model=~/(X1|Genius|Hornet).*/ and nozzle_diameter[0]==0.4
[print:0.12mm DETAIL @Artillery]
inherits = *0.12mm*
-compatible_printers_condition = printer_model=~/(X1|Genius).*/ and nozzle_diameter[0]==0.4
+compatible_printers_condition = printer_model=~/(X1|Genius|Hornet).*/ and nozzle_diameter[0]==0.4
[print:0.16mm OPTIMAL @Artillery]
inherits = *0.16mm*
-compatible_printers_condition = printer_model=~/(X1|Genius).*/ and nozzle_diameter[0]==0.4
+compatible_printers_condition = printer_model=~/(X1|Genius|Hornet).*/ and nozzle_diameter[0]==0.4
[print:0.20mm SLOW @Artillery]
inherits = *0.20mm*
@@ -334,11 +371,11 @@ solid_infill_speed = 50
top_solid_infill_speed = 25
first_layer_speed = 15
travel_speed = 100
-compatible_printers_condition = printer_model=~/(X1|Genius).*/ and nozzle_diameter[0]==0.4
+compatible_printers_condition = printer_model=~/(X1|Genius|Hornet).*/ and nozzle_diameter[0]==0.4
[print:0.20mm NORMAL @Artillery]
inherits = *0.20mm*
-compatible_printers_condition = printer_model=~/(X1|Genius).*/ and nozzle_diameter[0]==0.4
+compatible_printers_condition = printer_model=~/(X1|Genius|Hornet).*/ and nozzle_diameter[0]==0.4
[print:0.20mm SPEED @Artillery]
inherits = *0.20mm*
@@ -353,15 +390,15 @@ perimeters = 2
solid_infill_speed = 150
top_solid_infill_speed = 50
travel_speed = 170
-compatible_printers_condition = printer_model=~/(X1|Genius).*/ and nozzle_diameter[0]==0.4
+compatible_printers_condition = printer_model=~/(X1|Genius|Hornet).*/ and nozzle_diameter[0]==0.4
[print:0.24mm DRAFT @Artillery]
inherits = *0.24mm*
-compatible_printers_condition = printer_model=~/(X1|Genius).*/ and nozzle_diameter[0]==0.4
+compatible_printers_condition = printer_model=~/(X1|Genius|Hornet).*/ and nozzle_diameter[0]==0.4
[print:0.28mm SUPERDRAFT @Artillery]
inherits = *0.28mm*
-compatible_printers_condition = printer_model=~/(X1|Genius).*/ and nozzle_diameter[0]==0.4
+compatible_printers_condition = printer_model=~/(X1|Genius|Hornet).*/ and nozzle_diameter[0]==0.4
###############
## FILAMENTS ##
diff --git a/resources/profiles/RatRig.idx b/resources/profiles/RatRig.idx
new file mode 100644
index 0000000000..a86724f1df
--- /dev/null
+++ b/resources/profiles/RatRig.idx
@@ -0,0 +1,2 @@
+min_slic3r_version = 2.4.1-alpha0
+1.0.0 Initial RatRig bundle
\ No newline at end of file
diff --git a/resources/profiles/RatRig.ini b/resources/profiles/RatRig.ini
new file mode 100644
index 0000000000..041265e3e3
--- /dev/null
+++ b/resources/profiles/RatRig.ini
@@ -0,0 +1,747 @@
+# RatRig profiles
+
+# Based on the profiles from PR: https://github.com/slic3r/slic3r-profiles/pull/13 by top-gun.
+
+# The graphics for the bed (SVG) was created by PwnCNC and published on Thingiverse under the Creative Commons Attribution license: https://www.thingiverse.com/thing:4861532/files
+
+[vendor]
+# Vendor name will be shown by the Config Wizard.
+name = RatRig
+# Configuration version of this file. Config file will only be installed, if the config_version differs.
+# This means, the server may force the Slic3r configuration to be downgraded.
+config_version = 1.0.0
+# Where to get the updates from?
+config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/RatRig/
+# The printer models will be shown by the Configuration Wizard in this order,
+# also the first model installed & the first nozzle installed will be activated after install.
+#TODO: One day we may differentiate variants of the nozzles / hot ends,
+#for example by the melt zone size, or whether the nozzle is hardened.
+# Printer model name will be shown by the installation wizard.
+
+[printer_model:VC3_300]
+name = RatRig V-Core-3 300mm
+variants = 0.4
+technology = FFF
+family = V-Core-3
+bed_model = rr-vc-300.stl
+bed_texture = rr-vc-300.svg
+default_materials = Generic PETG V6 @RatRig; Generic PETG HF @RatRig; Generic PLA @RatRig; Esun ePA-CF @RatRig; Generic ABS @RatRig
+
+[printer_model:VC3_400]
+name = RatRig V-Core-3 400mm
+variants = 0.4
+family = V-Core-3
+bed_model = rr-vc-400.stl
+bed_texture = rr-vc-400.svg
+default_materials = Generic PETG V6 @RatRig; Generic PETG HF @RatRig; Generic PLA @RatRig; Esun ePA-CF @RatRig; Generic ABS @RatRig
+
+[printer_model:VC3_500]
+name = RatRig V-Core-3 500mm
+variants = 0.4
+family = V-Core-3
+bed_model = rr-vc-500.stl
+bed_texture = rr-vc-500.svg
+default_materials = Generic PETG V6 @RatRig; Generic PETG HF @RatRig; Generic PLA @RatRig; Esun ePA-CF @RatRig; Generic ABS @RatRig
+
+[printer_model:VMINION]
+name = RatRig V-Minion
+variants = 0.4
+technology = FFF
+family = V-Minion
+bed_model = rr-vminion.stl
+bed_texture = rr-vminion.svg
+default_materials = Generic PETG V6 @RatRig; Generic PETG HF @RatRig; Generic PLA @RatRig; @Esun ePA-CF RatRig; Generic ABS @RatRig
+
+[print:*common*]
+compatible_printers_condition = printer_model=~/.*VC3_.*/ and nozzle_diameter[0]==0.4
+allow_empty_layers = 0
+avoid_crossing_perimeters = 0
+avoid_crossing_perimeters_max_detour = 0
+bottom_fill_pattern = monotonic
+extra_perimeters = 0
+bottom_solid_layers = 8
+bottom_solid_min_thickness = 0
+bridge_acceleration = 0
+bridge_angle = 0
+bridge_speed = 60
+brim_offset = 0
+brim_width = 0
+clip_multipart_objects = 1
+complete_objects = 0
+complete_objects_one_skirt = 0
+complete_objects_sort = object
+default_acceleration = 3000
+dont_support_bridges = 1
+draft_shield = 0
+ensure_vertical_shell_thickness = 1
+exact_last_layer_height = 0
+external_infill_margin = 150%
+external_perimeter_extrusion_width = 0.4
+external_perimeter_speed = 90%
+extruder_clearance_height = 25
+extruder_clearance_radius = 45
+extrusion_width = 0.4
+fill_angle = 45
+fill_density = 15%
+fill_pattern = adaptivecubic
+first_layer_acceleration = 1000
+first_layer_extrusion_width = 0.45
+first_layer_height = 0.2
+first_layer_speed = 40
+gap_fill = 1
+gap_fill_speed = 50
+gcode_comments = 0
+gcode_label_objects = 1
+infill_acceleration = 4000
+infill_anchor = 600%
+infill_anchor_max = 5
+infill_every_layers = 1
+infill_extruder = 1
+infill_extrusion_width = 0.4
+infill_first = 0
+infill_only_where_needed = 0
+infill_overlap = 18%
+infill_speed = 150
+interface_shells = 0
+ironing = 0
+ironing_flowrate = 15%
+ironing_spacing = 0.1
+ironing_speed = 15
+ironing_type = top
+layer_height = 0.15
+max_print_speed = 300
+max_volumetric_speed = 12
+min_skirt_length = 4
+notes =
+only_retract_when_crossing_perimeters = 0
+ooze_prevention = 0
+output_filename_format = {input_filename_base}_{layer_height}mm_{filament_type[0]}_{print_time}.gcode
+over_bridge_flow_ratio = 100%
+perimeter_acceleration = 3000
+perimeter_extruder = 1
+perimeter_extrusion_width = 0.4
+perimeter_speed = 120
+perimeters = 2
+post_process =
+print_settings_id =
+raft_layers = 0
+resolution = 0
+seam_position = aligned
+skirt_distance = 10
+skirt_height = 1
+skirts = 2
+slice_closing_radius = 0.049
+small_perimeter_speed = 25
+solid_fill_pattern = rectilinear
+solid_infill_below_area = 0
+solid_infill_every_layers = 0
+solid_infill_extruder = 1
+solid_infill_extrusion_width = 0.4
+solid_infill_speed = 80%
+spiral_vase = 0
+standby_temperature_delta = -5
+support_material = 0
+support_material_angle = 0
+support_material_auto = 1
+support_material_buildplate_only = 1
+support_material_contact_distance_bottom = 0.2
+support_material_contact_distance_top = 0.2
+support_material_extruder = 0
+support_material_extrusion_width = 0.38
+support_material_interface_contact_loops = 0
+support_material_interface_extruder = 0
+support_material_interface_layers = 2
+support_material_interface_pattern = rectilinear
+support_material_interface_spacing = 0.2
+support_material_interface_speed = 100%
+support_material_pattern = rectilinear
+support_material_solid_first_layer = 0
+support_material_spacing = 2
+support_material_speed = 50
+support_material_synchronize_layers = 0
+support_material_threshold = 65
+support_material_with_sheath = 0
+support_material_xy_spacing = 60%
+thin_walls = 0
+threads = 4
+top_fill_pattern = monotonic
+top_infill_extrusion_width = 0.4
+top_solid_infill_speed = 60%
+top_solid_layers = 8
+top_solid_min_thickness = 0
+travel_speed = 250
+travel_speed_z = 0
+wipe_tower = 0
+wipe_tower_bridging = 10
+wipe_tower_no_sparse_layers = 0
+wipe_tower_rotation_angle = 0
+wipe_tower_width = 60
+wipe_tower_x = 170
+wipe_tower_y = 140
+elefant_foot_compensation = 0.1
+
+[print:*common_minion*]
+compatible_printers_condition = printer_model=~/.*MINION.*/
+avoid_crossing_perimeters = 0
+avoid_crossing_perimeters_max_detour = 0
+bottom_solid_min_thickness = 0
+bridge_acceleration = 0
+bridge_angle = 0
+bridge_speed = 60
+brim_offset = 0
+brim_width = 0
+brim_width_interior = 0
+clip_multipart_objects = 1
+complete_objects = 0
+default_acceleration = 2000
+dont_support_bridges = 1
+draft_shield = 0
+ensure_vertical_shell_thickness = 1
+external_perimeter_extrusion_width = 0.4
+external_perimeter_speed = 100
+extra_perimeters = 0
+extra_perimeters_overhangs = 0
+extruder_clearance_height = 25
+extruder_clearance_radius = 45
+extrusion_width = 0.4
+fill_angle = 45
+fill_density = 15%
+fill_pattern = rectilinear
+first_layer_acceleration = 1000
+first_layer_extrusion_width = 0.45
+first_layer_height = 0.2
+first_layer_speed = 50
+gap_fill = 1
+gap_fill_speed = 50
+gcode_comments = 0
+gcode_label_objects = 1
+infill_acceleration = 2000
+infill_anchor = 600%
+infill_anchor_max = 5
+infill_every_layers = 1
+infill_extruder = 1
+infill_extrusion_width = 0.4
+infill_first = 0
+infill_only_where_needed = 0
+infill_overlap = 18%
+infill_speed = 140
+interface_shells = 0
+ironing = 0
+ironing_flowrate = 15%
+ironing_spacing = 0.1
+ironing_speed = 15
+ironing_type = top
+layer_height = 0.2
+max_print_speed = 200
+max_volumetric_speed = 15
+min_skirt_length = 4
+notes =
+only_retract_when_crossing_perimeters = 0
+ooze_prevention = 0
+output_filename_format = {input_filename_base}_{layer_height}mm_{filament_type[0]}_{print_time}.gcode
+perimeter_acceleration = 1500
+perimeter_bonding = 0%
+perimeter_extruder = 1
+perimeter_extrusion_width = 0.4
+perimeter_overlap = 100%
+perimeter_round_corners = 0
+perimeter_speed = 100
+perimeters = 2
+post_process =
+print_settings_id =
+print_temperature = 0
+raft_layers = 0
+resolution = 0
+seam_position = aligned
+single_extruder_multi_material_priming = 1
+skirt_distance = 10
+skirt_height = 1
+skirts = 2
+slice_closing_radius = 0.049
+small_perimeter_speed = 50
+solid_fill_pattern = rectilinear
+solid_infill_below_area = 0
+solid_infill_every_layers = 0
+solid_infill_extruder = 1
+solid_infill_extrusion_width = 0.4
+solid_infill_speed = 80%
+spiral_vase = 0
+standby_temperature_delta = -5
+support_material = 0
+support_material_angle = 0
+support_material_auto = 0
+support_material_buildplate_only = 1
+support_material_contact_distance_bottom = 0.2
+support_material_contact_distance_top = 0.2
+support_material_enforce_layers = 0
+support_material_extruder = 0
+support_material_extrusion_width = 0.38
+support_material_interface_contact_loops = 0
+support_material_interface_extruder = 0
+support_material_interface_layers = 2
+support_material_interface_pattern = rectilinear
+support_material_interface_spacing = 0.2
+support_material_interface_speed = 100%
+support_material_pattern = rectilinear
+support_material_solid_first_layer = 0
+support_material_spacing = 2
+support_material_speed = 50
+support_material_synchronize_layers = 0
+support_material_threshold = 65
+support_material_with_sheath = 0
+support_material_xy_spacing = 60%
+thin_walls = 0
+top_fill_pattern = monotonic
+top_infill_extrusion_width = 0.4
+top_solid_infill_speed = 60%
+top_solid_layers = 5
+top_solid_min_thickness = 0
+travel_speed = 200
+travel_speed_z = 0
+wipe_tower = 0
+wipe_tower_bridging = 10
+wipe_tower_no_sparse_layers = 0
+wipe_tower_rotation_angle = 0
+wipe_tower_width = 60
+wipe_tower_x = 170
+wipe_tower_y = 140
+xy_inner_size_compensation = 0
+xy_size_compensation = 0
+elefant_foot_compensation = 0.1
+
+[print:*0.15mm*]
+bottom_solid_layers = 7
+top_solid_layers = 7
+layer_height = 0.15
+bridge_flow_ratio = 0.7
+max_print_speed = 250
+solid_infill_speed = 80%
+
+[print:*0.2mm*]
+bottom_solid_layers = 5
+top_solid_layers = 5
+layer_height = 0.2
+bridge_flow_ratio = 0.8
+
+[print:0.15mm NORMAL @RatRig]
+inherits = *common*; *0.15mm*
+max_print_speed = 300
+bottom_solid_layers = 8
+top_solid_layers = 8
+
+[print:0.15mm HF @RatRig]
+inherits = *common*; *0.15mm*
+compatible_printers_condition = printer_model=~/.*VC3_.*/ and nozzle_diameter[0]==0.4
+external_perimeter_speed = 140
+first_layer_infill_speed = 60
+first_layer_speed = 60
+gap_fill_speed = 50
+infill_speed = 230
+ironing_speed = 15
+max_print_speed = 280
+max_volumetric_speed = 25
+perimeter_speed = 160
+small_perimeter_speed = 25
+solid_infill_speed = 80%
+top_solid_infill_speed = 60%
+fill_pattern = rectilinear
+
+[print:0.20mm NORMAL @RatRig]
+inherits = *common*; *0.2mm*
+fill_pattern = rectilinear
+external_perimeter_speed = 120
+infill_speed = 160
+compatible_printers_condition = printer_model=~/.*VC3_.*/ and nozzle_diameter[0]==0.4
+
+[print:0.20mm NORMAL V-Minion @RatRig]
+inherits = *common_minion*; *0.2mm*
+compatible_printers_condition = printer_model=~/.*MINION.*/
+bottom_solid_layers = 3
+
+[print:0.15mm QUALITY V-Minion @RatRig]
+inherits = *common_minion*; *0.15mm*
+compatible_printers_condition = printer_model=~/.*MINION.*/
+solid_infill_speed = 100
+
+[print:0.20mm HF @RatRig]
+inherits = 0.15mm HF @RatRig; *0.2mm*
+compatible_printers_condition = printer_model=~/.*VC3_.*/
+external_perimeter_speed = 140
+first_layer_infill_speed = 60
+first_layer_speed = 60
+gap_fill_speed = 50
+infill_speed = 230
+ironing_speed = 15
+max_print_speed = 280
+max_volumetric_speed = 25
+perimeter_speed = 160
+small_perimeter_speed = 25
+solid_infill_speed = 80%
+top_solid_infill_speed = 60%
+
+# All presets starting with asterisk, for example *common*, are intermediate and they will
+# not make it into the user interface.
+
+# Common printer preset
+[printer:*common*]
+before_layer_gcode = ;BEFORE_LAYER_CHANGE\n;[layer_z]\n;{if layer_num == 2 }SET_FILAMENT_SENSOR SENSOR=my_sensor ENABLE=1{endif}\n\n
+between_objects_gcode =
+color_change_gcode = M600
+cooling_tube_length = 5
+cooling_tube_retraction = 91.5
+default_filament_profile = "Generic PLA @RatRig"
+default_print_profile = 0.20mm NORMAL @RatRig
+deretract_speed = 40
+end_gcode = END_PRINT\n
+extra_loading_move = -2
+extruder_colour = ""
+gcode_flavor = marlin
+high_current_on_filament_swap = 0
+layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z]\n
+machine_limits_usage = time_estimate_only
+machine_max_acceleration_e = 5000
+machine_max_acceleration_extruding = 9000
+machine_max_acceleration_retracting = 9000
+machine_max_acceleration_travel = 9000,1250
+machine_max_acceleration_x = 9000
+machine_max_acceleration_y = 9000
+machine_max_acceleration_z = 100
+machine_max_feedrate_e = 60
+machine_max_feedrate_x = 500
+machine_max_feedrate_y = 500
+machine_max_feedrate_z = 10
+machine_max_jerk_e = 5
+machine_max_jerk_x = 5
+machine_max_jerk_y = 5
+machine_max_jerk_z = 0.4
+machine_min_extruding_rate = 0
+machine_min_travel_rate = 0
+min_layer_height = 0.05
+nozzle_diameter = 0.4
+parking_pos_retraction = 92
+pause_print_gcode = M601
+print_host =
+printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_RatRig\nPRINTER_MODEL_VCORE\nPRINTER_HAS_Directextruder\nE3DV6
+remaining_times = 1
+retract_before_travel = 1
+retract_before_wipe = 0%
+retract_layer_change = 1
+retract_length = 1
+retract_length_toolchange = 1
+retract_lift = 0
+retract_lift_above = 0
+retract_lift_below = 0
+retract_restart_extra = 0
+retract_restart_extra_toolchange = 0
+retract_speed = 40
+silent_mode = 0
+single_extruder_multi_material = 0
+start_gcode = START_PRINT EXTRUDER_TEMP=[first_layer_temperature] BED_TEMP=[first_layer_bed_temperature]\n;enable this if you have a BTT Smart Filament Sensor\n;SET_FILAMENT_SENSOR SENSOR=my_sensor ENABLE=0\n
+thumbnails = 16x16,220x220
+toolchange_gcode =
+use_firmware_retraction = 0
+use_relative_e_distances = 1
+use_volumetric_e = 0
+variable_layer_height = 1
+wipe = 0
+z_offset = 0
+
+[printer:*vcore-klipper*]
+inherits = *common*
+printer_model =
+printer_variant = 0.4
+
+[printer:*vminion-klipper*]
+inherits = *common*
+before_layer_gcode = ;BEFORE_LAYER_CHANGE\n;[layer_z]\n;{if layer_num == 2 }SET_FILAMENT_SENSOR SENSOR=my_sensor ENABLE=1{endif}\n\n
+default_filament_profile = "Generic PLA @RatRig"
+default_print_profile = 0.20mm NORMAL V-Minion @RatRig
+deretract_speed = 40
+end_gcode = END_PRINT\n
+layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z]\n
+machine_limits_usage = time_estimate_only
+machine_max_acceleration_e = 5000
+machine_max_acceleration_extruding = 9000
+machine_max_acceleration_retracting = 9000
+machine_max_acceleration_travel = 4000,1250
+machine_max_acceleration_x = 4000
+machine_max_acceleration_y = 4000
+machine_max_acceleration_z = 50
+machine_max_feedrate_e = 60
+machine_max_feedrate_x = 250
+machine_max_feedrate_y = 250
+machine_max_feedrate_z = 10
+machine_max_jerk_e = 5
+machine_max_jerk_x = 5
+machine_max_jerk_y = 5
+machine_max_jerk_z = 0.4
+machine_min_extruding_rate = 0
+machine_min_travel_rate = 0
+min_layer_height = 0.05
+nozzle_diameter = 0.4
+parking_pos_retraction = 92
+pause_print_gcode = M601
+print_host =
+printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_RatRig\nPRINTER_MODEL_VMINION\nPRINTER_HAS_Directextruder\nE3DV6
+remaining_times = 1
+retract_before_travel = 1
+retract_before_wipe = 0%
+retract_layer_change = 1
+retract_length = 1
+retract_length_toolchange = 1
+retract_lift = 0
+retract_lift_above = 0
+retract_lift_below = 0
+retract_lift_first_layer = 0
+retract_lift_top = "All surfaces"
+retract_restart_extra = 0
+retract_restart_extra_toolchange = 0
+retract_speed = 40
+silent_mode = 0
+single_extruder_multi_material = 0
+start_gcode = START_PRINT EXTRUDER_TEMP=[first_layer_temperature] BED_TEMP=[first_layer_bed_temperature]\n;enable this if you have a BTT Smart Filament Sensor\n;SET_FILAMENT_SENSOR SENSOR=my_sensor ENABLE=0\n
+start_gcode_manual = 0
+template_custom_gcode =
+thumbnails = 16x16,220x220
+thumbnails_color = #018aff
+thumbnails_custom_color = 0
+thumbnails_with_bed = 1
+time_estimation_compensation = 100%
+tool_name = ""
+toolchange_gcode =
+use_firmware_retraction = 0
+use_relative_e_distances = 1
+use_volumetric_e = 0
+variable_layer_height = 1
+wipe = 0
+wipe_advanced = 0
+wipe_advanced_algo = linear
+wipe_advanced_multiplier = 60
+wipe_advanced_nozzle_melted_volume = 120
+wipe_extra_perimeter = 0
+z_offset = 0
+z_step = 0.00125
+
+[printer:*0.4nozzle*]
+nozzle_diameter = 0.4
+max_layer_height = 0.3
+min_layer_height = 0.05
+retract_lift_above = 0.2
+printer_variant = 0.4
+
+[printer:RatRig V-Core-3-300]
+inherits = *vcore-klipper*; *0.4nozzle*
+bed_shape = 0x0,300x0,300x300,0x300
+max_print_height = 300
+printer_model = VC3_300
+
+[printer:RatRig V-Core-3-400]
+inherits = *vcore-klipper*; *0.4nozzle*
+bed_shape = 0x0,400x0,400x400,0x400
+max_print_height = 400
+printer_model = VC3_400
+
+[printer:RatRig V-Core-3-500]
+inherits = *vcore-klipper*; *0.4nozzle*
+bed_shape = 0x0,500x0,500x500,0x500
+max_print_height = 500
+printer_model = VC3_500
+
+[printer:RatRig V-Minion-180]
+inherits = *vminion-klipper*; *0.4nozzle*
+bed_shape = 0x0,180x0,180x180,0x180
+max_print_height = 180
+printer_model = VMINION
+
+[filament:Generic ABS @RatRig]
+filament_vendor = Generic
+filament_type = ABS
+bed_temperature = 105
+bridge_fan_speed = 30
+cooling = 1
+disable_fan_first_layers = 2
+end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
+extrusion_multiplier = 0.98
+fan_always_on = 0
+fan_below_layer_time = 10
+filament_colour = #3A80CA
+filament_cooling_final_speed = 3.4
+filament_cooling_initial_speed = 2.2
+filament_cooling_moves = 4
+filament_cooling_zone_pause = 0
+filament_cost = 18
+filament_density = 1.04
+filament_deretract_speed = nil
+filament_diameter = 1.75
+filament_load_time = 0
+filament_loading_speed = 28
+filament_loading_speed_start = 3
+filament_max_speed = 0
+filament_max_volumetric_speed = 0
+filament_minimal_purge_on_wipe_tower = 15
+filament_notes = ""
+filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
+filament_retract_layer_change = 0
+filament_retract_length = 0.7
+filament_soluble = 0
+filament_spool_weight = 0
+filament_toolchange_delay = 0
+filament_toolchange_part_fan_speed = 50
+filament_toolchange_temp = 200
+filament_unload_time = 0
+filament_unloading_speed = 90
+filament_unloading_speed_start = 100
+filament_wipe = 1
+first_layer_bed_temperature = 108
+first_layer_temperature = 248
+full_fan_speed_layer = 0
+max_fan_speed = 30
+min_fan_speed = 20
+min_print_speed = 25
+slowdown_below_layer_time = 10
+start_filament_gcode = "; Filament gcode\nSET_GCODE_OFFSET Z=0.0\nSET_PRESSURE_ADVANCE ADVANCE=0.03"
+temperature = 243
+
+[filament:Generic PETG V6 @RatRig]
+filament_vendor = Generic
+filament_type = PETG
+bed_temperature = 80
+bridge_fan_speed = 100
+cooling = 1
+disable_fan_first_layers = 3
+end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
+extrusion_multiplier = 0.94
+fan_always_on = 1
+fan_below_layer_time = 10
+filament_colour = #FF8000
+filament_cost = 20
+filament_density = 1.27
+filament_diameter = 1.75
+filament_enable_toolchange_part_fan = 0
+filament_enable_toolchange_temp = 0
+filament_load_time = 0
+filament_loading_speed = 28
+filament_loading_speed_start = 3
+filament_max_speed = 0
+filament_max_volumetric_speed = 11
+filament_minimal_purge_on_wipe_tower = 15
+filament_notes = ""
+filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
+filament_retract_layer_change = 1
+filament_retract_length = 1.2
+filament_settings_id = ""
+filament_soluble = 0
+filament_spool_weight = 0
+filament_unload_time = 0
+filament_unloading_speed = 90
+filament_unloading_speed_start = 100
+filament_wipe = 1
+first_layer_bed_temperature = 80
+first_layer_temperature = 240
+full_fan_speed_layer = 0
+max_fan_speed = 100
+min_fan_speed = 40
+min_print_speed = 15
+slowdown_below_layer_time = 10
+start_filament_gcode = "; Filament gcode\nSET_GCODE_OFFSET Z=0\nSET_PRESSURE_ADVANCE ADVANCE=0.05"
+temperature = 235
+
+[filament:Generic PETG HF @RatRig]
+inherits = Generic PETG V6 @RatRig
+temperature = 235
+first_layer_temperature = 235
+filament_max_volumetric_speed = 25
+
+[filament:Generic PLA @RatRig]
+filament_vendor = Generic
+filament_type = PLA
+bed_temperature = 65
+bridge_fan_speed = 100
+cooling = 1
+disable_fan_first_layers = 2
+end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
+extrusion_multiplier = 0.89
+fan_always_on = 1
+fan_below_layer_time = 100
+filament_colour = #FF3232
+filament_cooling_final_speed = 3.4
+filament_cooling_initial_speed = 2.2
+filament_cooling_moves = 4
+filament_cooling_zone_pause = 0
+filament_cost = 20
+filament_density = 1.24
+filament_deretract_speed = nil
+filament_diameter = 1.75
+filament_load_time = 0
+filament_loading_speed = 28
+filament_loading_speed_start = 3
+filament_max_speed = 0
+filament_max_volumetric_speed = 0
+filament_minimal_purge_on_wipe_tower = 15
+filament_notes = ""
+filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
+filament_retract_length = 0.6
+filament_soluble = 0
+filament_spool_weight = 0
+filament_toolchange_delay = 0
+filament_unload_time = 0
+filament_unloading_speed = 90
+filament_unloading_speed_start = 100
+filament_wipe = nil
+first_layer_bed_temperature = 68
+first_layer_temperature = 205
+full_fan_speed_layer = 4
+inherits =
+max_fan_speed = 100
+min_fan_speed = 100
+min_print_speed = 10
+slowdown_below_layer_time = 15
+start_filament_gcode = "; Filament gcode\nSET_GCODE_OFFSET Z=0\nSET_PRESSURE_ADVANCE ADVANCE=0.05"
+temperature = 195
+
+[filament:Esun ePA-CF @RatRig]
+filament_vendor = Esun
+filament_type = NYLON
+bed_temperature = 80
+bridge_fan_speed = 50
+cooling = 1
+disable_fan_first_layers = 3
+end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
+external_perimeter_fan_speed = 0
+extrusion_multiplier = 0.98
+fan_always_on = 0
+fan_below_layer_time = 10
+filament_colour = #3A80CA
+filament_cooling_final_speed = 3.4
+filament_cooling_initial_speed = 2.2
+filament_cooling_moves = 4
+filament_cooling_zone_pause = 0
+filament_cost = 60
+filament_density = 1.24
+filament_diameter = 1.75
+filament_load_time = 0
+filament_loading_speed = 28
+filament_loading_speed_start = 3
+filament_max_speed = 0
+filament_max_volumetric_speed = 4
+filament_minimal_purge_on_wipe_tower = 15
+filament_notes = ""
+filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
+filament_retract_length = 2
+filament_settings_id = ""
+filament_soluble = 0
+filament_spool_weight = 0
+filament_unload_time = 0
+filament_unloading_speed = 90
+filament_unloading_speed_start = 100
+filament_wipe = 1
+first_layer_bed_temperature = 80
+first_layer_temperature = 270
+full_fan_speed_layer = 0
+inherits =
+max_fan_speed = 15
+min_fan_speed = 0
+min_print_speed = 15
+slowdown_below_layer_time = 10
+start_filament_gcode = "; Filament gcode\nSET_GCODE_OFFSET Z=0.0\n\n{if nozzle_diameter[0]==0.4} SET_PRESSURE_ADVANCE ADVANCE=0.045{elsif nozzle_diameter[0]==0.6}SET_PRESSURE_ADVANCE ADVANCE=0.02{endif}\n\n"
+temperature = 270
\ No newline at end of file
diff --git a/resources/profiles/RatRig/VC3_300_thumbnail.png b/resources/profiles/RatRig/VC3_300_thumbnail.png
new file mode 100644
index 0000000000..c9150d2b03
Binary files /dev/null and b/resources/profiles/RatRig/VC3_300_thumbnail.png differ
diff --git a/resources/profiles/RatRig/VC3_400_thumbnail.png b/resources/profiles/RatRig/VC3_400_thumbnail.png
new file mode 100644
index 0000000000..c9150d2b03
Binary files /dev/null and b/resources/profiles/RatRig/VC3_400_thumbnail.png differ
diff --git a/resources/profiles/RatRig/VC3_500_thumbnail.png b/resources/profiles/RatRig/VC3_500_thumbnail.png
new file mode 100644
index 0000000000..c9150d2b03
Binary files /dev/null and b/resources/profiles/RatRig/VC3_500_thumbnail.png differ
diff --git a/resources/profiles/RatRig/VMINION_thumbnail.png b/resources/profiles/RatRig/VMINION_thumbnail.png
new file mode 100644
index 0000000000..1cd82fe8c3
Binary files /dev/null and b/resources/profiles/RatRig/VMINION_thumbnail.png differ
diff --git a/resources/profiles/RatRig/rr-vc-300.stl b/resources/profiles/RatRig/rr-vc-300.stl
new file mode 100644
index 0000000000..282f31a084
Binary files /dev/null and b/resources/profiles/RatRig/rr-vc-300.stl differ
diff --git a/resources/profiles/RatRig/rr-vc-300.svg b/resources/profiles/RatRig/rr-vc-300.svg
new file mode 100644
index 0000000000..c69e90d132
--- /dev/null
+++ b/resources/profiles/RatRig/rr-vc-300.svg
@@ -0,0 +1,353 @@
+
+
diff --git a/resources/profiles/RatRig/rr-vc-400.stl b/resources/profiles/RatRig/rr-vc-400.stl
new file mode 100644
index 0000000000..8605f3eccd
Binary files /dev/null and b/resources/profiles/RatRig/rr-vc-400.stl differ
diff --git a/resources/profiles/RatRig/rr-vc-400.svg b/resources/profiles/RatRig/rr-vc-400.svg
new file mode 100644
index 0000000000..ec2d7ae351
--- /dev/null
+++ b/resources/profiles/RatRig/rr-vc-400.svg
@@ -0,0 +1,125 @@
+
+
\ No newline at end of file
diff --git a/resources/profiles/RatRig/rr-vc-500.stl b/resources/profiles/RatRig/rr-vc-500.stl
new file mode 100644
index 0000000000..75f1878458
Binary files /dev/null and b/resources/profiles/RatRig/rr-vc-500.stl differ
diff --git a/resources/profiles/RatRig/rr-vc-500.svg b/resources/profiles/RatRig/rr-vc-500.svg
new file mode 100644
index 0000000000..92ce3cfbc7
--- /dev/null
+++ b/resources/profiles/RatRig/rr-vc-500.svg
@@ -0,0 +1,149 @@
+
+
\ No newline at end of file
diff --git a/resources/profiles/RatRig/rr-vminion.stl b/resources/profiles/RatRig/rr-vminion.stl
new file mode 100644
index 0000000000..bbeac8bf40
Binary files /dev/null and b/resources/profiles/RatRig/rr-vminion.stl differ
diff --git a/resources/profiles/RatRig/rr-vminion.svg b/resources/profiles/RatRig/rr-vminion.svg
new file mode 100644
index 0000000000..7d09e230e9
--- /dev/null
+++ b/resources/profiles/RatRig/rr-vminion.svg
@@ -0,0 +1,110 @@
+
+
diff --git a/resources/shaders/flat.fs b/resources/shaders/flat.fs
new file mode 100644
index 0000000000..ab656998df
--- /dev/null
+++ b/resources/shaders/flat.fs
@@ -0,0 +1,8 @@
+#version 110
+
+uniform vec4 uniform_color;
+
+void main()
+{
+ gl_FragColor = uniform_color;
+}
diff --git a/resources/shaders/flat.vs b/resources/shaders/flat.vs
new file mode 100644
index 0000000000..d0d3ee42a9
--- /dev/null
+++ b/resources/shaders/flat.vs
@@ -0,0 +1,6 @@
+#version 110
+
+void main()
+{
+ gl_Position = ftransform();
+}
diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt
index 560a51af1c..93996b321b 100644
--- a/src/libslic3r/CMakeLists.txt
+++ b/src/libslic3r/CMakeLists.txt
@@ -100,6 +100,8 @@ set(SLIC3R_SOURCES
GCode/ThumbnailData.hpp
GCode/CoolingBuffer.cpp
GCode/CoolingBuffer.hpp
+ GCode/FindReplace.cpp
+ GCode/FindReplace.hpp
GCode/PostProcessor.cpp
GCode/PostProcessor.hpp
# GCode/PressureEqualizer.cpp
diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp
index a91f15b2a2..d79e8177fe 100644
--- a/src/libslic3r/GCode.cpp
+++ b/src/libslic3r/GCode.cpp
@@ -1099,6 +1099,11 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato
// modifies m_silent_time_estimator_enabled
DoExport::init_gcode_processor(print.config(), m_processor, m_silent_time_estimator_enabled);
+ if (! print.config().gcode_substitutions.values.empty()) {
+ m_find_replace = make_unique(print.config());
+ file.set_find_replace(m_find_replace.get());
+ }
+
// resets analyzer's tracking data
m_last_height = 0.f;
m_last_layer_z = 0.f;
@@ -1560,15 +1565,25 @@ void GCode::process_layers(
[&cooling_buffer = *this->m_cooling_buffer.get()](GCode::LayerResult in) -> std::string {
return cooling_buffer.process_layer(std::move(in.gcode), in.layer_id, in.cooling_buffer_flush);
});
+ const auto find_replace = tbb::make_filter(slic3r_tbb_filtermode::serial_in_order,
+ [&self = *this->m_find_replace.get()](std::string s) -> std::string {
+ return self.process_layer(std::move(s));
+ });
const auto output = tbb::make_filter(slic3r_tbb_filtermode::serial_in_order,
[&output_stream](std::string s) { output_stream.write(s); }
);
// The pipeline elements are joined using const references, thus no copying is performed.
- if (m_spiral_vase)
+ output_stream.set_find_replace(nullptr);
+ if (m_spiral_vase && m_find_replace)
+ tbb::parallel_pipeline(12, generator & spiral_vase & cooling & find_replace & output);
+ else if (m_spiral_vase)
tbb::parallel_pipeline(12, generator & spiral_vase & cooling & output);
+ else if (m_find_replace)
+ tbb::parallel_pipeline(12, generator & cooling & find_replace & output);
else
tbb::parallel_pipeline(12, generator & cooling & output);
+ output_stream.set_find_replace(m_find_replace.get());
}
// Process all layers of a single object instance (sequential mode) with a parallel pipeline:
@@ -1603,15 +1618,25 @@ void GCode::process_layers(
[&cooling_buffer = *this->m_cooling_buffer.get()](GCode::LayerResult in)->std::string {
return cooling_buffer.process_layer(std::move(in.gcode), in.layer_id, in.cooling_buffer_flush);
});
+ const auto find_replace = tbb::make_filter(slic3r_tbb_filtermode::serial_in_order,
+ [&self = *this->m_find_replace.get()](std::string s) -> std::string {
+ return self.process_layer(std::move(s));
+ });
const auto output = tbb::make_filter(slic3r_tbb_filtermode::serial_in_order,
[&output_stream](std::string s) { output_stream.write(s); }
);
// The pipeline elements are joined using const references, thus no copying is performed.
- if (m_spiral_vase)
+ output_stream.set_find_replace(nullptr);
+ if (m_spiral_vase && m_find_replace)
+ tbb::parallel_pipeline(12, generator & spiral_vase & cooling & find_replace & output);
+ else if (m_spiral_vase)
tbb::parallel_pipeline(12, generator & spiral_vase & cooling & output);
+ else if (m_find_replace)
+ tbb::parallel_pipeline(12, generator & cooling & find_replace & output);
else
tbb::parallel_pipeline(12, generator & cooling & output);
+ output_stream.set_find_replace(m_find_replace.get());
}
std::string GCode::placeholder_parser_process(const std::string &name, const std::string &templ, unsigned int current_extruder_id, const DynamicConfig *config_override)
@@ -2824,11 +2849,11 @@ void GCode::GCodeOutputStream::close()
void GCode::GCodeOutputStream::write(const char *what)
{
if (what != nullptr) {
- const char* gcode = what;
- // writes string to file
- fwrite(gcode, 1, ::strlen(gcode), this->f);
//FIXME don't allocate a string, maybe process a batch of lines?
- m_processor.process_buffer(std::string(gcode));
+ std::string gcode(m_find_replace ? m_find_replace->process_layer(what) : what);
+ // writes string to file
+ fwrite(gcode.c_str(), 1, gcode.size(), this->f);
+ m_processor.process_buffer(gcode);
}
}
diff --git a/src/libslic3r/GCode.hpp b/src/libslic3r/GCode.hpp
index 1b2c560da3..f46558c353 100644
--- a/src/libslic3r/GCode.hpp
+++ b/src/libslic3r/GCode.hpp
@@ -10,6 +10,7 @@
#include "PrintConfig.hpp"
#include "GCode/AvoidCrossingPerimeters.hpp"
#include "GCode/CoolingBuffer.hpp"
+#include "GCode/FindReplace.hpp"
#include "GCode/SpiralVase.hpp"
#include "GCode/ToolOrdering.hpp"
#include "GCode/WipeTower.hpp"
@@ -189,6 +190,11 @@ private:
GCodeOutputStream(FILE *f, GCodeProcessor &processor) : f(f), m_processor(processor) {}
~GCodeOutputStream() { this->close(); }
+ // Set a find-replace post-processor to modify the G-code before GCodePostProcessor.
+ // It is being set to null inside process_layers(), because the find-replace process
+ // is being called on a secondary thread to improve performance.
+ void set_find_replace(GCodeFindReplace *find_replace) { m_find_replace = find_replace; }
+
bool is_open() const { return f; }
bool is_error() const;
@@ -208,8 +214,10 @@ private:
void write_format(const char* format, ...);
private:
- FILE *f = nullptr;
- GCodeProcessor &m_processor;
+ FILE *f { nullptr };
+ // Find-replace post-processor to be called before GCodePostProcessor.
+ GCodeFindReplace *m_find_replace { nullptr };
+ GCodeProcessor &m_processor;
};
void _do_export(Print &print, GCodeOutputStream &file, ThumbnailsGeneratorCallback thumbnail_cb);
@@ -393,6 +401,7 @@ private:
std::unique_ptr m_cooling_buffer;
std::unique_ptr m_spiral_vase;
+ std::unique_ptr m_find_replace;
#ifdef HAS_PRESSURE_EQUALIZER
std::unique_ptr m_pressure_equalizer;
#endif /* HAS_PRESSURE_EQUALIZER */
diff --git a/src/libslic3r/GCode/AvoidCrossingPerimeters.cpp b/src/libslic3r/GCode/AvoidCrossingPerimeters.cpp
index 9041b4446f..f846d8cecc 100644
--- a/src/libslic3r/GCode/AvoidCrossingPerimeters.cpp
+++ b/src/libslic3r/GCode/AvoidCrossingPerimeters.cpp
@@ -439,7 +439,15 @@ static std::vector simplify_travel(const AvoidCrossingPerimeters::B
visitor.pt_current = ¤t_point;
if (!next.do_not_remove)
- for (size_t point_idx_2 = point_idx + 1; point_idx_2 < travel.size() && !travel[point_idx_2].do_not_remove; ++point_idx_2) {
+ for (size_t point_idx_2 = point_idx + 1; point_idx_2 < travel.size(); ++point_idx_2) {
+ // Workaround for some issue in MSVC 19.29.30037 32-bit compiler.
+#if defined(_WIN32) && !defined(_WIN64)
+ if (bool volatile do_not_remove = travel[point_idx_2].do_not_remove; do_not_remove)
+ break;
+#else
+ if (travel[point_idx_2].do_not_remove)
+ break;
+#endif
if (travel[point_idx_2].point == current_point) {
next = travel[point_idx_2];
point_idx = point_idx_2;
diff --git a/src/libslic3r/GCode/FindReplace.cpp b/src/libslic3r/GCode/FindReplace.cpp
new file mode 100644
index 0000000000..ee21a249ab
--- /dev/null
+++ b/src/libslic3r/GCode/FindReplace.cpp
@@ -0,0 +1,153 @@
+#include "FindReplace.hpp"
+#include "../Utils.hpp"
+
+#include // isalpha
+
+namespace Slic3r {
+
+// Similar to https://npp-user-manual.org/docs/searching/#extended-search-mode
+const void unescape_extended_search_mode(std::string &s)
+{
+ boost::replace_all(s, "\\n", "\n"); // Line Feed control character LF (ASCII 0x0A)
+ boost::replace_all(s, "\\r", "\r"); // Carriage Return control character CR (ASCII 0x0D)
+ boost::replace_all(s, "\\t", "\t"); // TAB control character (ASCII 0x09)
+ boost::replace_all(s, "\\0", "\0x00"); // NUL control character (ASCII 0x00)
+ boost::replace_all(s, "\\\\", "\\"); // Backslash character (ASCII 0x5C)
+
+// Notepad++ also supports:
+// \o: the octal representation of a byte, made of 3 digits in the 0-7 range
+// \d: the decimal representation of a byte, made of 3 digits in the 0-9 range
+// \x: the hexadecimal representation of a byte, made of 2 digits in the 0-9, A-F/a-f range.
+// \u: The hexadecimal representation of a two-byte character, made of 4 digits in the 0-9, A-F/a-f range.
+}
+
+GCodeFindReplace::GCodeFindReplace(const std::vector &gcode_substitutions)
+{
+ if ((gcode_substitutions.size() % 3) != 0)
+ throw RuntimeError("Invalid length of gcode_substitutions parameter");
+
+ m_substitutions.reserve(gcode_substitutions.size() / 3);
+ for (size_t i = 0; i < gcode_substitutions.size(); i += 3) {
+ Substitution out;
+ try {
+ out.plain_pattern = gcode_substitutions[i];
+ out.format = gcode_substitutions[i + 1];
+ const std::string ¶ms = gcode_substitutions[i + 2];
+ out.regexp = strchr(params.c_str(), 'r') != nullptr || strchr(params.c_str(), 'R') != nullptr;
+ out.case_insensitive = strchr(params.c_str(), 'i') != nullptr || strchr(params.c_str(), 'I') != nullptr;
+ out.whole_word = strchr(params.c_str(), 'w') != nullptr || strchr(params.c_str(), 'W') != nullptr;
+ if (out.regexp) {
+ out.regexp_pattern.assign(
+ out.whole_word ?
+ std::string("\\b") + out.plain_pattern + "\\b" :
+ out.plain_pattern,
+ (out.case_insensitive ? boost::regex::icase : 0) | boost::regex::optimize);
+ } else {
+ unescape_extended_search_mode(out.plain_pattern);
+ unescape_extended_search_mode(out.format);
+ }
+ } catch (const std::exception &ex) {
+ throw RuntimeError(std::string("Invalid gcode_substitutions parameter, failed to compile regular expression: ") + ex.what());
+ }
+ m_substitutions.emplace_back(std::move(out));
+ }
+}
+
+class ToStringIterator
+{
+public:
+ using iterator_category = std::output_iterator_tag;
+ using value_type = void;
+ using difference_type = void;
+ using pointer = void;
+ using reference = void;
+
+ ToStringIterator(std::string &data) : m_data(&data) {}
+
+ ToStringIterator& operator=(const char val) {
+ size_t needs = m_data->size() + 1;
+ if (m_data->capacity() < needs)
+ m_data->reserve(next_highest_power_of_2(needs));
+ m_data->push_back(val);
+ return *this;
+ }
+
+ ToStringIterator& operator*() { return *this; }
+ ToStringIterator& operator++() { return *this; }
+ ToStringIterator operator++(int) { return *this; }
+
+private:
+ std::string *m_data;
+};
+
+template
+static void find_and_replace_whole_word(std::string &inout, const std::string &match, const std::string &replace, FindFn find_fn)
+{
+ if (! match.empty() && inout.size() >= match.size() && match != replace) {
+ std::string out;
+ auto [i, j] = find_fn(inout, 0, match);
+ size_t k = 0;
+ for (; i != std::string::npos; std::tie(i, j) = find_fn(inout, i, match)) {
+ if ((i == 0 || ! std::isalnum(inout[i - 1])) && (j == inout.size() || ! std::isalnum(inout[j]))) {
+ out.reserve(inout.size());
+ out.append(inout, k, i - k);
+ out.append(replace);
+ i = k = j;
+ } else
+ i += match.size();
+ }
+ if (k > 0) {
+ out.append(inout, k, inout.size() - k);
+ inout.swap(out);
+ }
+ }
+}
+
+std::string GCodeFindReplace::process_layer(const std::string &ain)
+{
+ std::string out;
+ const std::string *in = &ain;
+ std::string temp;
+ temp.reserve(in->size());
+
+ for (const Substitution &substitution : m_substitutions) {
+ if (substitution.regexp) {
+ temp.clear();
+ temp.reserve(in->size());
+ boost::regex_replace(ToStringIterator(temp), in->begin(), in->end(),
+ substitution.regexp_pattern, substitution.format, boost::match_default | boost::match_not_dot_newline | boost::match_not_dot_null | boost::format_all);
+ std::swap(out, temp);
+ } else {
+ if (in == &ain)
+ out = ain;
+ // Plain substitution
+ if (substitution.case_insensitive) {
+ if (substitution.whole_word)
+ find_and_replace_whole_word(out, substitution.plain_pattern, substitution.format,
+ [](const std::string &str, size_t start_pos, const std::string &match) {
+ auto begin = str.begin() + start_pos;
+ boost::iterator_range r1(begin, str.end());
+ boost::iterator_range r2(match.begin(), match.end());
+ auto res = boost::ifind_first(r1, r2);
+ return res ? std::make_pair(size_t(res.begin() - str.begin()), size_t(res.end() - str.begin())) : std::make_pair(std::string::npos, std::string::npos);
+ });
+ else
+ boost::ireplace_all(out, substitution.plain_pattern, substitution.format);
+ } else {
+ if (substitution.whole_word)
+ find_and_replace_whole_word(out, substitution.plain_pattern, substitution.format,
+ [](const std::string &str, size_t start_pos, const std::string &match) {
+ size_t pos = str.find(match, start_pos);
+ return std::make_pair(pos, pos + (pos == std::string::npos ? 0 : match.size()));
+ });
+ else
+ boost::replace_all(out, substitution.plain_pattern, substitution.format);
+ }
+ }
+ in = &out;
+ }
+
+ return out;
+}
+
+}
diff --git a/src/libslic3r/GCode/FindReplace.hpp b/src/libslic3r/GCode/FindReplace.hpp
new file mode 100644
index 0000000000..2d12cf28be
--- /dev/null
+++ b/src/libslic3r/GCode/FindReplace.hpp
@@ -0,0 +1,33 @@
+#ifndef slic3r_FindReplace_hpp_
+#define slic3r_FindReplace_hpp_
+
+#include "../PrintConfig.hpp"
+
+#include
+
+namespace Slic3r {
+
+class GCodeFindReplace {
+public:
+ GCodeFindReplace(const PrintConfig &print_config) : GCodeFindReplace(print_config.gcode_substitutions.values) {}
+ GCodeFindReplace(const std::vector &gcode_substitutions);
+
+
+ std::string process_layer(const std::string &gcode);
+
+private:
+ struct Substitution {
+ std::string plain_pattern;
+ boost::regex regexp_pattern;
+ std::string format;
+
+ bool regexp { false };
+ bool case_insensitive { false };
+ bool whole_word { false };
+ };
+ std::vector m_substitutions;
+};
+
+}
+
+#endif // slic3r_FindReplace_hpp_
diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp
index 2397a7d199..ba1c440a3e 100644
--- a/src/libslic3r/Preset.cpp
+++ b/src/libslic3r/Preset.cpp
@@ -439,7 +439,7 @@ static std::vector s_Preset_print_options {
"support_material_interface_pattern", "support_material_interface_spacing", "support_material_interface_contact_loops",
"support_material_contact_distance", "support_material_bottom_contact_distance",
"support_material_buildplate_only", "dont_support_bridges", "thick_bridges", "notes", "complete_objects", "extruder_clearance_radius",
- "extruder_clearance_height", "gcode_comments", "gcode_label_objects", "output_filename_format", "post_process", "perimeter_extruder",
+ "extruder_clearance_height", "gcode_comments", "gcode_label_objects", "output_filename_format", "post_process", "gcode_substitutions", "perimeter_extruder",
"infill_extruder", "solid_infill_extruder", "support_material_extruder", "support_material_interface_extruder",
"ooze_prevention", "standby_temperature_delta", "interface_shells", "extrusion_width", "first_layer_extrusion_width",
"perimeter_extrusion_width", "external_perimeter_extrusion_width", "infill_extrusion_width", "solid_infill_extrusion_width",
@@ -1133,6 +1133,20 @@ void add_correct_opts_to_diff(const std::string &opt_key, t_config_option_keys&
}
}
+// list of options with vector variable, which is independent from number of extruders
+static const std::vector independent_from_extruder_number_options = {
+ "bed_shape",
+ "filament_ramming_parameters",
+ "gcode_substitutions",
+ "compatible_prints",
+ "compatible_printers"
+};
+
+bool PresetCollection::is_independent_from_extruder_number_option(const std::string& opt_key)
+{
+ return std::find(independent_from_extruder_number_options.begin(), independent_from_extruder_number_options.end(), opt_key) != independent_from_extruder_number_options.end();
+}
+
// Use deep_diff to correct return of changed options, considering individual options for each extruder.
inline t_config_option_keys deep_diff(const ConfigBase &config_this, const ConfigBase &config_other)
{
@@ -1142,7 +1156,7 @@ inline t_config_option_keys deep_diff(const ConfigBase &config_this, const Confi
const ConfigOption *other_opt = config_other.option(opt_key);
if (this_opt != nullptr && other_opt != nullptr && *this_opt != *other_opt)
{
- if (opt_key == "bed_shape" || opt_key == "thumbnails" || opt_key == "compatible_prints" || opt_key == "compatible_printers") {
+ if (PresetCollection::is_independent_from_extruder_number_option(opt_key)) {
// Scalar variable, or a vector variable, which is independent from number of extruders,
// thus the vector is presented to the user as a single input.
diff.emplace_back(opt_key);
diff --git a/src/libslic3r/Preset.hpp b/src/libslic3r/Preset.hpp
index dd6a2e03cc..fc45110fd4 100644
--- a/src/libslic3r/Preset.hpp
+++ b/src/libslic3r/Preset.hpp
@@ -558,6 +558,7 @@ private:
public:
static bool is_dirty(const Preset *edited, const Preset *reference);
static std::vector dirty_options(const Preset *edited, const Preset *reference, const bool deep_compare = false);
+ static bool is_independent_from_extruder_number_option(const std::string& opt_key);
private:
// Type of this PresetCollection: TYPE_PRINT, TYPE_FILAMENT or TYPE_PRINTER.
Preset::Type m_type;
diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp
index 70c5756ef9..d82a1a093b 100644
--- a/src/libslic3r/Print.cpp
+++ b/src/libslic3r/Print.cpp
@@ -110,6 +110,7 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
"output_filename_format",
"perimeter_acceleration",
"post_process",
+ "gcode_substitutions",
"printer_notes",
"retract_before_travel",
"retract_before_wipe",
diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp
index 34a06a18dc..1aaf8c1dde 100644
--- a/src/libslic3r/PrintConfig.cpp
+++ b/src/libslic3r/PrintConfig.cpp
@@ -1357,6 +1357,12 @@ void PrintConfigDef::init_fff_params()
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(0));
+ def = this->add("gcode_substitutions", coStrings);
+ def->label = L("G-code substitutions");
+ def->tooltip = L("Find / replace patterns in G-code lines and substitute them.");
+ def->mode = comExpert;
+ def->set_default_value(new ConfigOptionStrings());
+
def = this->add("high_current_on_filament_swap", coBool);
def->label = L("High extruder current on filament swap");
def->tooltip = L("It may be beneficial to increase the extruder motor current during the filament exchange"
diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp
index 6851ceb106..2cc758e7be 100644
--- a/src/libslic3r/PrintConfig.hpp
+++ b/src/libslic3r/PrintConfig.hpp
@@ -641,6 +641,12 @@ PRINT_CONFIG_CLASS_DEFINE(
((ConfigOptionBool, gcode_comments))
((ConfigOptionEnum, gcode_flavor))
((ConfigOptionBool, gcode_label_objects))
+ // Triples of strings: "search pattern", "replace with pattern", "attribs"
+ // where "attribs" are one of:
+ // r - regular expression
+ // i - case insensitive
+ // w - whole word
+ ((ConfigOptionStrings, gcode_substitutions))
((ConfigOptionString, layer_gcode))
((ConfigOptionFloat, max_print_speed))
((ConfigOptionFloat, max_volumetric_speed))
diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp
index c51c0bf2e3..ceda84d20f 100644
--- a/src/libslic3r/Technologies.hpp
+++ b/src/libslic3r/Technologies.hpp
@@ -58,6 +58,12 @@
#define ENABLE_PREVIEW_LAYER_TIME (1 && ENABLE_2_5_0_ALPHA1)
// Enable showing time estimate for travel moves in legend
#define ENABLE_TRAVEL_TIME (1 && ENABLE_2_5_0_ALPHA1)
+// Enable not killing focus in object manipulator fields when hovering over 3D scene
+#define ENABLE_OBJECT_MANIPULATOR_FOCUS (1 && ENABLE_2_5_0_ALPHA1)
+// Enable removal of wipe tower magic object_id equal to 1000
+#define ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL (1 && ENABLE_2_5_0_ALPHA1)
+// Enable removal of old OpenGL render calls
+#define ENABLE_GLBEGIN_GLEND_REMOVAL (1 && ENABLE_2_5_0_ALPHA1)
// Enable application of textures to volumes
#define ENABLE_TEXTURED_VOLUMES (1 && ENABLE_2_5_0_ALPHA1)
diff --git a/src/slic3r/GUI/3DScene.cpp b/src/slic3r/GUI/3DScene.cpp
index 90d8326d74..f346fc5fc1 100644
--- a/src/slic3r/GUI/3DScene.cpp
+++ b/src/slic3r/GUI/3DScene.cpp
@@ -377,7 +377,6 @@ GLVolume::GLVolume(float r, float g, float b, float a)
, is_modifier(false)
, is_wipe_tower(false)
, is_extrusion_path(false)
- , force_transparent(false)
, force_native_color(false)
, force_neutral_color(false)
, force_sinking_contours(false)
@@ -388,7 +387,7 @@ GLVolume::GLVolume(float r, float g, float b, float a)
set_render_color(color);
}
-void GLVolume::set_render_color()
+void GLVolume::set_render_color(bool force_transparent)
{
bool outside = is_outside || is_below_printbed();
@@ -738,9 +737,15 @@ void GLVolumeCollection::load_object_auxiliary(
}
}
+#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
+int GLVolumeCollection::load_wipe_tower_preview(
+ float pos_x, float pos_y, float width, float depth, float height,
+ float rotation_angle, bool size_unknown, float brim_width, bool opengl_initialized)
+#else
int GLVolumeCollection::load_wipe_tower_preview(
int obj_idx, float pos_x, float pos_y, float width, float depth, float height,
float rotation_angle, bool size_unknown, float brim_width, bool opengl_initialized)
+#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
{
if (depth < 0.01f)
return int(this->volumes.size() - 1);
@@ -802,7 +807,11 @@ int GLVolumeCollection::load_wipe_tower_preview(
v.indexed_vertex_array.finalize_geometry(opengl_initialized);
v.set_volume_offset(Vec3d(pos_x, pos_y, 0.0));
v.set_volume_rotation(Vec3d(0., 0., (M_PI / 180.) * rotation_angle));
+#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
+ v.composite_id = GLVolume::CompositeID(INT_MAX, 0, 0);
+#else
v.composite_id = GLVolume::CompositeID(obj_idx, 0, 0);
+#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
v.geometry_id.first = 0;
v.geometry_id.second = wipe_tower_instance_id().id;
v.is_wipe_tower = true;
@@ -880,11 +889,7 @@ void GLVolumeCollection::render(GLVolumeCollection::ERenderType type, bool disab
glsafe(::glDisable(GL_CULL_FACE));
for (GLVolumeWithIdAndZ& volume : to_render) {
- if (type == ERenderType::Transparent)
- volume.first->force_transparent = true;
- volume.first->set_render_color();
- if (type == ERenderType::Transparent)
- volume.first->force_transparent = false;
+ volume.first->set_render_color(true);
// render sinking contours of non-hovered volumes
if (m_show_sinking_contours)
@@ -1021,17 +1026,17 @@ void GLVolumeCollection::reset_outside_state()
void GLVolumeCollection::update_colors_by_extruder(const DynamicPrintConfig* config)
{
- using ColorItem = std::pair;
+ using ColorItem = std::pair;
std::vector colors;
if (static_cast(config->opt_int("printer_technology")) == ptSLA) {
const std::string& txt_color = config->opt_string("material_colour").empty() ?
print_config_def.get("material_colour")->get_default_value()->value :
config->opt_string("material_colour");
- ColorRGBA rgba;
- if (decode_color(txt_color, rgba))
- colors.push_back({ txt_color, rgba });
-}
+ ColorRGB rgb;
+ if (decode_color(txt_color, rgb))
+ colors.push_back({ txt_color, rgb });
+ }
else {
const ConfigOptionStrings* extruders_opt = dynamic_cast(config->option("extruder_colour"));
if (extruders_opt == nullptr)
@@ -1048,13 +1053,13 @@ void GLVolumeCollection::update_colors_by_extruder(const DynamicPrintConfig* con
for (unsigned int i = 0; i < colors_count; ++i) {
const std::string& ext_color = config->opt_string("extruder_colour", i);
- ColorRGBA rgba;
- if (decode_color(ext_color, rgba))
- colors[i] = { ext_color, rgba };
+ ColorRGB rgb;
+ if (decode_color(ext_color, rgb))
+ colors[i] = { ext_color, rgb };
else {
const std::string& fil_color = config->opt_string("filament_colour", i);
- if (decode_color(fil_color, rgba))
- colors[i] = { fil_color, rgba };
+ if (decode_color(fil_color, rgb))
+ colors[i] = { fil_color, rgb };
}
}
}
@@ -1069,7 +1074,7 @@ void GLVolumeCollection::update_colors_by_extruder(const DynamicPrintConfig* con
const ColorItem& color = colors[extruder_id];
if (!color.first.empty())
- volume->color = color.second;
+ volume->color = to_rgba(color.second, volume->color.a());
}
}
diff --git a/src/slic3r/GUI/3DScene.hpp b/src/slic3r/GUI/3DScene.hpp
index a3915274d4..9e3b0ff033 100644
--- a/src/slic3r/GUI/3DScene.hpp
+++ b/src/slic3r/GUI/3DScene.hpp
@@ -367,9 +367,7 @@ public:
bool is_wipe_tower : 1;
// Wheter or not this volume has been generated from an extrusion path
bool is_extrusion_path : 1;
- // Wheter or not to always render this volume using its own alpha
- bool force_transparent : 1;
- // Whether or not always use the volume's own color (not using SELECTED/HOVER/DISABLED/OUTSIDE)
+ // Whether or not always use the volume's own color (not using SELECTED/HOVER/DISABLED/OUTSIDE)
bool force_native_color : 1;
// Whether or not render this volume in neutral
bool force_neutral_color : 1;
@@ -410,7 +408,7 @@ public:
void set_color(const ColorRGBA& rgba) { color = rgba; }
void set_render_color(const ColorRGBA& rgba) { render_color = rgba; }
// Sets render color in dependence of current state
- void set_render_color();
+ void set_render_color(bool force_transparent);
// set color according to model volume
void set_color_from_model_volume(const ModelVolume& model_volume);
@@ -475,8 +473,8 @@ public:
void set_convex_hull(const TriangleMesh &convex_hull) { m_convex_hull = std::make_shared(convex_hull); }
void set_convex_hull(TriangleMesh &&convex_hull) { m_convex_hull = std::make_shared(std::move(convex_hull)); }
- int object_idx() const { return this->composite_id.object_id; }
- int volume_idx() const { return this->composite_id.volume_id; }
+ int object_idx() const { return this->composite_id.object_id; }
+ int volume_idx() const { return this->composite_id.volume_id; }
int instance_idx() const { return this->composite_id.instance_id; }
Transform3d world_matrix() const;
@@ -633,8 +631,13 @@ public:
size_t timestamp,
bool opengl_initialized);
+#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
+ int load_wipe_tower_preview(
+ float pos_x, float pos_y, float width, float depth, float height, float rotation_angle, bool size_unknown, float brim_width, bool opengl_initialized);
+#else
int load_wipe_tower_preview(
int obj_idx, float pos_x, float pos_y, float width, float depth, float height, float rotation_angle, bool size_unknown, float brim_width, bool opengl_initialized);
+#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
GLVolume* new_toolpath_volume(const ColorRGBA& rgba, size_t reserve_vbo_floats = 0);
GLVolume* new_nontoolpath_volume(const ColorRGBA& rgba, size_t reserve_vbo_floats = 0);
diff --git a/src/slic3r/GUI/Field.hpp b/src/slic3r/GUI/Field.hpp
index 8bdf4b8d80..a9812abf2a 100644
--- a/src/slic3r/GUI/Field.hpp
+++ b/src/slic3r/GUI/Field.hpp
@@ -39,7 +39,86 @@ using t_back_to_init = std::function;
wxString double_to_string(double const value, const int max_precision = 4);
wxString get_thumbnails_string(const std::vector& values);
-class Field {
+class UndoValueUIManager
+{
+ struct UndoValueUI {
+ // Bitmap and Tooltip text for m_Undo_btn. The wxButton will be updated only if the new wxBitmap pointer differs from the currently rendered one.
+ const ScalableBitmap* undo_bitmap{ nullptr };
+ const wxString* undo_tooltip{ nullptr };
+ // Bitmap and Tooltip text for m_Undo_to_sys_btn. The wxButton will be updated only if the new wxBitmap pointer differs from the currently rendered one.
+ const ScalableBitmap* undo_to_sys_bitmap{ nullptr };
+ const wxString* undo_to_sys_tooltip{ nullptr };
+ // Color for Label. The wxColour will be updated only if the new wxColour pointer differs from the currently rendered one.
+ const wxColour* label_color{ nullptr };
+ // State of the blinker icon
+ bool blink{ false };
+
+ bool set_undo_bitmap(const ScalableBitmap* bmp) {
+ if (undo_bitmap != bmp) {
+ undo_bitmap = bmp;
+ return true;
+ }
+ return false;
+ }
+
+ bool set_undo_to_sys_bitmap(const ScalableBitmap* bmp) {
+ if (undo_to_sys_bitmap != bmp) {
+ undo_to_sys_bitmap = bmp;
+ return true;
+ }
+ return false;
+ }
+
+ bool set_label_colour(const wxColour* clr) {
+ if (label_color != clr) {
+ label_color = clr;
+ }
+ return false;
+ }
+
+ bool set_undo_tooltip(const wxString* tip) {
+ if (undo_tooltip != tip) {
+ undo_tooltip = tip;
+ return true;
+ }
+ return false;
+ }
+
+ bool set_undo_to_sys_tooltip(const wxString* tip) {
+ if (undo_to_sys_tooltip != tip) {
+ undo_to_sys_tooltip = tip;
+ return true;
+ }
+ return false;
+ }
+ };
+
+ UndoValueUI m_undo_ui;
+
+public:
+ UndoValueUIManager() {}
+ ~UndoValueUIManager() {}
+
+ bool set_undo_bitmap(const ScalableBitmap* bmp) { return m_undo_ui.set_undo_bitmap(bmp); }
+ bool set_undo_to_sys_bitmap(const ScalableBitmap* bmp) { return m_undo_ui.set_undo_to_sys_bitmap(bmp); }
+ bool set_label_colour(const wxColour* clr) { return m_undo_ui.set_label_colour(clr); }
+ bool set_undo_tooltip(const wxString* tip) { return m_undo_ui.set_undo_tooltip(tip); }
+ bool set_undo_to_sys_tooltip(const wxString* tip) { return m_undo_ui.set_undo_to_sys_tooltip(tip); }
+
+ // ui items used for revert line value
+ bool has_undo_ui() const { return m_undo_ui.undo_bitmap != nullptr; }
+ const wxBitmap& undo_bitmap() const { return m_undo_ui.undo_bitmap->bmp(); }
+ const wxString* undo_tooltip() const { return m_undo_ui.undo_tooltip; }
+ const wxBitmap& undo_to_sys_bitmap() const { return m_undo_ui.undo_to_sys_bitmap->bmp(); }
+ const wxString* undo_to_sys_tooltip() const { return m_undo_ui.undo_to_sys_tooltip; }
+ const wxColour* label_color() const { return m_undo_ui.label_color; }
+ const bool blink() const { return m_undo_ui.blink; }
+ bool* get_blink_ptr() { return &m_undo_ui.blink; }
+};
+
+
+class Field : public UndoValueUIManager
+{
protected:
// factory function to defer and enforce creation of derived type.
virtual void PostInitialize();
@@ -137,49 +216,6 @@ public:
return std::move(p); //!p;
}
- bool set_undo_bitmap(const ScalableBitmap *bmp) {
- if (m_undo_bitmap != bmp) {
- m_undo_bitmap = bmp;
- return true;
- }
- return false;
- }
-
- bool set_undo_to_sys_bitmap(const ScalableBitmap *bmp) {
- if (m_undo_to_sys_bitmap != bmp) {
- m_undo_to_sys_bitmap = bmp;
- return true;
- }
- return false;
- }
-
- bool set_label_colour(const wxColour *clr) {
- if (m_label_color != clr) {
- m_label_color = clr;
- }
- return false;
- }
-
- bool set_undo_tooltip(const wxString *tip) {
- if (m_undo_tooltip != tip) {
- m_undo_tooltip = tip;
- return true;
- }
- return false;
- }
-
- bool set_undo_to_sys_tooltip(const wxString *tip) {
- if (m_undo_to_sys_tooltip != tip) {
- m_undo_to_sys_tooltip = tip;
- return true;
- }
- return false;
- }
-
- bool* get_blink_ptr() {
- return &m_blink;
- }
-
virtual void msw_rescale();
virtual void sys_color_changed();
@@ -191,26 +227,7 @@ public:
static int def_width_wider() ;
static int def_width_thinner() ;
- const ScalableBitmap* undo_bitmap() { return m_undo_bitmap; }
- const wxString* undo_tooltip() { return m_undo_tooltip; }
- const ScalableBitmap* undo_to_sys_bitmap() { return m_undo_to_sys_bitmap; }
- const wxString* undo_to_sys_tooltip() { return m_undo_to_sys_tooltip; }
- const wxColour* label_color() { return m_label_color; }
- const bool blink() { return m_blink; }
-
protected:
- // Bitmap and Tooltip text for m_Undo_btn. The wxButton will be updated only if the new wxBitmap pointer differs from the currently rendered one.
- const ScalableBitmap* m_undo_bitmap = nullptr;
- const wxString* m_undo_tooltip = nullptr;
- // Bitmap and Tooltip text for m_Undo_to_sys_btn. The wxButton will be updated only if the new wxBitmap pointer differs from the currently rendered one.
- const ScalableBitmap* m_undo_to_sys_bitmap = nullptr;
- const wxString* m_undo_to_sys_tooltip = nullptr;
-
- bool m_blink{ false };
-
- // Color for Label. The wxColour will be updated only if the new wxColour pointer differs from the currently rendered one.
- const wxColour* m_label_color = nullptr;
-
// current value
boost::any m_value;
// last maeningful value
diff --git a/src/slic3r/GUI/GCodeViewer.cpp b/src/slic3r/GUI/GCodeViewer.cpp
index 5edc321f7b..da01e120a9 100644
--- a/src/slic3r/GUI/GCodeViewer.cpp
+++ b/src/slic3r/GUI/GCodeViewer.cpp
@@ -2135,8 +2135,13 @@ void GCodeViewer::load_shells(const Print& print, bool initialized)
const float depth = print.wipe_tower_data(extruders_count).depth;
const float brim_width = print.wipe_tower_data(extruders_count).brim_width;
+#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
+ m_shells.volumes.load_wipe_tower_preview(config.wipe_tower_x, config.wipe_tower_y, config.wipe_tower_width, depth, max_z, config.wipe_tower_rotation_angle,
+ !print.is_step_done(psWipeTower), brim_width, initialized);
+#else
m_shells.volumes.load_wipe_tower_preview(1000, config.wipe_tower_x, config.wipe_tower_y, config.wipe_tower_width, depth, max_z, config.wipe_tower_rotation_angle,
!print.is_step_done(psWipeTower), brim_width, initialized);
+#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
}
}
@@ -2155,7 +2160,7 @@ void GCodeViewer::load_shells(const Print& print, bool initialized)
volume->zoom_to_volumes = false;
volume->color.a(0.25f);
volume->force_native_color = true;
- volume->set_render_color();
+ volume->set_render_color(true);
}
}
diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp
index 19d0e411d3..2f7c5da335 100644
--- a/src/slic3r/GUI/GLCanvas3D.cpp
+++ b/src/slic3r/GUI/GLCanvas3D.cpp
@@ -1078,6 +1078,9 @@ bool GLCanvas3D::init()
if (!_init_toolbars())
return false;
+ if (m_selection.is_enabled() && !m_selection.init())
+ return false;
+
m_initialized = true;
return true;
@@ -1120,11 +1123,18 @@ ModelInstanceEPrintVolumeState GLCanvas3D::check_volumes_outside_state() const
void GLCanvas3D::toggle_sla_auxiliaries_visibility(bool visible, const ModelObject* mo, int instance_idx)
{
+#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
+ if (current_printer_technology() != ptSLA)
+ return;
+#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
+
m_render_sla_auxiliaries = visible;
for (GLVolume* vol : m_volumes.volumes) {
+#if !ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
if (vol->composite_id.object_id == 1000)
continue; // the wipe tower
+#endif // !ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
if ((mo == nullptr || m_model->objects[vol->composite_id.object_id] == mo)
&& (instance_idx == -1 || vol->composite_id.instance_id == instance_idx)
&& vol->composite_id.volume_id < 0)
@@ -1135,9 +1145,14 @@ void GLCanvas3D::toggle_sla_auxiliaries_visibility(bool visible, const ModelObje
void GLCanvas3D::toggle_model_objects_visibility(bool visible, const ModelObject* mo, int instance_idx, const ModelVolume* mv)
{
for (GLVolume* vol : m_volumes.volumes) {
+#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
+ if (vol->is_wipe_tower)
+ vol->is_active = (visible && mo == nullptr);
+#else
if (vol->composite_id.object_id == 1000) { // wipe tower
vol->is_active = (visible && mo == nullptr);
}
+#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
else {
if ((mo == nullptr || m_model->objects[vol->composite_id.object_id] == mo)
&& (instance_idx == -1 || vol->composite_id.instance_id == instance_idx)
@@ -1162,6 +1177,7 @@ void GLCanvas3D::toggle_model_objects_visibility(bool visible, const ModelObject
}
}
}
+
if (visible && !mo)
toggle_sla_auxiliaries_visibility(true, mo, instance_idx);
@@ -1179,7 +1195,7 @@ void GLCanvas3D::update_instance_printable_state_for_object(const size_t obj_idx
ModelInstance* instance = model_object->instances[inst_idx];
for (GLVolume* volume : m_volumes.volumes) {
- if ((volume->object_idx() == (int)obj_idx) && (volume->instance_idx() == inst_idx))
+ if (volume->object_idx() == (int)obj_idx && volume->instance_idx() == inst_idx)
volume->printable = instance->printable;
}
}
@@ -1841,6 +1857,8 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re
volume->is_modifier = !mvs->model_volume->is_model_part();
volume->set_color(color_from_model_volume(*mvs->model_volume));
+ // force update of render_color alpha channel
+ volume->set_render_color(volume->color.is_transparent());
// updates volumes transformations
volume->set_instance_transformation(mvs->model_volume->get_object()->instances[mvs->composite_id.instance_id]->get_transformation());
@@ -2016,9 +2034,15 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re
float depth = print->wipe_tower_data(extruders_count).depth;
float brim_width = print->wipe_tower_data(extruders_count).brim_width;
+#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
+ int volume_idx_wipe_tower_new = m_volumes.load_wipe_tower_preview(
+ x, y, w, depth, (float)height, a, !print->is_step_done(psWipeTower),
+ brim_width, m_initialized);
+#else
int volume_idx_wipe_tower_new = m_volumes.load_wipe_tower_preview(
1000, x, y, w, depth, (float)height, a, !print->is_step_done(psWipeTower),
brim_width, m_initialized);
+#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
if (volume_idx_wipe_tower_old != -1)
map_glvolume_old_to_new[volume_idx_wipe_tower_old] = volume_idx_wipe_tower_new;
}
@@ -2929,6 +2953,9 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt)
if (evt.LeftUp() || evt.MiddleUp() || evt.RightUp())
mouse_up_cleanup();
m_mouse.set_start_position_3D_as_invalid();
+#if ENABLE_OBJECT_MANIPULATOR_FOCUS
+ handle_sidebar_focus_event("", false);
+#endif // ENABLE_OBJECT_MANIPULATOR_FOCUS
return;
}
@@ -2936,6 +2963,9 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt)
if (evt.LeftUp() || evt.MiddleUp() || evt.RightUp())
mouse_up_cleanup();
m_mouse.set_start_position_3D_as_invalid();
+#if ENABLE_OBJECT_MANIPULATOR_FOCUS
+ handle_sidebar_focus_event("", false);
+#endif // ENABLE_OBJECT_MANIPULATOR_FOCUS
return;
}
@@ -2943,6 +2973,9 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt)
if (evt.LeftUp() || evt.MiddleUp() || evt.RightUp())
mouse_up_cleanup();
m_mouse.set_start_position_3D_as_invalid();
+#if ENABLE_OBJECT_MANIPULATOR_FOCUS
+ handle_sidebar_focus_event("", false);
+#endif // ENABLE_OBJECT_MANIPULATOR_FOCUS
return;
}
@@ -2950,6 +2983,9 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt)
if (evt.LeftUp() || evt.MiddleUp() || evt.RightUp())
mouse_up_cleanup();
m_mouse.set_start_position_3D_as_invalid();
+#if ENABLE_OBJECT_MANIPULATOR_FOCUS
+ handle_sidebar_focus_event("", false);
+#endif // ENABLE_OBJECT_MANIPULATOR_FOCUS
return;
}
@@ -3003,6 +3039,9 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt)
}
}
+#if ENABLE_OBJECT_MANIPULATOR_FOCUS
+ handle_sidebar_focus_event("", false);
+#endif // ENABLE_OBJECT_MANIPULATOR_FOCUS
return;
}
@@ -3017,15 +3056,27 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt)
m_mouse.set_move_start_threshold_position_2D_as_invalid();
}
+#if ENABLE_OBJECT_MANIPULATOR_FOCUS
+ if (evt.ButtonDown()) {
+ handle_sidebar_focus_event("", false);
+ if (wxWindow::FindFocus() != m_canvas)
+ // Grab keyboard focus on any mouse click event.
+ m_canvas->SetFocus();
+ }
+#else
if (evt.ButtonDown() && wxWindow::FindFocus() != m_canvas)
// Grab keyboard focus on any mouse click event.
m_canvas->SetFocus();
+#endif // ENABLE_OBJECT_MANIPULATOR_FOCUS
if (evt.Entering()) {
//#if defined(__WXMSW__) || defined(__linux__)
// // On Windows and Linux needs focus in order to catch key events
+#if !ENABLE_OBJECT_MANIPULATOR_FOCUS
// Set focus in order to remove it from sidebar fields
+#endif // !ENABLE_OBJECT_MANIPULATOR_FOCUS
if (m_canvas != nullptr) {
+#if !ENABLE_OBJECT_MANIPULATOR_FOCUS
// Only set focus, if the top level window of this canvas is active.
auto p = dynamic_cast(evt.GetEventObject());
while (p->GetParent())
@@ -3033,6 +3084,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt)
auto *top_level_wnd = dynamic_cast(p);
if (top_level_wnd && top_level_wnd->IsActive())
m_canvas->SetFocus();
+#endif // !ENABLE_OBJECT_MANIPULATOR_FOCUS
m_mouse.position = pos.cast();
m_tooltip_enabled = false;
// 1) forces a frame render to ensure that m_hover_volume_idxs is updated even when the user right clicks while
@@ -3415,9 +3467,15 @@ void GLCanvas3D::do_move(const std::string& snapshot_type)
model_object->invalidate_bounding_box();
}
}
+#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
+ else if (v->is_wipe_tower)
+ // Move a wipe tower proxy.
+ wipe_tower_origin = v->get_volume_offset();
+#else
else if (object_idx == 1000)
// Move a wipe tower proxy.
wipe_tower_origin = v->get_volume_offset();
+#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
}
// Fixes flying instances
@@ -3477,11 +3535,18 @@ void GLCanvas3D::do_rotate(const std::string& snapshot_type)
Selection::EMode selection_mode = m_selection.get_mode();
for (const GLVolume* v : m_volumes.volumes) {
+#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
+ if (v->is_wipe_tower) {
+#else
int object_idx = v->object_idx();
if (object_idx == 1000) { // the wipe tower
+#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
Vec3d offset = v->get_volume_offset();
post_event(Vec3dEvent(EVT_GLCANVAS_WIPETOWER_ROTATED, Vec3d(offset(0), offset(1), v->get_volume_rotation()(2))));
}
+#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
+ int object_idx = v->object_idx();
+#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
if (object_idx < 0 || (int)m_model->objects.size() <= object_idx)
continue;
@@ -5186,7 +5251,11 @@ void GLCanvas3D::_render_gcode()
m_gcode_viewer.render();
}
+#if ENABLE_GLBEGIN_GLEND_REMOVAL
void GLCanvas3D::_render_selection()
+#else
+void GLCanvas3D::_render_selection() const
+#endif // ENABLE_GLBEGIN_GLEND_REMOVAL
{
float scale_factor = 1.0;
#if ENABLE_RETINA_GL
diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp
index 94f3a230d2..b65a6147a1 100644
--- a/src/slic3r/GUI/GLCanvas3D.hpp
+++ b/src/slic3r/GUI/GLCanvas3D.hpp
@@ -920,7 +920,11 @@ private:
void _render_bed_for_picking(bool bottom);
void _render_objects(GLVolumeCollection::ERenderType type);
void _render_gcode();
+#if ENABLE_GLBEGIN_GLEND_REMOVAL
void _render_selection();
+#else
+ void _render_selection() const;
+#endif // ENABLE_GLBEGIN_GLEND_REMOVAL
void _render_sequential_clearance();
#if ENABLE_RENDER_SELECTION_CENTER
void _render_selection_center();
diff --git a/src/slic3r/GUI/GLShadersManager.cpp b/src/slic3r/GUI/GLShadersManager.cpp
index 7fc03d4217..38ea91df64 100644
--- a/src/slic3r/GUI/GLShadersManager.cpp
+++ b/src/slic3r/GUI/GLShadersManager.cpp
@@ -33,6 +33,10 @@ std::pair GLShadersManager::init()
bool valid = true;
+#if ENABLE_GLBEGIN_GLEND_REMOVAL
+ // basic shader, used to render selection bbox
+ valid &= append_shader("flat", { "flat.vs", "flat.fs" });
+#endif // ENABLE_GLBEGIN_GLEND_REMOVAL
// used to render bed axes and model, selection hints, gcode sequential view marker model, preview shells, options in gcode preview
valid &= append_shader("gouraud_light", { "gouraud_light.vs", "gouraud_light.fs" });
// used to render printbed
diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp
index fb7fa00f1a..a0b674e27e 100644
--- a/src/slic3r/GUI/GUI.cpp
+++ b/src/slic3r/GUI/GUI.cpp
@@ -143,7 +143,7 @@ void change_opt_value(DynamicPrintConfig& config, const t_config_option_key& opt
config.set_key_value(opt_key, new ConfigOptionString(boost::any_cast(value)));
break;
case coStrings:{
- if (opt_key == "compatible_prints" || opt_key == "compatible_printers") {
+ if (opt_key == "compatible_prints" || opt_key == "compatible_printers" || opt_key == "gcode_substitutions") {
config.option(opt_key)->values =
boost::any_cast>(value);
}
diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp
index 62c143d4ff..56176eaa89 100644
--- a/src/slic3r/GUI/GUI_App.cpp
+++ b/src/slic3r/GUI/GUI_App.cpp
@@ -866,8 +866,8 @@ static boost::optional parse_semver_from_ini(std::string path)
void GUI_App::init_app_config()
{
// Profiles for the alpha are stored into the PrusaSlicer-alpha directory to not mix with the current release.
- SetAppName(SLIC3R_APP_KEY);
-// SetAppName(SLIC3R_APP_KEY "-alpha");
+// SetAppName(SLIC3R_APP_KEY);
+ SetAppName(SLIC3R_APP_KEY "-alpha");
// SetAppName(SLIC3R_APP_KEY "-beta");
// SetAppDisplayName(SLIC3R_APP_NAME);
@@ -1330,21 +1330,21 @@ bool GUI_App::on_init_inner()
{
wxString preferences_item = _L("Restore window position on start");
InfoDialog dialog(nullptr,
- _L("PrusaSlicer is started in save mode"),
- format_wxstr(_L("PrusaSlicer was crashed last time due to \"%1%\".\n"
- "For more information see issues \"%2%\" and \"%3%\"\n\n"
- "To avoid an application crash next time you have to disable\n"
- "\"%4%\" in \"Preferences\""),
+ _L("PrusaSlicer started after a crash"),
+ format_wxstr(_L("PrusaSlicer crashed last time when attempting to set window position.\n"
+ "We are sorry for the inconvenience, it unfortunately happens with certain multiple-monitor setups.\n"
+ "More precise reason for the crash: \"%1%\".\n"
+ "For more information see our GitHub issue tracker: \"%2%\" and \"%3%\"\n\n"
+ "To avoid this problem, consider disabling \"%4%\" in \"Preferences\". "
+ "Otherwise, the application will most likely crash again next time."),
"" + from_u8(crash_reason) + "",
"#2939",
"#5573",
- "" + preferences_item + "")
- + "\n\n" +
- format_wxstr(_L("Note: Enabling of the \"%1%\" will caused an application crash on next start."), preferences_item),
+ "" + preferences_item + ""),
true, wxYES_NO);
dialog.SetButtonLabel(wxID_YES, format_wxstr(_L("Disable \"%1%\""), preferences_item));
- dialog.SetButtonLabel(wxID_NO, format_wxstr(_L("Enable \"%1%\"") , preferences_item));
+ dialog.SetButtonLabel(wxID_NO, format_wxstr(_L("Leave \"%1%\" enabled") , preferences_item));
auto answer = dialog.ShowModal();
if (answer == wxID_YES)
diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp
index 2617ac0cdb..229888bdde 100644
--- a/src/slic3r/GUI/GUI_ObjectList.cpp
+++ b/src/slic3r/GUI/GUI_ObjectList.cpp
@@ -1946,9 +1946,15 @@ void ObjectList::del_texture_from_object(const int obj_idx)
bool ObjectList::del_subobject_from_object(const int obj_idx, const int idx, const int type)
{
assert(idx >= 0);
- if (obj_idx == 1000 || idx<0)
+#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
+ if (m_objects->empty() || int(m_objects->size()) <= obj_idx)
+ // Cannot delete a wipe tower
+ return false;
+#else
+ if (obj_idx == 1000 || idx<0)
// Cannot delete a wipe tower or volume with negative id
return false;
+#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL
ModelObject* object = (*m_objects)[obj_idx];
diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.cpp b/src/slic3r/GUI/GUI_ObjectManipulation.cpp
index 17e5b75a08..46d7ebaa93 100644
--- a/src/slic3r/GUI/GUI_ObjectManipulation.cpp
+++ b/src/slic3r/GUI/GUI_ObjectManipulation.cpp
@@ -1107,9 +1107,14 @@ ManipulationEditor::ManipulationEditor(ObjectManipulation* parent,
{
parent->set_focused_editor(nullptr);
+#if ENABLE_OBJECT_MANIPULATOR_FOCUS
+ // if the widget loosing focus is not a manipulator field, call kill_focus
+ if (dynamic_cast(e.GetWindow()) == nullptr)
+#else
if (!m_enter_pressed)
+#endif // ENABLE_OBJECT_MANIPULATOR_FOCUS
kill_focus(parent);
-
+
e.Skip();
}, this->GetId());
diff --git a/src/slic3r/GUI/OG_CustomCtrl.cpp b/src/slic3r/GUI/OG_CustomCtrl.cpp
index 83537fd54f..400db751aa 100644
--- a/src/slic3r/GUI/OG_CustomCtrl.cpp
+++ b/src/slic3r/GUI/OG_CustomCtrl.cpp
@@ -145,7 +145,7 @@ wxPoint OG_CustomCtrl::get_pos(const Line& line, Field* field_in/* = nullptr*/)
int blinking_button_width = m_bmp_blinking_sz.GetWidth() + m_h_gap;
if (line.widget) {
- h_pos += blinking_button_width;
+ h_pos += (line.has_undo_ui() ? 3 : 1) * blinking_button_width;
for (auto child : line.widget_sizer->GetChildren())
if (child->IsWindow())
@@ -257,22 +257,28 @@ void OG_CustomCtrl::OnMotion(wxMouseEvent& event)
break;
}
- for (size_t opt_idx = 0; opt_idx < line.rects_undo_icon.size(); opt_idx++)
+ size_t undo_icons_cnt = line.rects_undo_icon.size();
+ assert(line.rects_undo_icon.size() == line.rects_undo_to_sys_icon.size());
+
+ const std::vector